Dienstag, 22. März 2011

Nagios Services neu checken

So, meine 2 Wochen Urlaub sind rum. Also vielleicht auch mal wieder Zeit was zu schreiben. Heute morgen bin ich über ein altes Skript gestolpert welches für einen kleinen Post genau das Richtige zu sein scheint.

Wir checken zB den Debian Paketstatus einmal am Tag. Kommen jetzt über Nacht ganz viele dieser Updates, so haben wir für 24 Stunden ein schönes rotes Nagios. Also macht man Updates und rechecked den Service, alleine schon wegen der Übersicht. Aber muss man das von Hand machen? Nö!

#!/bin/bash
# kickrecheck.sh
# by j AT xadmin DOT info

if [ -z "$1" ];
    then
        echo "Please tell me which check to kick by usage: sh kickrecheck.sh <service>"
    else
        for host in `grep 'host_name=' /var/nagios/rw/status.dat | cut -f 2 -d "=" | sort | uniq`
            do
                /usr/bin/printf "[%lu] SCHEDULE_SVC_CHECK;${host};$1;1110741500\n" `date +%s` > /var/nagios/rw/nagios.cmd
            done
fi
Der einfache Aufruf sh kickrecheck.sh apt sorgt nun dafür das alle apt services auf jedem Server neu gechecked werden.

Geht natürlich auch mit anderen :-)

UPDATE!:
Was Squeeze da anscheinend ein wenig anders macht
nagiosserver ~ # locate status.dat
/var/cache/nagios3/status.dat
nagiosserver ~ # locate nagios.cmd
/var/lib/nagios3/rw/nagios.cmd
Also
#!/bin/bash
# by j AT xadmin DOT info

if [ -z "$1" ];
        then
                echo "Please tell me which check to kick by usage: sh kickrecheck.sh <service>"
        else
                for host in `grep 'host_name=' /var/cache/nagios3/status.dat | cut -f 2 -d "=" | sort | uniq`
                        do
                /usr/bin/printf "[%lu] SCHEDULE_SVC_CHECK;${host};$1;1110741500\n" `date +%s` > /var/lib/nagios3/rw/nagios.cmd
                        done
fi

Freitag, 4. März 2011

Zend Optimizer

Noch ein Paket gibt es in der PHP Toolbox. Den Zend_Optimizer dieser findet mittlerweile auch in Webshops Verwendung, da er verspricht das Anwendungen nun bis zu 40% schneller laufen. Also genug gründe auch seine Installation mal unter die Lupe zu nehmen.

Nachdem man sich auf der Internetseite das Paket heruntergeladen hat

http://www.zend.com/de/download/141

findet man nach dem entpacken findet man unter ./data/5_2_x_comp/
die Datei
  • ZendOptimizer.so
 diese legen wir wie schon mal beim IoncubeLoader unter
  • /usr/local/
 ab und erstellen folgenden Eintrag in der php.ini
  •  zend_extension=/usr/local/ZendOptimizer.so
Man sollte aber auch dran denken das der ioncubeloader immernoch Numero Uno in der php.ini sein will :-)

Apache neu starten und geht! 

with the ionCube PHP Loader v3.3.20, Copyright (c) 2002-2010, by ionCube Ltd., and
   with Zend Optimizer v3.3.9, Copyright (c) 1998-2009, by Zend Technologies

Mittwoch, 2. März 2011

FreeBSD: Nginx installieren

Manchmal muss man ein wenig über den Tellerrand schauen wenn man auf der Suche nach einem Webserver ist, es muss ja nicht immer Apache oder Lighttpd sein, Nginx kann dies auch...

Nginx - Wiki - http://wiki.nginx.org/Main

Die Reise beginnt wie so oft in /usr/ports/ wir finden nginx in
  • /usr/ports/www/nginx/
 mit
  • make && make install && make clean
können wir die Sourcen kompilieren und haben kurze Zeit später (kurz als dehnbarer Begriff) schon einen Webserver, welchen wir über
  •  echo 'nginx_enable="YES"' >> /etc/rc.conf
  •  /usr/local/etc/rc.d nginx start
starten können.
Die Konfigdateien finden wir in /usr/local/etc/nginx
die dortige nginx.conf enthält Grundlegende Konfigurationen, hier ein Beispiel

worker_processes  1;
error_log  logs/error.log;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

server {
        listen  80;
        server_name  <SERVERNAME>;

        access_log  /var/log/nginx/<SERVERNAME>/access.log;

        location / {
            root   /usr/local/www/nginx/;
            index  index.html index.htm;
        }

        error_page   404 500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/local/www/nginx;
        }
  location ~ /\.ht {
            deny  all;
        }
}}
Das wars auch schon... demnächst mehr zu Nginx