Workshop Eventverarbeitung mit NAGIOS · Syslog-NG SNMPTT MySQL + Datenbankdump einspielen...

Preview:

Citation preview

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de

http://www.netways.de

Workshop Eventverarbeitung mit NAGIOS

Marius HeinMichael Streb

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de

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

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de

http://www.netways.de

Wie funktioniert die EventDB

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

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

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de

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

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de

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

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

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de

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

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 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

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de

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

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“ aktivierennur Numerische OID`s an SNMPTT übergeben

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

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" 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 :)

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de

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

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

NETWAYS DBMiner

Eventverarbeitung mit Nagios

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

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

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

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 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 info@netways.de

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de

http://www.netways.de

Funktionsweise (1/2)

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de

Events1 Events2 Eventskumuliert

DBMiner

Cache

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de

http://www.netways.de

Funktionsweise (2/2)

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de

Eventskumuliert

Viewer (Typo3)

Viewer (NAGIOS)

check_events (NAGIOS)

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de

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 info@netways.de

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de

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 info@netways.de

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de

http://www.netways.de

Konfiguration Daemon

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de

http://www.netways.de

Konfiguration Regeln und Aktionen

Verbindungen

Abfragen

Regeln

Aktionen

Templates

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de

NETWAYS GmbH Deutschherrnstr. 47a 90429 Nürnberg Tel: 0911/92885-0 info@netways.de

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 info@netways.de

Recommended