pátek 12. srpna 2011

Zabbix 1.8.6 vs Upstart

Řešil jsem upgrade monitorovacího systému Zabbix z verze 1.8.5 na aktuální verzi 1.8.6. Jelikož je v mnou používaném Ubuntu serveru balík zabbix-server 1.8.1 poněkud zasmrádlý (neaktualizovaný = starý) a používat PPA repolitory se mi moc nechce. Kompiluju si Zabbix ze zdrojových kódů. Kompilace není nikterak složítá, stačí doinstalovat pár devel balíčků pro podporované součásti serveru, jako je SNMP, OpenIMPI, Jabber - iksemel, LDAP, iODBC, cURL atd.

Problém nastal, při opětovném zpuštění nové verze serveru. Autoři Zabbixu mysli i na to, že po manuální kompilaci budeme chtít zabbix_server pustit a připravili sadu init.d scriptů pro jednotlivé systémy.

zabbix-1.8.6/misc/init.d> ls -1
aix
debian
fedora
freebsd
gentoo
redhat
suse
tru64
ubuntu


V Ubuntu je již nějakou dobu přítomen Upstart, což je init daemon od spol. Canonical. Konfigurace je jednoduchá. Dané soubory umístíme do adresáře /etc/init/ a v /etc/init.d/ vytvoříme linky na upstart-job. Dále používám sysv-rc-conf, kterým nastavuji runlevely. Ruční linkování je zhovadilost.

cd /etc/init.d/
ln -s zabbix-agent /lib/init/upstart-job
ln -s zabbix-server > /lib/init/upstart-job

Konfiguraci jsem si ještě upravil bez závislosti na běhu MySQL, protože tu provozuji na jiném serveru. A exec mám upraven o cesty a o parametr -c kde říkám kde je konfigurák pro zabbix_server.

cat zabbix-server.conf
# zabbix-server - Start zabbix server
description "Zabbix Server"
author "S. CANCHON"
start on (runlevel [2345]
and started mysql)
stop on runlevel [016]
respawn
expect daemon
exec /usr/sbin/zabbix_server

# zabbix-agent - Start zabbix agent
description "Zabbix Agent"
author "S. CANCHON"
start on runlevel [2345]
stop on runlevel [016]
respawn
expect daemon
exec /usr/sbin/zabbix_agentd

Můj probém spočíval v tom, že při zadání /etc/init.d/zabbix-server start server nenastartoval a vystup hlasil že již běži. Pátral jsem v systému po utrobách Upstaru a nakonec zabral příkaz service zabbix-server start Posléze jiz /etc/init.d/zabbix-server start|restart zase fungoval. Upstart je událostně orientován, ale nenašel jsem v systému kam si co poznamenává. Hlavně že to funguje.

Ještě malá poznámka, že Upstart konfiguráky byly přidány do Zabbixu ve verzi 1.8.5.

Žádné komentáře: