SysDig Metriken zentralisieren - inovex...Sysdig Events zentralisieren Idee: Sysdig Events per ELK...

12
SysDig Metriken zentralisieren Brownbag Alexander Köhler Karlsruhe, 18.11.16

Transcript of SysDig Metriken zentralisieren - inovex...Sysdig Events zentralisieren Idee: Sysdig Events per ELK...

Page 1: SysDig Metriken zentralisieren - inovex...Sysdig Events zentralisieren Idee: Sysdig Events per ELK auswertbar machen. 7 Basics Demo ... • Metriken erfassen • Nachteil: • sysdig

SysDig Metriken zentralisieren

Brownbag

Alexander Köhler Karlsruhe, 18.11.16

Page 2: SysDig Metriken zentralisieren - inovex...Sysdig Events zentralisieren Idee: Sysdig Events per ELK auswertbar machen. 7 Basics Demo ... • Metriken erfassen • Nachteil: • sysdig

2

Sysdighttp://www.sysdig.org/

• Sysdig = “strace + tcpdump + htop + iftop + lsof + transaction tracing + awesome sauce“

• Lokal auf einem System: csysdig

• Es gibt Repos für viele Linux-Major-Distributionen:

• Jeweils ab Rhel6 ff, Centos6 ff., Debian6 ff., Ubuntu 10.04 ff

Page 3: SysDig Metriken zentralisieren - inovex...Sysdig Events zentralisieren Idee: Sysdig Events per ELK auswertbar machen. 7 Basics Demo ... • Metriken erfassen • Nachteil: • sysdig

3

Sysdighttp://www.sysdig.org/

• Auf mehren Systemen?

Afakeit is :-)

Page 4: SysDig Metriken zentralisieren - inovex...Sysdig Events zentralisieren Idee: Sysdig Events per ELK auswertbar machen. 7 Basics Demo ... • Metriken erfassen • Nachteil: • sysdig

4

Sysdighttps://sysdig.com/

• Oder doch die On-Premise/Cloud Lösung?• Cloud: 20 $ Host/Monat (bei Jahresvertrag) oder 25 $ Host/Monat (Monatlicher

Abrechnung)

• 1Hostdarfmaximal20Containerhosten• On-Premise: Preise nur auf Anfrage.

Page 5: SysDig Metriken zentralisieren - inovex...Sysdig Events zentralisieren Idee: Sysdig Events per ELK auswertbar machen. 7 Basics Demo ... • Metriken erfassen • Nachteil: • sysdig

5

Sysdig

• Mit Sysdig mehrere Systeme analysieren? Also doch mit einem neuen Rudel Monitore?

Page 6: SysDig Metriken zentralisieren - inovex...Sysdig Events zentralisieren Idee: Sysdig Events per ELK auswertbar machen. 7 Basics Demo ... • Metriken erfassen • Nachteil: • sysdig

6

Sysdig Events zentralisierenIdee: Sysdig Events per ELK auswertbar machen

Page 7: SysDig Metriken zentralisieren - inovex...Sysdig Events zentralisieren Idee: Sysdig Events per ELK auswertbar machen. 7 Basics Demo ... • Metriken erfassen • Nachteil: • sysdig

7

BasicsDemo

> sysdig # Infinite scroll

> sysdig –n 10 # Limitierung auf 10 Events

> sysdig -n 10 "not (proc.name = sysdig)" # Capture Filter

> sysdig -n 10 "not (proc.name = sysdig) and not (proc.name = java)“ # Capture Filter kombiniert

Page 8: SysDig Metriken zentralisieren - inovex...Sysdig Events zentralisieren Idee: Sysdig Events per ELK auswertbar machen. 7 Basics Demo ... • Metriken erfassen • Nachteil: • sysdig

8

BasicsSysdig-Events mit Logstash parsen

# Über das STDIN Input Logstash Plugin

> sysdig -n 10 | /opt/logstash/bin/logstash -f /etc/logstash/sysdig-logstash-plain.confgrok { match => { 'message' => "^%{NUMBER:num:int} %{NUMBER:time:float} %{INT:cpu:int} %{NOTSPACE:procname} %{NOTSPACE:tid} (?<direction>[<>]) %{WORD:event} %{DATA:args}$"} }

# Geht das Aufbereiten der Events noch besser?> sysdig -n 10 –j "not (proc.name = sysdig)“ # Output Format JSON

> sysdig -l # Verfügbare Felder

> sysdig -p '{"proc_name":"%proc.name"}‘ # Eigenes JSON-Output Format

Page 9: SysDig Metriken zentralisieren - inovex...Sysdig Events zentralisieren Idee: Sysdig Events per ELK auswertbar machen. 7 Basics Demo ... • Metriken erfassen • Nachteil: • sysdig

9

BasicsSysdig-Events mit Logstash parsen

# Das ganze Bild:input {

stdin { codec => 'json_lines' }

}

output {

stdout { codec => 'json_lines' }

elasticsearch {

hosts => [ ’elasticsearch:9200' ]

index => "sysdig-%{+YYYY.MM.dd}"

}

}

> sysdig -p '{"proc_name":"%proc.name", "evt_category": "%evt.category", "evt_time":"%evt.time","evt_type":"%evt.type","evt_cpu":"%evt.cpu", "evt_args": "%evt.args"}' "not(proc.name = sysdig) and not(proc.name = java)" | /opt/logstash/bin/logstash -f /etc/logstash/sysdig-logstash-json.conf

Page 10: SysDig Metriken zentralisieren - inovex...Sysdig Events zentralisieren Idee: Sysdig Events per ELK auswertbar machen. 7 Basics Demo ... • Metriken erfassen • Nachteil: • sysdig

10

Summary

• Vorgehen einfach• ELK haben

• Voraussetzung Sysdig + Logstash (+ JRE) installieren• Metriken erfassen

• Nachteil:• sysdig ist gesprächig und Logstash (Java) braucht unter Last viele Ressourcen

• Ohne Filter kommen viele Events: 270.000 in 10 Minuten auf einem idlenden System

• Mögliche Optimierungen• Einsatz geeigneter Filter für Sysdig

• Asynchrone Verarbeitung der Events:sysdig > Cache > Logstash

• On-Demand Aktivierung für Deep-Dive Analysen

Page 11: SysDig Metriken zentralisieren - inovex...Sysdig Events zentralisieren Idee: Sysdig Events per ELK auswertbar machen. 7 Basics Demo ... • Metriken erfassen • Nachteil: • sysdig

11

More fancyKleine Beispiel Auswertungen für Sysdig

# Und was ist mit Container?

> sysdig -c lscontainers

> sysdig -pc -A -c echo_fds "fd.ip=172.17.0.2” # more fancy

--> https://sysdig.com/blog/let-light-sysdig-adds-container-visibility/

# User Tracking

> sysdig -pc -c spy_users

Page 12: SysDig Metriken zentralisieren - inovex...Sysdig Events zentralisieren Idee: Sysdig Events per ELK auswertbar machen. 7 Basics Demo ... • Metriken erfassen • Nachteil: • sysdig

Vielen Dank

Alexander Köhler

DevOps Engineer Linux

inovex GmbH

Ludwig-Erhard-Allee 6

76131 Karlsruhe

[email protected]

0173 3181 034