Nagios und EventHandler via NRPE

Bei meiner VM auf der dieser Blog laeuft ist in den letzten Tage oefter mal MySQL abgestuerzt. Das ist ziemlich aergerlich da dann der Blog und einige andere Dinge auch nicht mehr funktionieren. Da ich nur eingeschraenkt vor dem Rechner sitze und es ueber mein Handy sehr umstaendlich ist mittels MidpSSH sich einzuloggen und den Dienst neuzustarten, hab ich mich kurz mit den EventHandlern bei Nagios auseinandergesetzt und im folgenden eine kurze Anleitung was ich gemacht habe:

Lesen: das und das und viele andere Dinge bis ich schliesslich bei dem Artikel „Event Handlers heute mal dynamisch“ (PDF) von RomanK im Nagios-Portal Forum gelandet bin.

Alle im folgenden hier genannten Skripte sind nicht mein Werk, sondern stammen aus besagtem Artikel und wurden von mir auf die Debian-Verhaeltnisse meines Servers und auf meine Problematik angepasst.

Definition des Befehls in der /etc/nagios3/commands.cfg:

define command{
	command_name	do_event
	command_line	/usr/lib/nagios/libexec/event/run_command  $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ $HOSTADDRESS$ $ARG1$
	}

Das Skript run_command in dem Ordner /usr/lib/nagios/libexec/event/ ablegen:

#!/bin/bash
case "$1" in
 
OK)
	;;
 
WARNING)
	;;
 
UNKNOWN)
	;;
 
CRITICAL)
 
	case "$2" in
	SOFT)
 
		case "$3" in
 
		3)
		echo -n "Restarting Service (3rd soft critical state)..."
		/usr/lib/nagios/plugins/check_nrpe -H "$4" -c "$5"
			;;
			esac
		;;
	HARD)
		echo -n "Restarting Service..."
		/usr/lib/nagios/plugins/check_nrpe -H "$4" -c "$5"
		;;
	esac
	;;
esac
exit 0

Auf dieser VM habe ich dann zwei neue NRPE-Checks in der /etc/nagios/nrpe_local.cfg eingerichtet, einen zum ueberpruefen ob MySQL laeuft, und einen der als Event Handler ausgefuehrt wird:

command[check_mysql]=sudo /usr/lib/nagios/plugins/check_mysql
command[restart_mysqld]=sudo /etc/init.d/mysql restart

und die dafuer erforderlichen Eintraege in der /etc/sudoers:

nagios     pregos =  NOPASSWD: /usr/lib/nagios/plugins/check_mysql
nagios     pregos =  NOPASSWD: /etc/init.d/mysql

Nun auf dem Nagios-Server den Servicecheck mit entsprechendem Event Handler definieren:

define service{
        use                             jan-service
        host_name                       pregos.info
        service_description             MySQL
        max_check_attempts              4
        event_handler                   do_event!restart_mysqld
        check_command                   check_nrpe_1arg!check_mysql
        }
}

Nun kann man noch ueberpruefen ob das ganze funktioniert, indem man einfach den MySQL-Dienst beendet und per Webinterface einige male hintereinander den Servicecheck manuell anstoesst.
Wenn man an der max_check_attempts in der config was aendern will, muessen natuerlich auch evtl. Aenderungen in der run_command bei der case-Anweisung gemacht werden.

Phorm – Opt-Out fuer Websitebetreiber!

Phorm finde ich so ziemlich das perverste was die IT-Welt seit langem hervorgebracht hat. In einem Satz zusammengefasst:  Der Internettraffic wird auf seitens des Internetproviders analysiert und entsprechende personalisierte Werbung geschaltet. Noch viel schlimmer finde ich, dass das System „Opt-Out“ und nicht „Opt-In“ ist. Der Unterschied ist folgender: Opt-Out bedeutet, dass ich automatisch teilnehme, nur wenn ich wiederspruch einlege werde ich ausgenommen. Opt-In ist genau andersrum, ich nehme erst teil, wenn ich dem ganzen explizit zustimme.

Ich wohne nicht in Grossbritanien und kann deswegen leider meinen Opt-Out gegenueber dem Provider nicht bekannt geben, aber mir gehoeren Domains, und weil Amazon und Wikipedia einspruch eingelegt haben, dass deren Domains zur Trafficanalyse herangezogen werden, hab ich mir gedacht, das ich das auch kann. Ich habe zwar so gut wie keine Besucher aus Grossbritanien, aber es geht mir hier ums Prinzip. Von daher auf Basis dieser Mail der Wikipedia nun meine:

Date: Fri, 17 Apr 2009 11:19:46 +0200
From: =?ISO-8859-15?Q?Jan_T=F6njes?= <jan.toenjes@web.de>
To: website-exclusion@webwise.com
Subject: Phorm opt-out for my domains

To whom it may concern --

I requests that my web sites and all related domains be excluded from
scanning by the Phorm / BT Webwise system, as I consider the scanning
and profiling of our visitors' behavior by a third party to be an
infringement on their privacy.

Here is a list of our domains which should be excluded (please exclude
any and all subdomains as well):

   pregos.info
   kmess.org
   jan-toenjes.de

Thank you for your time.

Jan Toenjes

Genau wie Wikipedia habe ich auch gleich eine automatische Antwort erhalten:

Subject: Publisher Exclusion Request Autoreply
Date: Fri, 17 Apr 2009 02:20:05 -0700
Thread-Topic: Phorm opt-out for my domains
From: "website-exclusion" <website-exclusion@phorm.com>
To: =?us-ascii?Q?Jan_Tonjes?= <jan.toenjes@web.de>
Sender: website-exclusion@phorm.com

Thank you for your submission to the Phorm website exclusion list. If
there are no obvious grounds to doubt the legitimacy of the request the
URL will be blocked as soon as possible, usually within 48 hours.

Requests must be made by the legitimate owner of the domain. If we have
questions regarding your domain Phorm may take a number of steps,
including attempting to contact the domain administrator by email for
confirmation of this request. If the request remains questionable and is
not confirmed within 10 days, the URL will be removed from the exclusion
list and an email will be sent informing you of this decision.

Where applicable, please ensure that the Administrative Contact details
for this domain are up to date. If you need to update them, please
resubmit your request when the amended details are visible in the WhoIs
database - (use a public whois service such as
http://who.godaddy.com/whoischeck.aspx if you are unsure it has been
updated)

Wichtig ist wohl, dass die Mailadresse von der die Opt-Out Mail geschickt wird, gleich den Kontaktdaten im DNS entspricht.