24
NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected] http://www.netways.de Workshop Eventverarbeitung mit NAGIOS Marius Hein Michael Streb

Workshop Eventverarbeitung mit NAGIOS · Syslog-NG SNMPTT MySQL + Datenbankdump einspielen SyslogNG2MySQL Daemon EventDB Viewer NAGIOS Plugin DBMiner Konfiguration Verknüpfung von

Embed Size (px)

Citation preview

Page 1: Workshop Eventverarbeitung mit NAGIOS · Syslog-NG SNMPTT MySQL + Datenbankdump einspielen SyslogNG2MySQL Daemon EventDB Viewer NAGIOS Plugin DBMiner Konfiguration Verknüpfung von

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

http://www.netways.de

Workshop Eventverarbeitung mit NAGIOS

Marius HeinMichael Streb

Page 2: Workshop Eventverarbeitung mit NAGIOS · Syslog-NG SNMPTT MySQL + Datenbankdump einspielen SyslogNG2MySQL Daemon EventDB Viewer NAGIOS Plugin DBMiner Konfiguration Verknüpfung von

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

http://www.netways.de

Agenda

EinführungEntstehung der EventDB

Ablösung der bisherigen Systemebisher keine einfache LösungKonsolidierung verschiedener Systeme

Features & Konzepteine zentrale Datenbank (MySQL)

– Einfache Archivierung und VerwaltungLogik in den Adaptern

– Hohe Performance und einfache Architekturzentrales Frontendnur ein Checkplugin für NAGIOS

WorkshopInstallation

Syslog-NGSNMPTTMySQL + Datenbankdump einspielenSyslogNG2MySQL DaemonEventDB ViewerNAGIOS PluginDBMiner

KonfigurationVerknüpfung von Syslog-NG und SyslogNG2MySQLSNMPTTMIB`s für SNMPTTTest der Lösung

Verfeinerung des KonzeptesDBMiner Vorstellung und Konfiguration

Page 3: Workshop Eventverarbeitung mit NAGIOS · Syslog-NG SNMPTT MySQL + Datenbankdump einspielen SyslogNG2MySQL Daemon EventDB Viewer NAGIOS Plugin DBMiner Konfiguration Verknüpfung von

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

http://www.netways.de

Wie funktioniert die EventDB

Page 4: Workshop Eventverarbeitung mit NAGIOS · Syslog-NG SNMPTT MySQL + Datenbankdump einspielen SyslogNG2MySQL Daemon EventDB Viewer NAGIOS Plugin DBMiner Konfiguration Verknüpfung von

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

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 DatenbankstrukturEventDB Viewer (index.php)Syslog Agent (Syslog-NG2MySQL)SNMPTT

http://sourceforge.net/project/showfiles.php?group_id=51473

Page 5: Workshop Eventverarbeitung mit NAGIOS · Syslog-NG SNMPTT MySQL + Datenbankdump einspielen SyslogNG2MySQL Daemon EventDB Viewer NAGIOS Plugin DBMiner Konfiguration Verknüpfung von

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

http://www.netways.de

Konfiguration MySQL

Engine InnoDBevtl. Konfigurationsanpassungen notwendig

BufferpoolDatafilesLogfilesusw.

Anlegen der DatenbankCREATE DATABASE eventdb;

Anlegen der Datenbank BenutzerGRANT SELECT,INSERT,UPDATE,DELETE ON eventdb.* TO ‚eventdb_rw‘@‘localhost‘IDENTIFIED BY ‚eventdb_rw‘ ;

Import der Datenbankstrukturmysql eventdb < eventdb/db/create_tables.sql

Page 6: Workshop Eventverarbeitung mit NAGIOS · Syslog-NG SNMPTT MySQL + Datenbankdump einspielen SyslogNG2MySQL Daemon EventDB Viewer NAGIOS Plugin DBMiner Konfiguration Verknüpfung von

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

http://www.netways.de

Konfiguration Syslog-NG

Pipe anlegen# mkfifo /var/run/syslog-ng.pipe

/etc/syslog-ng/syslog-ng.conf anpassen

neues Zieldestination d_eventdb {

pipe(„/var/run/syslog-ng.pipe“template(„$HOST\t$FACILITY\t$PRIORITY\t$LEVEL\t$TAG\t$YEAR-

$MONTH-$DAY\t$HOUR:$MIN:$SEC\t$PROGRAM\t$MSG\n“)template_escape(yes));

};

zusätzliches Logginglog {

source(s_all);filter(f_at_least_info);destination(d_eventdb);

};

s_all um udp(); erweitern

Page 7: Workshop Eventverarbeitung mit NAGIOS · Syslog-NG SNMPTT MySQL + Datenbankdump einspielen SyslogNG2MySQL Daemon EventDB Viewer NAGIOS Plugin DBMiner Konfiguration Verknüpfung von

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

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.dBenutzt „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

Page 8: Workshop Eventverarbeitung mit NAGIOS · Syslog-NG SNMPTT MySQL + Datenbankdump einspielen SyslogNG2MySQL Daemon EventDB Viewer NAGIOS Plugin DBMiner Konfiguration Verknüpfung von

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

http://www.netways.de

Konfiguration EventDB Viewer

neues Verzeichnis /usr/local/nagios/share/eventdb anlegen

eventdb/webinterface/index.php nach /usr/local/nagios/share/eventdb kopieren

Datenbankparameter in index.php anpassen:db.userdb.passdb.hostdb.name

Webinterface unter http://<hostname|ip>/nagios/eventdb aufrufen

Page 9: Workshop Eventverarbeitung mit NAGIOS · Syslog-NG SNMPTT MySQL + Datenbankdump einspielen SyslogNG2MySQL Daemon EventDB Viewer NAGIOS Plugin DBMiner Konfiguration Verknüpfung von

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

http://www.netways.de

Konfiguration SNMPTT

Entpacken des Archivs

Kopieren von snmptt,snmptt.ini,snmpttconvertmib und snmptthandlersnmptt: /usr/sbinsnmptt.init: /etc/snmpsnmpttconvertmib: /usr/sbinsnmptthandler: /usr/sbinINIT-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

Page 10: Workshop Eventverarbeitung mit NAGIOS · Syslog-NG SNMPTT MySQL + Datenbankdump einspielen SyslogNG2MySQL Daemon EventDB Viewer NAGIOS Plugin DBMiner Konfiguration Verknüpfung von

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

http://www.netways.de

Konfiguration snmptt.ini

mode = daemonnet_snmp_perl_enable = 1mibs_environment = ALL (nur wenn alle MIB`s fehlerfrei sind)daemon_uid = nagios

Logging für die Testphase aktivierenLog_enable = 1Log_file = xyz

Wichtig: vorher mittels touch anlegen und dem Daemon Benutzer zuweisen

unknown_trap_log_enable = 1unknown_trap_log_file = xyz

Wichtig: vorher mittels touch anlegen und dem Daemon Benutzer zuweisen

syslog_enable = 1syslog_level setzensnmptt_conf_files anpassen

Page 11: Workshop Eventverarbeitung mit NAGIOS · Syslog-NG SNMPTT MySQL + Datenbankdump einspielen SyslogNG2MySQL Daemon EventDB Viewer NAGIOS Plugin DBMiner Konfiguration Verknüpfung von

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

http://www.netways.de

Konfiguration SNMPD

SNMPTrapd aktivieren (/etc/default/snmpd)

Trapd Option „-On“ aktivierennur Numerische OID`s an SNMPTT übergeben

Aktivieriung des snmptthandlers in snmptrapd.conftraphandle default /usr/sbin/snmptthandler

Page 12: Workshop Eventverarbeitung mit NAGIOS · Syslog-NG SNMPTT MySQL + Datenbankdump einspielen SyslogNG2MySQL Daemon EventDB Viewer NAGIOS Plugin DBMiner Konfiguration Verknüpfung von

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

http://www.netways.de

SNMPTT MIB File anlegen

/etc/snmp/snmptt.conf

EVENT testtrap .1.3.6.1.6.3.0.1 "Status Events" NormalFORMAT Testtrap from Device ($*)SDESCTesttrap from device EDESC

Sehr gute Doku unter http://www.snmptt.org

Hersteller MIB`s können mittels snmpttconvertmib konvertiert werdennicht immer eine leichte Aufgabe :)

Page 13: Workshop Eventverarbeitung mit NAGIOS · Syslog-NG SNMPTT MySQL + Datenbankdump einspielen SyslogNG2MySQL Daemon EventDB Viewer NAGIOS Plugin DBMiner Konfiguration Verknüpfung von

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

http://www.netways.de

Konfiguration check_eventdb.pl

eventdb/plugin/check_eventdb.pl nach /usr/local/nagios/libexec kopieren

Anpassung von$opt_dbhost$opt_dbuser $opt_dbpasswd

Page 14: Workshop Eventverarbeitung mit NAGIOS · Syslog-NG SNMPTT MySQL + Datenbankdump einspielen SyslogNG2MySQL Daemon EventDB Viewer NAGIOS Plugin DBMiner Konfiguration Verknüpfung von

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

http://www.netways.de

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

NETWAYS DBMiner

Eventverarbeitung mit Nagios

Page 15: Workshop Eventverarbeitung mit NAGIOS · Syslog-NG SNMPTT MySQL + Datenbankdump einspielen SyslogNG2MySQL Daemon EventDB Viewer NAGIOS Plugin DBMiner Konfiguration Verknüpfung von

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

http://www.netways.de

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

Agenda

EinleitungWas ist der DBMinerWas macht der DBMiner

InstallationKopieren der DateienInstallieren benötigter Perl Module

KonfigurationVorstellung des SzenariosDatenbank, Verbindungen vorbereiten (Datenbanken, Benutzer, Berechtigungen)Daemon vorbereiten (Benutzer, Berechtigungen, Logging)Aktionen und Regeln definieren

Starten

Page 16: Workshop Eventverarbeitung mit NAGIOS · Syslog-NG SNMPTT MySQL + Datenbankdump einspielen SyslogNG2MySQL Daemon EventDB Viewer NAGIOS Plugin DBMiner Konfiguration Verknüpfung von

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

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 [email protected]

Page 17: Workshop Eventverarbeitung mit NAGIOS · Syslog-NG SNMPTT MySQL + Datenbankdump einspielen SyslogNG2MySQL Daemon EventDB Viewer NAGIOS Plugin DBMiner Konfiguration Verknüpfung von

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

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 KriterienPro 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 [email protected]

Page 18: Workshop Eventverarbeitung mit NAGIOS · Syslog-NG SNMPTT MySQL + Datenbankdump einspielen SyslogNG2MySQL Daemon EventDB Viewer NAGIOS Plugin DBMiner Konfiguration Verknüpfung von

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

http://www.netways.de

Funktionsweise (1/2)

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

Events1 Events2 Eventskumuliert

DBMiner

Cache

Page 19: Workshop Eventverarbeitung mit NAGIOS · Syslog-NG SNMPTT MySQL + Datenbankdump einspielen SyslogNG2MySQL Daemon EventDB Viewer NAGIOS Plugin DBMiner Konfiguration Verknüpfung von

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

http://www.netways.de

Funktionsweise (2/2)

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

Eventskumuliert

Viewer (Typo3)

Viewer (NAGIOS)

check_events (NAGIOS)

Page 20: Workshop Eventverarbeitung mit NAGIOS · Syslog-NG SNMPTT MySQL + Datenbankdump einspielen SyslogNG2MySQL Daemon EventDB Viewer NAGIOS Plugin DBMiner Konfiguration Verknüpfung von

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

http://www.netways.de

Installation

Kopieren des Paketes in gewünschtes Verzeichnis (/usr/local)

Neuste Version von DBI und DBD::mysql installieren

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

Page 21: Workshop Eventverarbeitung mit NAGIOS · Syslog-NG SNMPTT MySQL + Datenbankdump einspielen SyslogNG2MySQL Daemon EventDB Viewer NAGIOS Plugin DBMiner Konfiguration Verknüpfung von

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

http://www.netways.de

Konfiguration Datenbank

Datenbanken und Benutzer vorbereiten

Datenbanken erstellen

Import der Schemas (Vom Eventviewer)

Erweiterung des Schemas in der Zieldatenbank

Verbindungen konfigurieren

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

Page 22: Workshop Eventverarbeitung mit NAGIOS · Syslog-NG SNMPTT MySQL + Datenbankdump einspielen SyslogNG2MySQL Daemon EventDB Viewer NAGIOS Plugin DBMiner Konfiguration Verknüpfung von

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

http://www.netways.de

Konfiguration Daemon

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

Page 23: Workshop Eventverarbeitung mit NAGIOS · Syslog-NG SNMPTT MySQL + Datenbankdump einspielen SyslogNG2MySQL Daemon EventDB Viewer NAGIOS Plugin DBMiner Konfiguration Verknüpfung von

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

http://www.netways.de

Konfiguration Regeln und Aktionen

Verbindungen

Abfragen

Regeln

Aktionen

Templates

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

Page 24: Workshop Eventverarbeitung mit NAGIOS · Syslog-NG SNMPTT MySQL + Datenbankdump einspielen SyslogNG2MySQL Daemon EventDB Viewer NAGIOS Plugin DBMiner Konfiguration Verknüpfung von

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]

http://www.netways.de

Starten

Starten:

perl –I /usr/local/dbminer/dbminer/lib dbminer.pl –config-path=/usr/local/dbminer/dbminer/cfg [--verbose|--start|--stop|--reload]

Im Daemonmode müssen absolute Pfade angegeben werden.

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 [email protected]