Der eigene Blog als gedrucktes Buch

Ich wollte schon sehr lange meinen eigenen Blog als gedrucktes Buch haben. Darueber habe ich sicherlich die letzten zwei Jahre in irgendeiner Form nachgedacht und rumprobiert. Erst hatte ich mir das wp-print Plugin angeschaut, modifiziert und geguckt ob ich das nicht von Hand drucken kann, oder auch wie sich so das „Blog as PDF-Plugin“ fuer WordPress verhaelt. Alles nicht das wahre…

Gelandet bin ich dann im Endeffekt bei Feedfabrik. Nach der Installation des entsprechenden WordPress-Plugins war das Erstellen der Buecher anschliessend ein Kinderspiel. Die Qualitaet der von mir bestellten Buecher ist sehr gut. Ich habe Hardcover und Farbdruck gewaehlt und es ist sehr gut verarbeitet und wirkt hochwertig. Auch eine Reklamation wegen einer falschen Bindung wurde anstandslos bearbeitet. Mir wurde das Porto fuers Ruecksenden erstattet, ein neues Buch kostenlos zugesendet und ein Gutschein als Entschaedigung geschenkt. So stelle ich mir das vor. Wenn man sich dort ein gedrucktes Buch kauft, bekommt man es als PDF kostenlos.

Was nicht gut geht, ist, der Ausdruck des Quelltextes der mit dem Plugin wp-geshi-highlight hervorgehoben wird. Da das nichts natives von WordPress ist, denke ich aber, dass das zu verkraften ist.

Alles im allem bin ich sehr zufrieden :-)

 

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.