1. export Proxy Variablen z.B. ssh rz1xen001 export http_proxy=http://ipadresse:port/
2. Standard CentOS Keys einspielen ssh rz1xen001 rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-*
3. Verzeichnis anlegen ssh rz1xen001 mkdir -p /home/agents
4. Agent kopieren scp check_mk_agent-1.1.7i4-1.noarch.rpm rz1xen001:/home/agents/
5. Agent installieren
5.1 xinted ssh rz1xen001 yum –enablerepo=base install xinetd -y
5.2 check_mk_agent ssh rz1xen001 rpm -Uvh /home/agents/check_mk_agent-1.1.7i4-1.noarch.rpm
6. Firewall anpassen für SNMP und check_mk -A RH-Firewall-1-INPUT -p udp –dport 161 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp –dport 6556 -j ACCEPT am besten das iptables Skript per scp kopieren und dann service iptables restart
Und jetzt kommt der Hammer…

Die HP-SNMP-Agents die auch erfolgreich auf den ESX Servern laufen zwecks Hardware Monitoring… die gibt es auch für Xenserver von der HP Seite zum herunterladen. Doch installiert man diese so wie man das auch auf den ESX Servern machen würde dann knallt es… Um diesen Fehler zu debugen musste ich den RZ1XEN003 ungefähr 4x neuinstallieren. Die Herausforderung ist das wir ein BladeServer Model verwenden was es so auch nicht auf der Hewlett Packard Support Seite gibt. “HP ProLiant BL460c G1″

Installiert man auf einem XenServer 5.x die HP-SNMP-Agents in der Version “hp-snmp-agents-xs-8.2.5-7.tgz” auch die Version davor… so wie auf der Seite von HP erklärt dann wird die Aktion damit quittiert, das der XenServer in einen Endlos Reboot verfällt.

Auslöser dafür ist das RPM Paket hp-OpenIPMI welches sobald es installiert wird verzweifelt versucht Kernel Module zu laden um letztendlich ein /dev/ipmi0 anlegen zu können. Rausgefunden habe ich das nachdem ich das tgz Archiv mir mal etwas näher angeschaut habe. Um das shell skript zu entpacken muss dafür die Zeile #!/bin/sh entfernt werden, anschließend kann man dann mittels sh Dateiname die einzelene RPM Pakete rausextrahieren. Jetzt müssen die RPMs in der korrekten Reihenfolge installiert werden.

Kommt man nun an die Stelle mit dem hp-OpenIPMI Paket sieht man schnell das Problem mit den Kernel Treibern. Lösung: Auf hp-OpenIPMI verzichten und das offenen RPM verwenden “OpenIPMI” Das Kernel Modul ipmi_pci_dev kann auf dem HP ProLiant BL460c G1 nicht geladen werden das dies nicht auf diesem Model unterstütz wird. Warum das dann aber bei den ESX Servern auf den gleichen Blade Modellen klappt? Ganz einfach, dort hat VMware mit HP zusammen gearbeitet und eine entsprechende Libary entwickelt die über die snmpd.conf mit geladen wird.

Jetzt die Schritte:

entpacken: tar xzvf hp-snmp-agents-xs-8.2.5-7.tgz cd hp-snmp-agents-xs-8.2.5-7

zerhacken: mv hp-snmp-agents-xs-8.2.5-7 treibmichindenwahnsinnskript sh treibmichindenwahnsinnskript

Siehe da man erhält:

· hp-health-8.2.5-51.xen5.i386.rpm

· hp-ilo-8.2.5-51.xen5.i386.rpm

· hp-OpenIPMI-8.2.5-51.xen5.i386.rpm (böse !!!)

· hpsmh-3.0.1-73.i386.rpm

· hp-smh-templates-8.2.5-51.xen5.i386.rpm

· hp-snmp-agents-8.2.5-51.xen5.i386.rpm

· lm_sensors-2.10.0-3.1.i386.rpm

Das Quellen offene OpenIPMI installieren: yum –enablerepo=base install OpenIPMI

Pakete installieren: rpm -Uvh (siehe oben nur ohne das hp-OpenIPMI) Da gibt es auch eine Reihenfolge die man einhalten sollte… hab ich vergessen, egal rpm meckert schon wenn etwas vorher installiert sein muss.

SNMPD.CONF /etc/snmp/snmpd.conf konfigurieren: /sbin/hpsnmpconfig

· public

· 190.59.2.54

Und so wird es dann gestartet: service hp-ilo restart service hp-health restart service hp-snmp-agents restart service hpsmhd restart

Jetzt können wir auf dem rz1nag002 den Host auch für die HW checks inventarisieren: check_mk -I tcp rz1xen003 check_mk -I hp_proliant_cpu rz1xen003 check_mk -I hp_proliant_mem rz1xen003 check_mk -I hp_proliant_fans rz1xen003 check_mk -I hp_proliant_temp rz1xen003 check_mk -I hp_proliant_da_phydrv rz1xen003

Anschließend check_mk -R

Hier mal das Skript so geht es schneller: erstmal alles rüberkopieren… ssh rz1xen005 mkdir -p /home/agents scp rz1xen005:/home/agents/

· yum.conf

· snmpd.conf

· iptables

· alle rpm Pakete

dann das Skript ausführen.