monitor - percona.com $ ssh [email protected] -p 2222 -o preferredauthentications=password windows: ...

84
Monitor with the Stack Philipp Krenn @xeraa 1

Upload: voanh

Post on 07-Mar-2018

235 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Monitor with the Stack

Philipp Krenn�����@xeraa

1

Page 2: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Infrastructure | Developer Advocate

2

Page 3: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Disclaimer

This is not a traininghttps://www.elastic.co/training

3

Page 4: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Who Is UsingElasticsearch

Logstash and KibanaBeats

4

Page 5: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

5

Page 6: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

6

Page 7: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

7

Page 8: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Starting Pointhttps://github.com/xeraa/mongodb-monitoring

8

Page 9: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

USB Sticks

9

Page 10: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

BoxVagrant Ansible Provisioner

10

Page 11: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Credentialsvagrant & vagrant

11

Page 12: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

SSH$ ssh [email protected] -p 2222 -o PreferredAuthentications=password

Windows: http://www.putty.org

12

Page 13: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Ansible

$ cd /elastic-stack/$ ls

13

Page 14: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

14

Page 15: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

REST

$ curl -XGET -u "elastic:changeme" http://localhost:9200/

15

Page 16: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

16

Page 17: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Loginhttp://localhost:5601elastic & changeme

17

Page 18: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

18

Page 19: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Filebeat

19

Page 20: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Filebeat Modules

20

Page 21: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

System Dashboards

21

Page 22: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

22

Page 23: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

MongoDB Logs/var/log/mongodb/mongod.log

23

Page 24: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

/etc/filebeat/filebeat.yml

filebeat.prospectors:- input_type: log paths: - /var/log/mongodb/mongod.log document_type: mongodb

24

Page 25: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

PS: Multiline Logs

25

Page 26: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

/etc/filebeat/filebeat.yml

filebeat.prospectors:

- input_type: log paths: - /var/log/java-app/*.log document_type: java multiline.pattern: '^[[:space:]]' multiline.negate: false multiline.match: after

26

Page 27: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Test

$ java -jar /opt/pocdriver/bin/POCDriver.jar -k 20 -i 10 -u 10 -b 20

27

Page 28: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Kibana DiscoverLimit Kibana view to the mongodb type

28

Page 29: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

29

Page 31: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

MongoDB Patternshttps://github.com/logstash-plugins/logstash-patterns-

core/blob/master/patterns/mongodb

31

Page 32: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Building PatternsGrokdebug in Kibana 5.5+ (X-Pack Basic)

https://grokdebug.herokuapp.com

32

Page 33: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

33

Page 34: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

/etc/filebeat/filebeat.yml

output.elasticsearch: hosts: ["localhost:9200"] username: "{{ elastic_user }}" password: "{{ elastic_password }}" pipeline: "mongodb_log"

34

Page 35: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

ConsolePattern in a single line

PUT _ingest/pipeline/mongodb_log{ "description": "Ingest pipeline for MongoDB logs", "processors": [ { "grok": { "field": "message", "patterns": [ "%{TIMESTAMP_ISO8601:timestamp}%{SPACE}%{MONGO3_SEVERITY:mongodb.severity} %{SPACE}%{MONGO3_COMPONENT:mongodb.component}%{SPACE} (?:[%{DATA:mongodb.context}])?%{SPACE}%{GREEDYDATA:message}" ] } } ]}

35

Page 36: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Filebeat Restart$ sudo service filebeat restart

36

Page 37: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Test

$ java -jar /opt/pocdriver/bin/POCDriver.jar -k 20 -i 10 -u 10 -b 20

37

Page 38: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Refresh Field ListManagement → Index Patterns → filebeat-* → Refresh

field list

38

Page 39: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Visualizemongodb.component of log events

39

Page 40: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

40

Page 41: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

41

Page 42: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Fetch the Slow Log

42

Page 43: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

/etc/logstash/conf.d/00-mongodb-input.conf

input { mongodb { uri => 'mongodb://127.0.0.1:27017/POCDB' placeholder_db_dir => '/var/local/logstash-mongodb/' collection => 'system.profile' batch_size => 500 generateId => true }}

43

Page 44: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

/etc/logstash/conf.d/20-elasticsearch-output.conf

output { elasticsearch { hosts => ["localhost:9200"] manage_template => false index => "mongodb-%{+YYYY.MM.dd}" document_type => "slowlog" user => "{{ elastic_user }}" password => "{{ elastic_password }}" }}

44

Page 45: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Logstash Restart$ sudo service logstash restart

45

Page 46: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Debug Logstash

$ less /var/log/logstash/logstash-plain.log

46

Page 47: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Doesn't WorkGetting data from system collections

https://github.com/phutchins/logstash-input-mongodb/issues/8

47

Page 48: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Extension IdeaBuild an exec filter to run slow queries against

MongoDB's .explain()

48

Page 49: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Metricbeat

49

Page 50: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Metricbeat System

50

Page 51: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Metricbeat Service

51

Page 52: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

/etc/metricbeat/metricbeat.yml

- module: mongodb metricsets: ["dbstats", "status"] hosts: ["localhost:27017"]

52

Page 53: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Metricbeat Restart$ sudo service metricbeat restart

53

Page 54: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Test

$ java -jar /opt/pocdriver/bin/POCDriver.jar -k 20 -i 10 -u 10 -b 20

54

Page 55: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

55

Page 56: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Visual Buildermongodb.status.network.in.bytes vs mongodb.status.network.out.bytes

56

Page 57: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

57

Page 58: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Packetbeat

58

Page 59: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Protocols

59

Page 60: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

FlowsApplication layer: Unsupported / encrypted (TLS) protocols

IP / TCP / UDPNumber of packets & bytes

RetransmissionsTemporal flow

60

Page 61: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

/etc/packetbeat/packetbeat.yml

packetbeat.protocols.mongodb: ports: [27017]

61

Page 62: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Packetbeat Restart$ sudo service packetbeat restart

62

Page 63: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Test

$ java -jar /opt/pocdriver/bin/POCDriver.jar -k 20 -i 10 -u 10 -b 20

63

Page 64: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

64

Page 65: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Heartbeat

65

Page 66: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

HeartbeatICMP, TCP, HTTP, HTTPS

66

Page 67: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

/etc/heartbeat/heartbeat.yml

heartbeat.monitors:- type: tcp hosts: ["127.0.0.1:27017"] schedule: '@every 10s'

67

Page 68: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Heartbeat Restart$ sudo service heartbeat restart

68

Page 69: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Test

$ sudo service mongod stop$ sudo service mongod start

69

Page 70: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

VisualizeUp or down and TCP response times

70

Page 71: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

71

Page 72: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

72

Page 73: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

DashboardCombining visualizations

73

Page 74: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

74

Page 75: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Winlogbeat

75

Page 76: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

libbeathttps://github.com/elastic/beats/tree/master/generate/beat

76

Page 77: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

77

Page 78: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

X-PackSecurityMonitoringGraph

ReportingAlerting

Machine Learning

78

Page 79: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

X-Pack Basic

79

Page 80: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Conclusion

80

Page 81: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

81

Page 82: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

82

Page 83: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

83

Page 84: Monitor - percona.com $ ssh vagrant@127.0.0.1 -p 2222 -o PreferredAuthentications=password Windows:  12

Thanks!

Questions?Philipp Krenn�����@xeraa

84