Für die Verarbeitung passiver Events wie Logfileinformationen oder SNMP Traps hat NETWAYS ein Tool namens EventDB entwickelt. Der Workshop zeigt in zwei Stunden, wie man damit schnell und einfach alle Arten passiver Informationen in Nagios einbindet und auswertbar macht.
Nagios Conference 2007 | Eventverarbeitung mit Nagios by Michael Streb
1. NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de
http://www.netways.de
Workshop Eventverarbeitung mit NAGIOS
Marius Hein
Michael Streb
2. NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de
http://www.netways.de
Agenda
Einführung
Entstehung der EventDB
Ablösung der bisherigen Systeme
bisher keine einfache Lösung
Konsolidierung verschiedener Systeme
Features & Konzept
eine zentrale Datenbank (MySQL)
– Einfache Archivierung und Verwaltung
Logik in den Adaptern
– Hohe Performance und einfache Architektur
zentrales Frontend
nur ein Checkplugin für NAGIOS
Workshop
Installation
Syslog-NG
SNMPTT
MySQL + Datenbankdump einspielen
SyslogNG2MySQL Daemon
EventDB Viewer
NAGIOS Plugin
DBMiner
Konfiguration
Verknüpfung von Syslog-NG und SyslogNG2MySQL
SNMPTT
MIB`s für SNMPTT
Test der Lösung
Verfeinerung des Konzeptes
DBMiner Vorstellung und Konfiguration
3. NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de
http://www.netways.de
Wie funktioniert die EventDB
4. NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de
http://www.netways.de
Welche Pakete werden benötigt
Aus Paketverwaltung:
Syslog-NG
MySQL Server 5 (mysql-server-5.0)
Apache2 (apache2-mpm-prefork)
PHP5 (libapache2-mod-php5)
PHP5-MySQL (php5-mysql)
Perl-DBI-MySQL (libdbd-mysql-perl)
SNMPD (snmpd)
SNMP (snmp)
Net::SNMP (libnet-snmp-perl)
SNMP Perl (libsnmp-perl)
Config::IniFiles (libconfig-inifiles-perl)
Aus den „Sourcen“
EventDB Datenbankstruktur
EventDB Viewer (index.php)
Syslog Agent (Syslog-NG2MySQL)
SNMPTT
http://sourceforge.net/project/showfiles.php?group_id=51473
5. NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de
http://www.netways.de
Konfiguration MySQL
Engine InnoDB
evtl. Konfigurationsanpassungen notwendig
Bufferpool
Datafiles
Logfiles
usw.
Anlegen der Datenbank
CREATE DATABASE eventdb;
Anlegen der Datenbank Benutzer
GRANT SELECT,INSERT,UPDATE,DELETE ON eventdb.* TO ‚eventdb_rw‘@‘localhost‘
IDENTIFIED BY ‚eventdb_rw‘ ;
Import der Datenbankstruktur
mysql eventdb < eventdb/db/create_tables.sql
7. NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de
http://www.netways.de
Konfiguration Syslog-NG2MySQL
Entpacken des Archivs
Kopieren von eventdb/agenten/syslog-ng/syslog-ng2mysql.pl nach
/usr/local/sbin
Kopieren von eventdb/agenten/syslog-ng/syslog-ng2mysql nach /etc/init.d
Benutzt „start-stop-daemon“ (nicht in eder Distribution enthalten)
evtl. Daemon-Benutzer anpassen
Anpassung der DB Verbindung in /usr/local/sbin/syslog-ng2mysql.pl
$db
$dbhost
$dbuser
$dbpass
$dbtable
9. NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de
http://www.netways.de
Konfiguration SNMPTT
Entpacken des Archivs
Kopieren von snmptt,snmptt.ini,snmpttconvertmib und snmptthandler
snmptt: /usr/sbin
snmptt.init: /etc/snmp
snmpttconvertmib: /usr/sbin
snmptthandler: /usr/sbin
INIT-Script aus /etc/init.d/skeleton erzeugen
Spool Verzeichnis anlegen und dem Daemon Benutzer zuweisen
# mkdir /var/spool/snmptt
# chown nagios.nagios /var/spool/snmptt
10. NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de
http://www.netways.de
Konfiguration snmptt.ini
mode = daemon
net_snmp_perl_enable = 1
mibs_environment = ALL (nur wenn alle MIB`s fehlerfrei sind)
daemon_uid = nagios
Logging für die Testphase aktivieren
Log_enable = 1
Log_file = xyz
Wichtig: vorher mittels touch anlegen und dem Daemon Benutzer zuweisen
unknown_trap_log_enable = 1
unknown_trap_log_file = xyz
Wichtig: vorher mittels touch anlegen und dem Daemon Benutzer zuweisen
syslog_enable = 1
syslog_level setzen
snmptt_conf_files anpassen
11. NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de
http://www.netways.de
Konfiguration SNMPD
SNMPTrapd aktivieren (/etc/default/snmpd)
Trapd Option „-On“ aktivieren
nur Numerische OID`s an SNMPTT übergeben
Aktivieriung des snmptthandlers in snmptrapd.conf
traphandle default /usr/sbin/snmptthandler
12. NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de
http://www.netways.de
SNMPTT MIB File anlegen
/etc/snmp/snmptt.conf
EVENT testtrap .1.3.6.1.6.3.0.1 "Status Events" Normal
FORMAT Testtrap from Device ($*)
SDESC
Testtrap from device
EDESC
Sehr gute Doku unter http://www.snmptt.org
Hersteller MIB`s können mittels snmpttconvertmib konvertiert werden
nicht immer eine leichte Aufgabe :)
15. NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de
http://www.netways.de
NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de
Agenda
Einleitung
Was ist der DBMiner
Was macht der DBMiner
Installation
Kopieren der Dateien
Installieren benötigter Perl Module
Konfiguration
Vorstellung des Szenarios
Datenbank, Verbindungen vorbereiten (Datenbanken, Benutzer, Berechtigungen)
Daemon vorbereiten (Benutzer, Berechtigungen, Logging)
Aktionen und Regeln definieren
Starten
16. NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de
http://www.netways.de
Was ist der DBMiner
Der DBMiner ist ein Daemon, geschrieben in PERL
Benutzt Nagios ähnliche Syntax und Templating
Pollt aktiv Events für die Verarbeitung
Schafft eine Verbindung zwischen verschiedenen Datenbanken
Regeln und Aktionen in PERL geschrieben (Module)
Arbeitet Seriell die Aktionen ab
NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de
17. NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de
http://www.netways.de
Was macht der DBMiner
Fasst verschiedene Eventdatenbanken zusammen
Vergleicht Events anhand von Regelwerken (wichtig / unwichtig)
Löscht oder deaktiviert Events um Datenmengen gering zu halten
Kumuliert gleichartige Events anhand von verschiedener Kriterien
Pro Durchlauf (alle n Sekunden)
Gespeicherter Event ändert sich (Cache)
Ändert Werte oder fügt neue hinzu
Startet externe Tools
NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de