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

SysDig Metriken zentralisieren

Apr 13, 2017

Download

Software

inovex GmbH
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SysDig Metriken zentralisieren

SysDig Metriken zentralisieren

Brownbag

Alexander Köhler Karlsruhe, 18.11.16

Page 2: SysDig Metriken zentralisieren

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

3

Sysdighttp://www.sysdig.org/

• Auf mehren Systemen?

Afakeit is :-)

Page 4: SysDig Metriken zentralisieren

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

5

Sysdig

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

Page 6: SysDig Metriken zentralisieren

6

Sysdig Events zentralisierenIdee: Sysdig Events per ELK auswertbar machen

Page 7: SysDig Metriken zentralisieren

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

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

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

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

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

Vielen Dank

Alexander Köhler

DevOps Engineer Linux

inovex GmbH

Ludwig-Erhard-Allee 6

76131 Karlsruhe

[email protected]

0173 3181 034