Posts Tagged ‘Monitoring’

Montag, 20. März 2017

UniFi Controller erkennen automatisch unerlaubte WiFi Access Points

Als ich gestern mit meinem TP-LINK TL-MR3020 am herumspielen war, tauchte plötzlich folgende E-Mail-Nachricht in meiner INBOX auf:

Ein Feature, von dem ich nicht wusste, dass es existiert. Nett. Umkehrschluss: Da der UniFi Controller das erste Mal ausgeschlagen hat, hatte ich noch nie einen „Rogue Access Point“ im Netz.

PS: Und ja, bevor jemand fragt: Die Konfigurationsoption für den Domain-Namen des Systems habe ich mittlerweile auch entdeckt und der Realität angepasst …

Tags: , , , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Samstag, 5. Juli 2014

E-Mail bei Verwendung von sudo

Auch das ist dank Google und dem Internet ein äusserst simples Unterfangen:

# visudo

In der Konfigurationsdatei fügt man unterhalb der bestehenden Default-Einträge folgende Zeilen ein:

...
Defaults mail_always
Defaults mailerpath=/usr/sbin/sendmail
Defaults mailto="logger@domain.tld"
Defaults mailsub="*** Command run via sudo on %h ***"
Defaults mailerflags="-t"
...

Quelle: Email notification everytime users run “sudo” on Linux

Tags: , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Samstag, 5. Juli 2014

E-Mail bei (erfolgreichem) SSH-Login

Dank Google und dem Internet war dieses unterfangen in einer Minute erledigt:

/etc/pam.d/sshd

Am Ende der Datei (die ich weder kannte und deren Inhalt ich nicht verstehe) fügte ich folgende Zeile ein:

...
session optional pam_exec.so seteuid /usr/local/bin/ssh-login-notify.sh

/usr/local/bin/ssh-login-notify.sh

Auch mailx kannte ich nicht, bisher habe ich immer mail verwendet (Erläuterungen zum Unterschied) — diese Ubuntu-Benutzer sind am „bleeding edge“ unterwegs!

#!/bin/sh
EMAILTO="logger@domain.tld"

if [ "$PAM_TYPE" != "close_session" ]; then
HOST="`hostname`"
SUBJECT="SSH Login: $PAM_USER from $PAM_RHOST on $HOST"
MESSAGE="`env`"

echo "$MESSAGE" | mailx -s "$SUBJECT" "$EMAILTO" &
fi

Quelle: How do I set up an email alert when a ssh login is successful?

Tags: , , , , , , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Montag, 4. November 2013

MySQL-Parameter mit Perconas Monitoring Plugins in Cacti überwachen

Wer seine MySQL-Installation mit Cacti überwachen möchte, sei Perconas Monitoring Plugins empfohlen. Die Datei (zum Zeitpunkt des Verfassens dieses Artikels war 1.0.5 aktuell) lädt man sich im Download-Bereich des Anbieters herunter.

$ cd /tmp
$ wget http://www.percona.com/redir/downloads/percona-monitoring-plugins/LATEST/percona-monitoring-plugins-1.0.5.tar.gz

Anschliessend entpackt man das Archiv:

$ tar xvzf percona-monitoring-plugins-1.0.5.tar.gz

Danach wechselt man in das cacti-Unterverzeichnis …

$ cd /tmp/percona-monitoring-plugins-1.0.5/cacti

… wo man folgenden Befehl ausführt:

cp -R . /var/www/cacti/

Dies kopiert alle nötigen Dateien (sprich: das ss_get_mysql_stats.php-Script) in das cacti-Root.

Anschliessend erstellt man sich unter MySQL einen Benutzer, welchen das Percona-Script verwenden wird, um die Parameter auszulesen:

GRANT SUPER, PROCESS ON *.* TO 'mysqlmon'@'localhost' IDENTIFIED BY "sikrit";
FLUSH PRIVILEGES;

Die Zugangsdaten erfasst man nun auch noch im Script ss_get_mysql_stats.php.

Anschliessend importiert man das XML-Template mit dem Namen cacti_host_template_percona_mysql_server_ht_0.8.6i-sver1.0.5.xml in cacti — dies geschieht über den Menupunkt Import Templates.

Zu guter letzt richte man sich einen neuen Host ein, gibt in das Adressfeld localhost ein und weist dem Host den Typ Percona MySQL Server HT zu. Anschliessend kann man die Graphen generieren.

Debugging

Bei Problemen hilft es, im Script folgende Zeile anzupassen …

...
$debug = TRUE;
...

… und die Kommandozeile, wie sie im cacti-Log auftaucht, in einer interaktiven Shell auszuführen.

ERROR 2013 (HY000): Lost connection to MySQL server at ‚reading initial communication packet‘, system error: 0

Diesem Fehler stand ich zu Beginn gegenüber. Folgende drei Massnahmen lösten das Problem schlussendlich:

  • In /etc/mysql/my.cnf muss die Zeile mit bind-address = ... auskommentiert und der MySQL-Server neu gestartet werden.
  • Dem MySQL-Benutzer mysqlmon muss in der Tabelle user in der Datenbank im Feld Host localhost eingetragen werden.
  • MySQL muss über localhost und nicht über 127.0.0.1 angesprochen werden.

RRD-Dateien werden nicht aktualisiert …

… obwohl das cacti-Log aufzeigt, dass das PHP-Script Werte zurückliefert? Nach einem Debug-Spagat hatte ich die Lösung gefunden. Im cacti-Log las ich etwas in der Form:

...
/usr/bin/rrdtool update /var/www/cacti/rra/mysql_sort_rows_999.rrd --template Sort_merge_passes:Sort_range:Sort_rows:Sort_scan 1383591127:0:522:13426:951
...

Ich führte den Befehl auf der Kommandozeile aus und sah mich mit folgender Fehlermeldung konfrontiert:

ERROR: /var/www/cacti/rra/mysql_sort_rows_999.rrd: illegal attempt to update using time 1383591127 when last update time is 1383594548 (minimum one second step)

Den Unix-Timestamp 1383590086 konvertierte ich mit Bordmitteln in ein lesbares Kalenderdatum und stellte fest, dass die Uhrzeit eine Stunde zurück lag. Ich hatte es also mit einem ganz klassischen Zeitzonen-Problem zu tun!

Um sicher zu gehen, startete ich in eine interaktive PHP-Session:

$ php -a
Interactive mode enabled

php > date_default_timezone_get();
PHP Warning:  date_default_timezone_get(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in php shell code on line 1
PHP Stack trace:
PHP   1. {main}() php shell code:0
PHP   2. date_default_timezone_get() php shell code:1
php > 

Voila! Nachdem ich in der Datei /etc/php5/cli/php.ini folgende Information eingefügt hatte …

...
date.timezone = Europe/Zurich
...

… klappte es plötzlich mit den Updates.

Tags: , , , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Montag, 23. Februar 2009

Mit Cacti SNMP-fähige Netzwerkdrucker abfragen

Auf der Arbeit verwende ich cacti nicht nur, um Kennwerte von Linux-, Mac OS X- und Windows-Servern abzufragen und zu speichern (Prozessorauslastung, Festplattenplatz etc.), sondern frage damit auch SNMP-fähige Drucker ab.

Meistens handelt es sich dabei um netzwerkfähige HP (Color) Laserjets, doch auch Drucker anderer Hersteller liefern per SNMP die drei grundlegenden Parameter Page Count und Page Output. Wenn man Glück hat, kann per SNMP sogar der Tonerstand graphisch ausgewertet werden.

Die dafür nötigen Templates habe ich aus verschiedenen Quellen zusammengestibitzt und veröffentliche diese in diesem Blog-Artikel als ZIP-Datei:

cacti-snmp-printer-templates.zip

Die Templates importiert man über die cacti-Administrationsoberfläche unter dem Menupunkt Import Templates. Anschliessend erfasst man die Hosts und weist diesen die Templates dann manuell zu, oder baut sich ein Host Template bestehend aus den drei Templates zusammen.

Tags: , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen