Postfix, Spamassassin, Amavisd und Cacti unter Debian (Teil3)

Die Version des Artikels ist veraltet, zur aktuellen Version >> hier <<

Heute soll es uns darum gehen Cacti an den Start zu bringen. Cacti soll uns den Überblick über unser Filteraufkommen zeigen. Ich setze dabei eine funktionierende Postfix, Amavis und Spamassassin Installation vorraus, sowie einen funktionierenden Apache und MySQL Datenbank.

apt-get install snmpd

Als nächstes richten wir den SNMP Deamon so ein, dass nur lokale Zugriffe erlaubt sind. In /etc/snmp/snmpd.conf ändern wir die Zeile

com2sec    readonly     default            public

in

com2sec    readonly    127.0.0.0/24   public

Des weiteren fügen wir unter dem Abschnitt „System contact information“ ein paar Daten ein.

system.sysContact.0 = „Name des System Admin/Email Adresse“

system.sysName.0 = „Rechner Name und Systembeschreibung“

Damit der snmpd nur auf 127.0.0.1 läuft tragen wir noch

smuxsocket  127.0.0.1

in die /etc/snmp/snmpd.conf nach. Danach wird noch in der folgenden Datei /etc/default/snmpd die Zeile „SNMPDOPTS“ durch den Parameter „udp:127.0.0.1:161“ ergänzt. Der snmpd soll schließlich auch nur auf der lokalen IP lauschen.

SNMPDOPTS=’udp:127.0.0.1:161 -Lsd -Lf /dev/null -p /var/run/snmpd.pid‘

Damit sollte die Konfiguration des snmpd abgeschlossen sein. Jetzt nur noch schnell ein Neustart zum übernehmen der Änderungen.

/etc/init.d/snmpd restart

Zum Schluß können wir das ganze auch schnell mal Testen. Das folgende Kommando sollte diverse Informationen über das System liefern.

snmpwalk -v 2c -c public localhost system

Als nächstes kommen wir zur Installation von Cacti.

Am besten legen wir vorher schon die Datenbank und einen Datenbank Benutzer für Cacti an. (MySQL) Der Datenbanknutzer sollte für die spätere Überwachung von mysql mit dem globalen Recht „PROCESS“ angelegt werden. Bitte Datenbankname, Datenbankuser und Password in die gewünschten Werte ändern.

CREATE DATABASE datenbankname;

GRANT PROCESS ON *.* TO ‚datenbankuser’@’localhost‘ IDENTIFIED BY ‚Password‘;

GRANT SELECT , INSERT , UPDATE , DELETE , CREATE , DROP , INDEX , ALTER ON `datenbankname` . * TO ‚datenbankuser’@’localhost‘;

FLUSH PRIVILEGES;

Einfach Cacti und gleich auch Cactid per apt-get installieren.

apt-get install cacti cactid

Dem Installer geben wir wahrheitsgemäß Auskunft und nach erflogreicher Installation spielen wir die Datenbank ein:

zcat /usr/share/doc/cacti/cacti.sql.gz | mysql -u datenbankuser -p datenbankname

Nun können wir das ganze unter http://hostname/cacti/ bestaunen. Benutzer und Passwort für das erste einloggen ist jeweils „admin“. Nach dem ersten Einloggen, werden wir sofort aufgefordert dies zu ändern.Zum Schluss aktibieren wir noch cactid, da dieser wesentlich performanter läuft. Um cactid zu aktivieren sollte man unter den „Settings“ unter dem Reiter „Paths“ den Pfad zu cactid anpassen… unter Debian /usr/sbin/cactid. Danach unter dem Reiter „Poller“ den „Poller Type“ auf „cactid“ umstellen.

Als nächstes besorgen wir uns von http://forums.cacti.net/download.php?id=4091 das Mailstatistik Paket und installieren dieses wie vorgegeben. Als erstes fügen wir folgende Zeile in die /etc/snmp/snmpd.conf ein:

pass .1.3.6.1.4.1.2021.255 /usr/local/sbin/fetch_mail_statistics.pl \
/var/log/mail.log /var/log/mailstats.db .1.3.6.1.4.1.2021.255

Hierbei bitte aufpassen, dass der User unter dem der SNMP Deamon läuft auch die Leserechte für /var/log/mail.log und Schreibrechte für /var/log/mailstats.db besitzt und die Pfade korrekt angepasst wurden. Eine einfache aber auch sicherheitstechnisch bedenkliche Methode ist, den snmpd unter root zu starten mittels der Angabe „-u root“ in der /etc/default/snmpd.

Nachdem wir SNMP neugestartet haben, prüfen wir mittels

snmpwalk -v 2c -c public localhost .1.3.6.1.4.1.2021.255

ob unsere Konfiguration erfolgreich übernommen wurde. Parallel dazu können wir auch händisch versuchen ob alles korrekt eingerichtet wurde. Unter dem User snmp starten wir dazu das fetch_mail script wie folgt

./fetch_mail_statistics.pl /var/log/mail.log /var/log/mailstats.db .1.3.6.1.4.1.2021.255 -g .1.3.6.1.4.1.2021.255.1

Wenn alles korrekt läuft, sollte das Script eine ähnliche Ausgabe erzeugen:

.1.3.6.1.4.1.2021.255.2

integer

0

Im falle, dass uns

UCD-SNMP-MIB::ucdavis.255 = No Such Instance currently exists at this OID

filter

filter

transport

transport

angezeigt wird, liegt dies wahrscheinlich darin, dass die Scripte keine ausreichenden Rechte haben. Nun importieren wir in Cacti das xml Template und richten die Graphen ein. Entsprechende Ergebnisse sollten so oder so ähnlich aussehen: