Voici un petit problème qui m’est arrivé recemment.
Après une mise a jour sur un serveur sous Ubuntu 14.04 hébergeant Zabbix server 3.0.3, celui-ci semblait ne plus se lancer automatiquement après un reboot.
En regardant les logs de Zabbix server, on voit que le processus se lance mais s’arrête car il ne semble pas pouvoir se connecter à la base de données :
1651:20160524:111608.583 End of zbx_mem_create()
1651:20160524:111608.583 End of zbx_vc_init()
1651:20160524:111608.583 In zbx_db_get_database_type()
1651:20160524:111608.583 In DBconnect() flag:0
1651:20160524:111608.587 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
1651:20160524:111608.588 Cannot connect to the database. Exiting...
Zabbix semble être trop rapide pour Mysql qui ne s’est pas encore lancé … Je ne sais pas pourquoi ce problème est apparu avec cette récente mise à jour.
Mais il est possible de s’en accommoder : en modifiant le fichier de configuration du service zabbix-server.
Celui-ci se trouve ici : /etc/init/zabbix-server.conf
Il faut l’éditer et lui dire d’attendre quelques secondes avant de se lancer, avec la commande <code>sleep</code>, voici mon fichier de configuration avec mes modifications en gras :
# Upstart job to start the zabbix server description "Zabbix server" author "Christian Kampka <chris@emerge-life.de>" start on (filesystem and net-device-up IFACE=lo) stop on runlevel [!2345] expect daemon respawn # wait for server to properly disconnect from connected nodes kill timeout 30 console log env DIR="/var/run/zabbix" pre-start script # add a little time to make sure that Mysql has started sleep 15 # stop job from continuing if no config file found for daemon [ ! -f /etc/default/zabbix-server ] && { stop; exit 0; } # source the config file . /etc/default/zabbix-server # stop job from continuing if admin has not enabled service in # config file. [ "x$START" = "xyes" ] || { stop; exit 0; } [ -d "$DIR" ] || mkdir "$DIR" chown -R zabbix:zabbix "$DIR" end script script . /etc/default/zabbix-server exec /usr/sbin/zabbix_server -c $CONFIG_FILE end script