ioioio makes the server slow

Arbeitet man mit Virtualisierung (ESX, KVM & Co) sollte man auf den VMs immer den iowait im Auge haben. Egal was die Hostmaschinen an schönen  Daten ausgeben, hat die VM einen zu hohen iowait gibt es früher oder später Probleme. Ich nutze dafür den check_cpu_stats  Check von Steve Bosek für Nagios. Der Check liefert  noch einige Daten mehr. Als Ergebnis bekommt man in etwa Folgendes:

$ /usr/lib/nagios/plugins/check_cpu_stats.sh -w 20 -c 40
CPU STATISTICS OK : user=0.50% system=1.01% iowait=3.27% idle=95.21% nice=0.00% steal=0.00% | CpuUser=0.50;CpuSystem=1.01;CpuIoWait=3.27;CpuIdle=95.21;CpuNice=0.00;CpuSteal=0.00;20;40

Bei Debian&Co sollte sysstat installiert sein. Mit den Zahlen lassen sich  schöne Grafiken bei Centreon erzeugen:

loadwait

Hinweise auf bessere Checks sind natürlich willkommen.

 

Centreon mit Custom Views

Ich hatte das zwar schon vor einiger Zeit  im monitoring-portal geschrieben, aber totzdem auch nochmal hier.

Ab Centreon 2.4.0 kann man sich nun „Custom Views“ mit Widgets für den Startbildschirm zusammenstellen.

Eine Dokumentation gibt es unter
http://documentation.centreon.com/docs/centreon/en/latest/extending/widgets/index.html
Dort steht auch wie man eigene Widgets schreibt.

Die Widgest gibt es unter
http://www.centreon.com/Content-Download/centreon-widgets
Dort liegen schon neuere Versionen. Ich habe noch die Widgets von http://forge.centreon.com/projects/centreon-widgets/files installiert. Werde die neuen Versionen gleich mal installieren und berichten falls es größere Unterschiede gibt.

Wie aufwendig so ein Widget zu schreiben ist kann ich nicht abschätzen. Auf jeden Fall ein nettes Feature was sicherlich noch ausgebaut wird. Super wäre es natürlich wenn man ein Widget für nagvis Karte hätte.

Custom Views:

screenshot15

Diese Widgets gibt es bisher bei Centreon:

screenshot16

 

Update 1: Nutzt man nicht den Centreon Broker sondern ndo, werden beim service-monitoring widget (1.1.0) alle services  4mal Angezeigt. Das der Centreon Broker dies Problem behebt habe ich nur im Centreon Forum gelesen aber noch nicht ausprobiert.

Kurztipp: Raspbmc und ssh über WAN

Will man von außerhalb des lokalen Netzwerks auf den Raspberry Pi zugreifen, muss man die lokale Firewall von raspbmc etwas anpassen. Zu finden sind die Einstellungen unter /etc/network/if-up.d/secure-rmc

$ tail -n 7  /etc/network/if-up.d/secure-rmc
logger -t iptables "Configuring ip tables for interface $IFACE"
if [ "$IFACE" != "lo" ]; then
NETMASK=$(get_subnet $IFACE)
iptables -A INPUT -s $NETMASK -i $IFACE -j ACCEPT
iptables -A INPUT -i $IFACE -j DROP
fi

Das kann man dann nach eigenen Wünschen anpassen. Also z.B. ein

$ iptables -A INPUT -p tcp --dport 22 -j ACCEPT 

vor der DROP Regel. Warum droppen eigentlich immer alle Leute!? Ich finde ein REJECT ist viel schicker und sinniger als so ein dämliches DROP ;-).

Am besten vorher mal ein

$ iptables -I INPUT -p tcp --dport 22 -j ACCEPT

eingeben um zu testen ob Portforwarding vom Router usw. überhaupt richtig eingetragen ist und funktioniert. Und nun das wichtigste:
ÄNDERT das Default Passwort

Natürlich kann man die Regeln dementsprechend anpassen und nur bestimmten IPs Zugriff erlauben, iptables ist bekannterweise ein weites Feld.

p.s. raspbmc gefällt mir um einiges besser als openelec

update: Nun kann man auch die Firewall direkt via raspbmc addon im xbmc deaktivieren.

Kurztipp: zu viele sleeping connections bei MySQL

Hat man zu viele sleeping Connections bei MySQL, hilft eventuell ein Heruntersetzen des Wertes für die wait_timeout Variable. Default ist diese auf stolze 28800 Sekunden gesetzt. Vorher anschauen ob es überhaupt Probleme mit der Anzahl der Connections gibt, denn der Aufbau einer neuen Connection kostet  immer etwas mehr als eine bestehende zu nutzen. Ein einfaches Erhöhen der max_connections Variable ist eventuell sinnvoller. Im laufenden Betrieb kann man den wait_timeout  einfach mit

 mysql> set global wait_timeout = 3600;

hoch setzen. Das ist natürlich nur eine „Schraube“ an der man drehen kann. Je nach Anwendung ist es auch sinnvoll sich die MySQL Einstellungen in der /etc/php5/apache2/php.ini anzuschauen,  also mysql.allow_persistent & co.
Die Auswirkungen der Einstellungen könnten dann z.B. so aussehen (kurz nach 11 Uhr):

screenshot13

Die Werte dabei sind in keiner Weise kritisch, verdeutlichen aber den Unterschied.

 

update: Eventuell kann ein zu niedriger Wert negative Auswirkungen auf Replikationen haben

Wenn es mal wieder einfach und schnell gehen soll…Music Browser

Im Laufe der letzten Jahre habe ich mir Netjuke, Jinzora, Subsonic, Tin Can Jukebox und natürlich Ampache zur Musikverwaltung angeschaut. Netjuke hat mir damals sehr gut gefallen, wurde dann aber nicht mehr weiter entwickelt und ist irgendwie mit Jinzora „fusioniert“. Jinzora war einfach nur gruselig und dabei habe ich mir wirklich Mühe gegeben es zu mögen. Subsonic und Tin Can Jukebox habe ich nur kurz installiert und dann zeit nah wieder entfernt. Ampache ist super, auch wenn die Entwicklung zur Zeit etwas stagniert. Es gibt für fast jede Plattform einen Client und die Funktionen reichen vollkommen aus. Nervig bei Ampache ist, dass man saubere MP3 Tags haben muss, dies ist z.B. bei Hörbüchern nicht immer der Fall. Eine sehr einfache, aber meiner Meinung nach gute Lösung ist Music Browser. Dabei wird zwar auf vieles verzichtet, aber das Wesentliche funktioniert gut. Ein paar Vorteile sind z. B.:

Keine Datenbank
Keine MP3 Tags
Klein und schnell
Keine überflüssigen Optionen

Eventuell auch eine nette Anwendung für den Raspberry Pi…und ja ich weiß, es gibt zwei Fantastilliarden Möglichkeiten Musik übers Netz abzuspielen und zu verwalten.

Ein vhost verschickt spam mails…aber welcher nur?

Um den Übeltäter zu finden, können zwei Einträge in der /etc/php5/apache2/php.ini helfen:

mail.add_x_header = On
mail.log = /var/log/phpmail.log

mail.add_x_header ist eigentlich per default aktiviert bei Debian. Im phpmail.log findet man dann:

mail() on [/var/www/vhosts/domain.com/httpdocs/pages/modules/system/system.mail.inc:83]: To: jeff@domain.co.uk -- Headers: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed; delsp=yes Content-Transfer-Encoding: 8Bit X-Mailer: Drupal Sender: jeff@domain.co.uk From: jeff@domain.co.uk

Darauf achten das der Webuser auch in das Log schreiben darf.
Das ganze gibt es erst seit PHP 5.3.

Tatsächlich hilft auch ab und an mal ein

$ clamscan -i -r *
docroots/profiles.php: PHP.Trojan.WebShell-9 FOUND

Clamscan findet eine ganze Reihe von PHP Shells und auffälligen Code.

Mehr Infos findet an

http://blog.rimuhosting.com/2012/09/20/finding-spam-sending-scripts-on-your-server

http://php.net/manual/en/mail.configuration.php

Kurztipp: Raspberry Pi mit Openelec – Force HDMI

Es erscheint mir etwas überflüssig solche Tipps zu geben, da jeder Besitzer eines solchen Gerätes in der Regel weiß wo er schauen muss. Trotzdem ein einfacher Tipp. Falls man das Teil direkt via HDMI an einen AV Receiver anschließen will und kein HDMI Display anschließen will/kann, man aber trotzdem Musik hören will:

$ mount /flash -o remount,rw

und
# Force HDMI even if unplugged or powered off
hdmi_force_hotplug=1

auskommentieren in der /flash/config.txt

reboot…keine Ahnung ob es irgendwie ohne reboot geht, ich meine nicht. Als Fernbedienung bietet sich yatse an. Zum rumspielen ganz witzig, mal schauen was da noch so möglich ist.

Legt man das Teil auf den AV Reciever sollte man die Temperatur im Auge behalten ;-).

Pacemaker – Nodes sehen sich nicht nach IP takeover

Ein paar Informationen zur Umgebung und zu den Konfigurationsdateien:
Zwei nodes (lb1,lb2) via ESX virtualisiert. Jeweils nur ein Interface je node.

Meine alte corosync.conf:

...
interface {
 ringnumber: 0
 bindnetaddr: 192.168.1.0
 mcastport: 5405
 mcastaddr: 226.94.1.10
 }
...

Folgendes Problem:

Zwei nodes lb1 und lb2 und eine Ressource FAILOVER-ADDR (Cluster IP). Auf beiden läuft Pacemaker. Beide sehen sich und eigentlich sieht alles ok aus. Mache ich nun ein

lb1$ crm resource migrate FAILOVER-ADDR lb2

Wird FAILOVER-ADDR auf lb2 geschwenkt. Alles wunderbar, aber sobald die Aktion vollzogen ist sehen sich lb1 und lb2 nicht mehr via multicast. Ich habe nicht herausfinden können warum, falls jemand  Ideen hat immer her damit.

lb1$ ping 226.94.1.10
 64 bytes from 192.168.1.11: icmp_req=878 ttl=64 time=0.021 ms
 64 bytes from 192.168.1.11: icmp_req=879 ttl=64 time=0.020 ms

wird nur noch von der IP des jeweiligen nodes beantwortet. Vor dem Schwenk tauchte dort  noch richtigerweise die IP des anderen nodes auf.

lb1$ ping 226.94.1.10
 64 bytes from 192.168.1.11:  icmp_req=878 ttl=64 time=0.021 ms
 64 bytes from 192.168.1.12: icmp_req=879 ttl=64 time=0.020 ms

Das ganze hat mich schon sehr (sehr) genervt.
Nun zur recht „einfachen“ Lösung.
Die corosync.conf wird folgendermaßen angepasst:

...
interface {
member {
memberaddr: 192.168.1.11
}
member {
memberaddr: 192.168.1.12
}
# The following values need to be set based on your environment
ringnumber: 0
bindnetaddr: 192.168.1.0
mcastport: 5405

}
transport: udpu
...

ttl habe ich dabei extra nicht gesetzt.  Multicast wird so nicht mehr genutzt und ein broadcast ins ganze Netz findet (hoffentlich) nicht statt. Seit den Anpassungen gab es keinerlei Probleme mehr mit schwenken von Ressourcen.

Notizen:

echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

nicht vergessen

Dokuwiki Jabber Bot – Jabber Dokuwiki Bot

Liebe Leute,
ich und alle anderen Menschen auf dem Planeten Erde wünschen sich (neben Feldfrieden und universellem Glück für alle) folgendes zu Weihnachten:
Einen Jabber-Dokuwiki-Bot.
Der Jabberbot soll Eingaben direkt in ein Dokuwiki posten. Diese Eingaben sollen sich mit Tags verschlagworten lassen. Es soll die Möglichkeit geben neue Wikiseiten über den Bot anlegen zu lassen oder Text an bestehende Seiten anzuhängen. Andersherum soll der Bot auch anzeigen können was er zu bestimmten Tags bereits im Wiki stehen (Seitennamen wo z.B. die Tags vorkommen) hat und es soll auch die Möglichkeit geben den Text von kompletten Wikiseiten anzeigen zu lassen.

Ich hoffe es wird ungefähr klar was gemeint ist. Es sind noch fünf Tage bis Weihnachten, also genug Zeit eine erste Alpha bereit zustellen. Mit technischen Ressourcen kann ich gerne helfen. Als Belohnung gibt es eine selbst gebackene Urwaldtorte in Göttingen.

Meine Status.net Installation hat so einen bot, aber halt leider nur für Status.net.

Nagios Plugin für glb max connections

Ein recht einfaches Nagios Plugin für glb den Loadbalancer für Galera. Getestet mit glb-0.9.0beta2. Das ganze ist schnell zusammengeschrieben, also nicht über Fehler wundern. Zum download gibt es das hier:

http://exdc.net/nagios/check_glbd_connections

Ausgabe:

$ /usr/lib/nagios/plugins/check_glbd_connections 100 450
Warning current connections:257 | 'connections'=257 'maxconnections'=493

$ /usr/lib/nagios/plugins/check_glbd_connections 100 250
Critical current connections:257 | 'connections'=257 'maxconnections'=493

$ /usr/lib/nagios/plugins/check_glbd_connections 100 250
OK current connections:1 | 'connections'=1 'maxconnections'=493

Das Skript:


#!/bin/bash
#########################################################################
# Script:       check_glbd_connections                                  #
# Author:       Thomas Linnemann (mail@exdc.net) http://exdc.net        #
# Purpose:      Monitor GLBS Connections status with Nagios             #
# Thanks to:    Bjoern Herbold, Alexey Yurchenko                        #
# History:      2012.12.18 version 0.0.1                                #
#                                                                       #
#########################################################################

print_usage() {
echo "Usage: check__glbd_connections warning critical  "
echo "e.g.  check_glbd_connections 350 450"
}

if [ $# -lt 2 ]; then
print_usage
exit 3
fi

conn_info=$(echo "getinfo" | nc -q 1 127.0.0.1 4041|grep Destinations)
conn=$(echo "$conn_info" | cut -d " " -f 5)
maxcon=$(echo "$conn_info" | cut -d " " -f 7)

if [[ $conn -ge $1 && $conn -lt $2 ]]
then
echo "Warning current connections:$conn | 'connections'=$conn 'maxconnections'=$maxcon"
exit 1

elif [ $conn -ge $2 ]
then
echo "Critical current connections:$conn | 'connections'=$conn 'maxconnections'=$maxcon"
exit 2
else
echo "OK current connections:$conn | 'connections'=$conn 'maxconnections'=$maxcon"
exit 0
fi

Performancedaten für Centreon werden auch geliefert (ja gelb ist eine tolle Farbe ich weiß)

galera-lb-1-glbd connections

Kurztipp: Text zwischen zwei Strings anzeigen

Will man den Text zwischen zwei Strings angezeigt bekommen, kann man das recht einfach mit awk machen:

$ awk '/Dec 17 16:35:17/,/Dec 17 17:55:17/' /var/log/syslog
Dec 17 16:35:17 jabber -- MARK --
Dec 17 16:55:17 jabber -- MARK --
Dec 17 17:01:01 jabber /USR/SBIN/CRON[24012]: (root) CMD (ntpdate ntps1.gwdg.de  >/dev/null 2>&1)
Dec 17 17:15:17 jabber -- MARK --
Dec 17 17:17:02 jabber /USR/SBIN/CRON[24252]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Dec 17 17:35:17 jabber -- MARK --
Dec 17 17:55:17 jabber -- MARK --

Wenn man es braucht hat man es eh wieder vergessen, aber ich wollte es mal erwähnt haben ;-).

Nagios Plugin für Galera wsrep_flow_control_paused

Ein sehr (sehr, sehr…) einfaches Plugin für den wsrep_flow_control_paused Wert bei Galera. Vielleicht hilft es irgendwem.

#!/bin/bash
if [ $# != 4 ]; then
        echo "Bitte IP,Port, MySQLuser und Passwort eines Galera Nodes angeben"
        exit 1
else
gstat1=$(mysql -h$1 -P$2 -u$3 -p$4 -e "show status like 'wsrep_flow_control_paused'"|grep wsrep_flow_control_paused|cut -f 2)
 if [ $gstat1 == "0.000000" ]
        then
                echo "OK flow_control_paused:$gstat1 | flow_control_paused=$gstat1"
                exit 0
        else
                echo "Achtung flow_control_paused:$gstat1 | flow_control_paused=$gstat1"
                exit 1
 fi
fi

Die wichtigen Werte findet man unter:
http://www.codership.com/wiki/doku.php?id=monitoring&s[]=monitoring

siehe auch:

http://exdc.net/2012/08/24/galera-cluster_size-nagios-check/
http://exdc.net/2012/09/14/galera-nagios-plugin/

Math mit Mediawiki 1.19.3

Die Math Extension unter http://www.mediawiki.org/wiki/Extension:Math scheint anscheinend (noch) nicht mit der Mediawiki Version 1.19.3 kompatibel zu sein. Seiten mit Formeln werden nicht angezeigt, andere gehen. Also entweder die Extension deaktivieren…oder…keine Ahnung, warten wir mal ab.

Als kleines update dazu: Die 1.19.2er hat bei mir funktioniert, jedoch musste dabei noch

$wgTexvc = 'extensions/Math/math/texvc';

mit in die LocalSettings.php eingetragen werden.

Centreon mit Ubuntu 12.04…einige Hinweise

Meiner Meinung nach ist Centreon immer noch eines der besten Tools um den Funktionsumfang von Nagios zu erweitern und die Konfiguration zu vereinfachen. Im Einsatz habe ich Centreon nun schon seit über vier Jahren und bin durchweg zufrieden. Leider ist die Installation unter Ubuntu 12.04  eine große Frickelei. Mit Debian war es in meiner Erinnerung deutlich einfacher. Ich fasse mal ein paar Tipps zusammen. Ich habe bewusst versucht Nagios & Co aus den Ubuntu Quellen zu nehmen und nichts von „außerhalb“ zu installieren. Ein how to wie man Nagios und Centreon eigenständig installiert findet man hier und hier (der link ist zur zeit broken…mal abwarten gestern ging er noch).  Will man sich wenig Arbeit machen, kann man auch einfach zum FAN Projekt (fully automated nagios) greifen. Icinga habe ich vor längerer Zeit mal installiert, konnte mich aber damals nicht überzeugen, eventuell ist die aktuelle Versionen besser. OMD habe ich mir noch nicht angeschaut, zweifel aber generell an der Beständigkeit von solchen Projekten.

Sicherlich habe ich irgendwelche Punkte und Pakete übersehen….aber dies ist kein how to.

Fangen wir mit ein paar Paketen an

aptitude install  mysql-server nagios3 nagios-plugins

aptitude install librrds-perl rrdtool php-pear ndoutils-nagios3-mysql sysutils lsb-release snmp libnet-snmp-perl libsnmp-perl libgd2-xpm libgd2-xpm-dev libpng12-dev

Persönlich würde ich noch phpmyadmin installieren.

Dann schauen wir erst mal ob Nagios überhaupt läuft. Bei mir lief es nicht („error: Could not stat() command file“) und ich musste

chmod g+x /var/lib/nagios3/rw

ausführen. Hinweise gab es hier.

Sobald alles läuft machen wir uns daran Centreon zu installieren:

wget http://download.centreon.com/centreon/centreon-2.3.9.tar.gz

Auspacken usw.

./install.sh -i

blabla und dann


------------------------------------------------------------------------
 Please choose what you want to install
 ------------------------------------------------------------------------

Do you want to install : Centreon Web Front
 [y/n], default to [n]:
 > y

Do you want to install : Centreon CentCore
 [y/n], default to [n]:
 > y

Do you want to install : Centreon Nagios Plugins
 [y/n], default to [n]:
 > y

Do you want to install : Centreon Snmp Traps process
 [y/n], default to [n]:
 > n

------------------------------------------------------------------------
 Start CentWeb Installation
 ------------------------------------------------------------------------

Where is your Centreon directory?
 default to [/usr/local/centreon]
 >

Do you want me to create this directory ? [/usr/local/centreon]
 [y/n], default to [n]:
 >
 Directory /usr/local/centreon does not exists.             CRITICAL

Where is your Centreon directory?
 default to [/usr/local/centreon]
 >

Do you want me to create this directory ? [/usr/local/centreon]
 [y/n], default to [n]:
 > y
 Path /usr/local/centreon                                   OK

Where is your Centreon log directory
 default to [/usr/local/centreon/log]
 >

Do you want me to create this directory ? [/usr/local/centreon/log]
 [y/n], default to [n]:
 > y
 Path /usr/local/centreon/log                               OK

Where is your Centreon etc directory
 default to [/etc/centreon]
 >

Do you want me to create this directory ? [/etc/centreon]
 [y/n], default to [n]:
 > y
 Path /etc/centreon                                         OK

Where is your Centreon generation_files directory?
 default to [/usr/local/centreon]
 >
 Path /usr/local/centreon                                   OK

Where is your Centreon variable library directory?
 default to [/var/lib/centreon]
 >

Do you want me to create this directory ? [/var/lib/centreon]
 [y/n], default to [n]:
 > y
 Path /var/lib/centreon                                     OK

Where is your CentPlugins Traps binary
 default to [/usr/local/centreon/bin]
 >

Do you want me to create this directory ? [/usr/local/centreon/bin]
 [y/n], default to [n]:
 > y
 Path /usr/local/centreon/bin                               OK

Where is the RRD perl module installed [RRDs.pm]
 default to [/usr/lib/perl5/RRDs.pm]
 >
 Path /usr/lib/perl5                                        OK
 /usr/bin/rrdtool                                           OK
 /usr/bin/mail                                              OK

Where is PEAR [PEAR.php]
 default to [/usr/share/php/PEAR.php]
 >
 Path /usr/share/php                                        OK

Where is installed Nagios ?
 default to [/usr/local/nagios]
 > /usr/lib/cgi-bin/nagios3
 Path /usr/lib/cgi-bin/nagios3                              OK

Where is your nagios config directory
 default to [/usr/local/nagios/etc]
 > /etc/nagios3
 Path /etc/nagios3                                          OK

Where is your Nagios var directory ?
 default to [/usr/local/nagios/var]
 > /var/lib/nagios3
 Path /var/lib/nagios3                                      OK

Where is your Nagios plugins (libexec) directory ?
 default to [/usr/local/nagios/libexec]
 > /usr/lib/nagios/plugins
 Path /usr/lib/nagios/plugins                               OK
 /usr/sbin/nagios3                                          OK

Where is your Nagios image directory ?
 default to [/usr/local/nagios/share/images/logos]
 > /usr/share/nagios/htdocs/images/logos
 Path /usr/share/nagios/htdocs/images/logos                 OK
 /usr/sbin/nagios3stats                                     OK
 p1_file : /usr/lib/nagios3/p1.pl                           OK
 /usr/bin/php                                               OK
 /usr/bin/perl                                              OK
 Finding Apache group :                                     www-data
 Finding Apache user :                                      www-data
 Finding Nagios user :                                      nagios
 Finding Nagios group :                                     nagios

Where is your NDO ndomod binary ?
 default to [/usr/sbin/ndomod.o]
 > /usr/lib/ndoutils/ndomod-mysql-3x.o
 /usr/lib/ndoutils/ndomod-mysql-3x.o                        OK

------------------------------------------------------------------------
 Configure Sudo
 ------------------------------------------------------------------------

Where is sudo configuration file
 default to [/etc/sudoers]
 >
 /etc/sudoers                                               OK
 Nagios init script                                         OK
 Your sudo is not configured

Do you want me to configure your sudo ? (WARNING)
 [y/n], default to [n]:
 > y
 Configuring Sudo                                           OK

------------------------------------------------------------------------
 Configure Apache server
 ------------------------------------------------------------------------

Do you want to add Centreon Apache sub configuration file ?
 [y/n], default to [n]:
 > y
 Create '/etc/apache2/conf.d/centreon.conf'                 OK
 Configuring Apache                                         OK

Do you want to reload your Apache ?
 [y/n], default to [n]:
 > y
 Reloading Apache service                                   OK
 Preparing Centreon temporary files
 Change right on /usr/local/centreon/log                    OK
 Change right on /etc/centreon                              OK
 Change right on /usr/share/nagios/htdocs/images/logos      OK
 Install nagios documentation                               OK
 Change macros for insertBaseConf.sql                       OK
 Change macros for php files                                OK
 Change right on /etc/nagios3                               OK
 Copy CentWeb in system directory
 Install CentWeb (web front of centreon)                    OK
 Install libraries                                          OK
 Copying libinstall                                         OK
 Change macros for centreon.cron                            OK
 Install Centreon cron.d file                               OK
 Change macros for centAcl.php                              OK
 Change macros for downtimeManager.php                      OK
 Change macros for eventReportBuilder.pl                    OK
 Change macros for dashboardBuilder.pl                      OK
 Install cron directory                                     OK
 Change right for eventReportBuilder.pl                     OK
 Change right for dashboardBuilder.pl                       OK

------------------------------------------------------------------------
 Pear Modules
 ------------------------------------------------------------------------
 Check PEAR modules
 PEAR                            1.4.9       1.9.4          OK
 DB                              1.7.6                      NOK
 DB_DataObject                   1.8.4                      NOK
 DB_DataObject_FormBuilder       1.0.0RC4                   NOK
 MDB2                            2.0.0                      NOK
 Date                            1.4.6                      NOK
 HTML_Common                     1.2.2                      NOK
 HTML_QuickForm                  3.2.5                      NOK
 HTML_QuickForm_advmultiselect   1.1.0                      NOK
 HTML_Table                      1.6.1                      NOK
 Archive_Tar                     1.1         1.3.7          OK
 Auth_SASL                       1.0.1                      NOK
 Console_Getopt                  1.2         1.3.0          OK
 Net_SMTP                        1.2.8                      NOK
 Net_Socket                      1.0.1                      NOK
 Net_Traceroute                  0.21                       NOK
 Net_Ping                        2.4.1                      NOK
 Validate                        0.6.2                      NOK
 XML_RPC                         1.4.5                      NOK
 SOAP                            0.10.1                     NOK
 Log                             1.9.11                     NOK
 Archive_Zip                     0.1.2                      NOK

Do you want me to install/upgrade your PEAR modules
 [y/n], default to [y]:
 > y
 Upgrading PEAR modules
 Installing PEAR modules
 DB                              1.7.6       1.7.14         OK
 DB_DataObject                   1.8.4       1.10.0         OK
 DB_DataObject_FormBuilder       1.0.0RC4    1.0.2          OK
 MDB2                            2.0.0       2.4.1          OK
 HTML_QuickForm_advmultiselect   1.1.0       1.5.1          OK
 HTML_Table                      1.6.1       1.8.3          OK
 Auth_SASL                       1.0.1       1.0.6          OK
 Net_SMTP                        1.2.8       1.6.1          OK
 Net_Traceroute                  0.21        0.21.3         OK
 Net_Ping                        2.4.1       2.4.5          OK
 Validate                        0.6.2       0.8.5          OK
 XML_RPC                         1.4.5       1.5.5          OK
 SOAP                            0.10.1      0.13.0         OK
 Log                             1.9.11      1.12.7         OK
 Archive_Zip                     0.1.2       0.1.2          OK
 Check PEAR modules
 PEAR                            1.4.9       1.9.4          OK
 DB                              1.7.6       1.7.14         OK
 DB_DataObject                   1.8.4       1.10.0         OK
 DB_DataObject_FormBuilder       1.0.0RC4    1.0.2          OK
 MDB2                            2.0.0       2.4.1          OK
 Date                            1.4.6       1.4.7          OK
 HTML_Common                     1.2.2       1.2.5          OK
 HTML_QuickForm                  3.2.5       3.2.13         OK
 HTML_QuickForm_advmultiselect   1.1.0       1.5.1          OK
 HTML_Table                      1.6.1       1.8.3          OK
 Archive_Tar                     1.1         1.3.7          OK
 Auth_SASL                       1.0.1       1.0.6          OK
 Console_Getopt                  1.2         1.3.0          OK
 Net_SMTP                        1.2.8       1.6.1          OK
 Net_Socket                      1.0.1       1.0.10         OK
 Net_Traceroute                  0.21        0.21.3         OK
 Net_Ping                        2.4.1       2.4.5          OK
 Validate                        0.6.2       0.8.5          OK
 XML_RPC                         1.4.5       1.5.5          OK
 SOAP                            0.10.1      0.13.0         OK
 Log                             1.9.11      1.12.7         OK
 Archive_Zip                     0.1.2       0.1.2          OK
 All PEAR modules                                           OK

------------------------------------------------------------------------
 Centreon Post Install
 ------------------------------------------------------------------------
 Create /usr/local/centreon/www/install/install.conf.php    OK
 Create /etc/centreon/instCentWeb.conf                      OK

------------------------------------------------------------------------
 Start CentStorage Installation
 ------------------------------------------------------------------------

Where is your Centreon Run Dir directory?
 default to [/var/run/centreon]
 >

Do you want me to create this directory ? [/var/run/centreon]
 [y/n], default to [n]:
 > y
 Path /var/run/centreon                                     OK

Where is your CentStorage binary directory
 default to [/usr/local/centreon/bin]
 >
 Path /usr/local/centreon/bin                               OK

Where is your CentStorage RRD directory
 default to [/var/lib/centreon]
 >
 Path /var/lib/centreon                                     OK
 Finding Nagios group :                                     nagios
 Finding Nagios user :                                      nagios
 Preparing Centreon temporary files
 /tmp/centreon-setup exists, it will be moved...
 install www/install/createTablesCentstorage.sql            OK
 Creating Centreon Directory '/var/lib/centreon/status'     OK
 Creating Centreon Directory '/var/lib/centreon/metrics'    OK
 Change macros for centstorage binary                       OK
 Install CentStorage binary                                 OK
 Install library for centstorage                            OK
 Change right : /var/run/centreon                           OK
 Change macros for centstorage init script                  OK

Do you want me to install CentStorage init script ?
 [y/n], default to [n]:
 > y
 CentStorage init script installed                          OK

Do you want me to install CentStorage run level ?
 [y/n], default to [n]:
 > y
 update-rc.d: warning: /etc/init.d/centstorage missing LSB information
 update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
 Adding system startup for /etc/init.d/centstorage ...
 /etc/rc0.d/K30centstorage -> ../init.d/centstorage
 /etc/rc1.d/K30centstorage -> ../init.d/centstorage
 /etc/rc6.d/K30centstorage -> ../init.d/centstorage
 /etc/rc2.d/S40centstorage -> ../init.d/centstorage
 /etc/rc3.d/S40centstorage -> ../init.d/centstorage
 /etc/rc4.d/S40centstorage -> ../init.d/centstorage
 /etc/rc5.d/S40centstorage -> ../init.d/centstorage
 Configuration file /etc/centreon/conf.pm not found.  Exiting.
 CentStorage stop                                           FAIL
 Change macros for logAnalyser                              OK
 Install logAnalyser                                        OK
 Change macros for nagiosPerfTrace                          OK
 Install nagiosPerfTrace                                    OK
 Change macros for purgeLogs                                OK
 Install purgeLogs                                          OK
 Change macros for purgeCentstorage                         OK
 Install purgeCentstorage                                   OK
 Change macros for centreonPurge.sh                         OK
 Install centreonPurge.sh                                   OK
 Change macros for centstorage.cron                         OK
 Install CentStorage cron                                   OK
 Create /etc/centreon/instCentStorage.conf                  OK

------------------------------------------------------------------------
 Start CentCore Installation
 ------------------------------------------------------------------------

Where is your CentCore binary directory
 default to [/usr/local/centreon/bin]
 >
 Path /usr/local/centreon/bin                               OK
 /usr/bin/ssh                                               OK
 /usr/bin/scp                                               OK
 Finding Nagios group :                                     nagios
 Finding Nagios user :                                      nagios
 Preparing Centreon temporary files
 /tmp/centreon-setup exists, it will be moved...
 Change CentCore Macro                                      OK
 Copy CentCore in binary directory                          OK
 Change right : /var/run/centreon                           OK
 Change right : /var/lib/centreon                           OK
 Replace CentCore init script Macro                         OK

Do you want me to install CentCore init script ?
 [y/n], default to [n]:
 > y
 CentCore init script installed                             OK

Do you want me to install CentCore run level ?
 [y/n], default to [n]:
 > y
 update-rc.d: warning: /etc/init.d/centcore missing LSB information
 update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
 Adding system startup for /etc/init.d/centcore ...
 /etc/rc0.d/K30centcore -> ../init.d/centcore
 /etc/rc1.d/K30centcore -> ../init.d/centcore
 /etc/rc6.d/K30centcore -> ../init.d/centcore
 /etc/rc2.d/S40centcore -> ../init.d/centcore
 /etc/rc3.d/S40centcore -> ../init.d/centcore
 /etc/rc4.d/S40centcore -> ../init.d/centcore
 /etc/rc5.d/S40centcore -> ../init.d/centcore
 Create /etc/centreon/instCentCore.conf                     OK

------------------------------------------------------------------------
 Start CentPlugins Installation
 ------------------------------------------------------------------------

Where is your CentPlugins lib directory
 default to [/var/lib/centreon/centplugins]
 >

Where is your CentPlugins lib directory
 default to [/var/lib/centreon/centplugins]
 >

Do you want me to create this directory ? [/var/lib/centreon/centplugins]
 [y/n], default to [n]:
 > y
 Path /var/lib/centreon/centplugins                         OK
 Finding Nagios user :                                      nagios
 Finding Nagios group :                                     nagios
 Preparing Centreon temporary files
 /tmp/centreon-setup exists, it will be moved...
 Change macros for CentPlugins                              OK
 Installing the plugins                                     OK
 Change right on centreon.conf                              OK
 CentPlugins is installed
 Create /etc/centreon/instCentPlugins.conf                  OK

Danach führt man den Rest der Installation via Webinterface durch.
Nun schaut man ob die beiden Prozesse

/usr/bin/perl -w /usr/local/centreon/bin/centcore

und

/usr/bin/perl -w /usr/local/centreon/bin/centstorage

laufen. Tun sie das nicht, versucht man sie via


/etc/init.d/centcore start

/etc/init.d/centstorage start

zu starten.  Funktioniert das nicht, liegt es eventuell daran, dass der nagios User keine shell hat. Also ändert man in der /etc/passwd/ beim user nagios das /bin/false auf /bin/sh. Nun sollte man die beiden Prozesse starten können.

Ganz am Ende habe ich nochmal ein

./install.sh -u /etc/centreon

ausgeführt. Das braucht man eigentlich nicht, aber erst danach wurden erst alle checks  bei Centreon angezeigt, vorher hatte ich nur eine sehr kleine Auswahl an checks.  „Service Performance Data File“ sollte eventuell noch in Centreon konfiguriert werden um Performancedaten darstellen zu können (das ist aber eine andere Geschichte und soll ein anderes mal erzählt werden).

Ich empfehle immer gleichzeitig eine zweite Testmaschine aufzusetzen, so kann man Updates testen und hat eine gewisse Redundanz für den Notfall.

Ich bin für jede Verbesserung offen ;-).

Update 1: Als System kam ein 32bit 12.04 Ubuntu unter KVM zum Einsatz.
Update 2: den „Physical HTML Path“ in der CGI.cfg in centreon anpassen zu /usr/share/nagios3/htdocs un den URL HTML Path zu /nagios3
Update 3: adduser www-data nagios ist nötig falls ein „Error: Could not read object configuration data!“ beim Aufruf von Nagios erscheint
Update 4: secure_path in /etc/sudoers anpassen bzw. auskommentieren (achtung!)