Zabbix

Systeme beobachten und analysieren

Tim Schumacher / @0xAFFE

Inhalte

  • Einführung
  • Komponenten
  • Datenstrukturen
  • Was geht?
  • Installation
  • Demonstration Web Frontend
  • Fragen?

Einführung

Zabbix ist ein System zur Erfassung von Messwerten in definierten Intervallen.

Komponenten

Zabbix Server

  • In C geschrieben.
  • SQL-Datenbank als Datastore.
  • Folgende SQL-Server werden unterstützt:
    • PostgreSQL
    • Oracle
    • IBM DB2
    • SQLite
    • MySQL
  • Kann von sich aus auch einige Werte erfassen.

Zabbix Agent

  • In C geschrieben.
  • Arbeitstier: Erfasst alle Daten und stellt sie dem Zabbix-Server zur Verfügung.
  • Der Agent läuft auf einer breiten Auswahl an Betriebssystemen und Plattformen (u.a. Linux, Windows, BS E D , HP-UX usw.)

Zabbix Proxy

  • In C geschrieben.
  • Wird i.d.R. in lokalen Netzen installiert und dient als Anlaufstelle für den Server.
  • Speichert Werte für den Server zwischen, wenn der Server nicht erreichbar ist.

Web Frontend

  • In PHP geschrieben.
  • Verbindet sich zu Server und Datenbank, um Werte nach außen zu geben.
  • Interfaces in HTML und JSON-RPC.
  • Hierzu zu einem t+n Zeitpunkt noch mehr.

Datenstrukturen

Host Group

Strukturierungshilfe, um verschiedene Hosts zu gruppieren.

Host

Hier kann man die Verbindung zu dem Agent, SNMP, JMX oder IPMI einrichten.

Ist ein Container für alle Trigger, Templates und Items.

Template

Ist ein Container für Trigger und Items.

Kann auf mehrere Hosts angewendet werden.

Item

Ist ein Gegenstand für den Messpunkte erhoben werden.

Kann vom Typ numerisch (Fließkomma oder Ganzzahl), Zeichen, Log (Logeinträge aus Syslog etc.) oder Text sein.

Trigger

Ein Schwellenwert, der Actions auslösen kann.

Hier können einfache Größer- oder Kleiner-Operationen angewendet werden oder auch Mittelwerte über Zeiträume gebildet werden und darauf dann Größer- oder Kleiner-Operationen angewendet werden.

Actions

Durch Trigger können Actions ausgelöst werden.

Die am meisten verwendete Action ist das Versenden einer E-Mail.

Man kann aber auch Dienste neustarten oder beliebige Aktionen durchführen.

Was geht?

Ziemlich viel ;-)

Die üblichen Verdächtigen

Die üblichen Verdächtigen

SSL Zertifikatsablauf

Temperatur messen

Bitcoin Kurs

Man könnte auch automagisch Traden, wenn man zu viel Geld hat ;-)

Installation

apt-get install zabbix-server zabbix-agent ;-)

Alternativ kann man den Agent auch selber compilieren oder ein precompiliertes Paket verwenden.

Agent Registration

3 Methoden:

  • Zabbix Server sucht nach Agents im Netzwerk.
  • Zabbix Agents melden sich beim Server an.
  • Man trägt den Agent per Hand im Server ein.

Demonstration Web Frontend

Fragen?