Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Überwache deine Container

Überwache deine Container

Container sowie Orchestrieungssysteme wie Kubernetes werden gerade das bevorzugte Werkzeug, um Microservices zu betreiben. Während sie beim Deployment und der Isolation von Services vieles erleichtern, erzeugen Container zusätzliche Herausforderungen für Logging und Monitoring.

Eine beliebte Lösung ist der Elastic Stack, der aus Elasticsearch, Logstash, Kibana und Beats besteht. Dieser Vortag gibt einen Überblick über den Elastic Stack und konzentriert sich dann besonders auf Beats, die leichtgewichtigen Shipper, die Logs und Metriken von Containern auslesen.

Dabei gehen wir speziell auf die Fragen ein, wie man:
* Logs von Containern mit Filebeat ausliest
* Metriken mit Metricbeat einsammelt
* den Netzwerkverkehr zwischen Containern mit Packetbeat überwacht
* automatisch Metadaten von Docker-Containern findet
* die ausgelesenen Daten in Kibana visualisieren kann

Philipp Krenn

November 16, 2016
Tweet

More Decks by Philipp Krenn

Other Decks in Programming

Transcript

  1. 001 JSON-File Filebeat für JSON ➕ Simpel, Standard, gut integriert

    Metadata (Name, Labels,...) docker logs ➖ Potentiell langsam Standardmäßig Dateigröße unlimitiert
  2. 010 Syslog Lokaler Syslog Server und Filebeat ➕ Kontrolle über

    Pfad, Rotation,... ➖ Eigener Syslog Server Metadaten serialisiert und deserialisiert Multiline
  3. 011 Journald Filebeat ➕ Oft verfügbar Metadaten docker logs ➖

    Noch nicht von Filebeat unterstützt (Community Beat: Journalbeat)
  4. Flows Nicht unterstützte / verschlüsselte (TLS) Protokolle auf Applikations-Layer IP

    / TCP / UDP Anzahl Pakete & Bytes Retransmissions Zeitliche Abläufe
  5. Nagioscheckbeat input: checks: - name: "disks" cmd: "plugins/check_disk" args: "-w

    80 -c 90 -x /dev" period: "1h" - name: "load" cmd: "plugins/check_load" args: "-w 5 -c 10" period: "1m"
  6. --- version: '2' services: kibana: image: docker.elastic.co/kibana/kibana:5.0.1 links: - elasticsearch

    ports: - 5601:5601 elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:5.0.1 cap_add: - IPC_LOCK volumes: - esdata1:/usr/share/elasticsearch/data ports: - 9200:9200 volumes: esdata1: driver: local