Archives par mot-clé : Ubuntu

Sous Linux Ubuntu – planifier un redémarrage tous les jours à heure fixe

Il faut tout d’abord accéder au cron de l’utilisateur root avec la commande :

sudo crontab -e

Rajoutez ensuite la ligne suivante pour un redémarrage à 3h15 toutes les nuits par exemple :

15 3 * * * /sbin/shutdown -r now

CTRL+X pour sortir de l’éditeur puis Y pour sauvegarder.

 

Plus d’informations sur le cron sous Linux :

https://doc.ubuntu-fr.org/cron

Suite à une mise à jour, Zabbix ne se lance plus au démarrage.

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

Avec Zabbix, détecter si un reboot est necessaire suite à des mises à jour sous Debian / Ubuntu

Pour savoir si un serveur Linux attend un redémarrage, il suffit de vérifier si le fichier /var/run/reboot-required existe. S’il est présent, un redémarrage est à faire.

Pour la mise en place du monitoring de cet élément avec Zabbix, il suffit de créer un item de ce genre :

  • ITEM :
    • Type : Zabbix agent
      • Key : vfs.file.exists[/var/run/reboot-required]
      • Type of information : Numeric (unsigned)
      • Data type : Boolean

Votre item devait alors ressembler à ceci :

linux reboot required item

On peut ensuite y associer un trigger pour avoir une alerte si un redémarrage est à faire :

  • TRIGGER :
    • Expression : {<Template utilisé>:vfs.file.exists[/var/run/reboot-required],last()}=1

Votre trigger devait alors ressembler à ceci :

linux reboot required trigger

 

 

Et enfin voilà le genre d’alerte qui peut être générée :

linux reboot required alerts