úterý 14. února 2012

Zabbix Debian init.d script

Dnes od rána řeším nenabíhání zabbix-agent i zabbix-server po rebootu. Instalace zabbixu je ze src, kde se i nachazeji init scripty od tvůrce Zabbixu Alexei Vladishev.

./zabbix-1.8.10/misc/init.d/debian/zabbix-server
./zabbix-1.8.10/misc/init.d/debian/zabbix-agent

Tyto scripty jsou funkční, ale ne po bootu. Jsou psány zjevně pro starší Debian. Debian Linux 6.0 (“Squeeze”) používá Script LSB (Linux Standards Base). Vice je popsáno zde.

Nejprve jsem se snažil přidat patřičnou sekci do src init.d scriptu. Ale to nepomohlo.

### BEGIN INIT INFO
# Provides: zabbix-server
# Required-Start: $remote_fs $network
# Required-Stop: $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Should-Start: mysql
# Should-Stop: mysql
# Short-Description: Start zabbix-server daemon
### END INIT INFO


V desktop virtuálu mám Debian-6.0.4 a tak jsem si na něm udělal snapshot a nainstaloval zabbix-agennt a zabbix-server-mysql. A posléze si zkopíroval balíčkové 1.8.2 init scripty, které by fungovat měly.

Jenomže ejhle taky nezafungovaly. Tak jsem pátral dál a přišel jsem na daný problém. Defaulní src vzorové konfiguráky zabbix-server.conf používají proměnnou PidFile v /tmp, což jsem chybně zachoval a v tom je ten problém. Config i init script jsem měl upraven tak aby se použival pid v /tmp. Po přepsání konfigurace serveru i agenta na správné umístění PIDu, začal start zabbixu po bootování fungovat.

PidFile=/var/run/zabbix-server/zabbix_server.pid
...
NAME=zabbix_server
DAEMON=/opt/zabbix-server/sbin/$NAME
DESC="Zabbix server"
DIR=/var/run/zabbix-server
PID=$DIR/$NAME.pid

Žádné komentáře: