Ce billet porte mal son nom. En effet, il est censé recueillir mes notes prises lors de la mise à jour de mes serveur de Debian 6 (Squeeze) à Debian 7 (Wheezy) et surtout les surprises que j'ai eues. En fait, les cinq paragraphes ci-dessous traitent de Munin, car tout le reste a fonctionné ou, au moins, était documenté (en amont ou lors de la migration).
Munin : racine en double sur le plugin df
La racine apparaît deux fois sur le plugin df. Pour corriger, éditer le fichier /etc/munin/plugin-conf.d/munin-node et, dans la section [df*], exclure le rootfs :
[df*]
env.exclude none unknown iso9660 squashfs udf romfs ramfs debugfs rootfs
env.warning 92
env.critical 98
Munin : erreur du plugin apt_all
Le plugin apt_all ne fonctionne plus. La tâche cron de mise à jour renvoie des messages d'erreur :
E: The value 'testing' is invalid for APT::Default-Release as such a release is not available in the sources
E: The value 'unstable' is invalid for APT::Default-Release as such a release is not available in the sources
Après investigation, il s'agit apparemment d'un problème similaire à celui-ci : Bug#702442: munin-node: apt_all uses different state files for cron job and as a plugin.
Pour corriger, éditer le fichier /usr/share/munin/plugins/apt_all et modifier la variable "@releases" :
#my @releases = ("stable", "testing","unstable");
my @releases = ("stable");
Puis définir dans /etc/munin/plugin-conf.d/munin-node la variable d'environnement MUNIN_PLUGSTATE :
[apt_all]
env.MUNIN_PLUGSTATE /var/lib/munin-node/plugin-state/root/
Munin - alertes Munin et plugin ntp_states
Certains plugins Munin se traînent lamentablement, à tel point que le timeout expire, comme le signale le journal :
2013/06/11-09:10:59 [30489] Service 'ntp_states' timed out.
2013/06/11-09:11:01 [30489] Service 'open_files' timed out.
2013/06/11-09:11:02 [30489] Node side timeout while processing: 'fetch open_files'
[...]
2013/06/11-09:15:59 [30772] Service 'postfix_mailvolume' timed out.
2013/06/11-09:16:01 [30772] Service 'postfix_mailvolume' timed out.
2013/06/11-09:16:02 [30772] Node side timeout while processing: 'config proc_pri'
On se retrouve avec des graphiques en pointillés.
Explication du problème :
J'avais désactivé IPv6 sur mon serveur mail. (Ou je croyais l'avoir fait.) Lors de la mise à jour, IPv6 a été réactivé et le démon NTP a choisi comme serveurs de référence des serveurs en IPv6. Il faut savoir aussi que le plugin Munin ntp_state part de l'adresse IP des serveurs et effectue une requête DNS pour obtenir son nom. Et cette requête prenait beaucoup de temps et échouait ; je ne sais pas exactement pourquoi.
Pour contourner ce problème, deux possibilités. La première est simplement de désactiver de nouveau IPv6 :
- sysctl net.ipv6.conf.all.disable_ipv6=1
Il est aussi possible de ne pas résoudre les adresses en modifiant le plugin. Dans /usr/share/munin/plugins/ntp_state, commenter les lignes 116 à 123 :
# if ($packet) {
# my @answer = $packet->answer;
# foreach my $rr (@answer) {
# if ("PTR" eq $rr->type) {
# $host = $rr->ptrdname;
# }
# }
# }
Munin - erreurs "Use of uninitialized value ..."
Au passage, je me suis rendu compte que mes logs étaient remplis de cette erreur :
Use of uninitialized value in pattern match (m//) at /usr/share/perl5/Net/Server.pm line 600.
C'est le package libnet-server-perl qui est en cause. Il est encore en version 2.006 et ce bug n'est donc pas encore résolu : libnet-server-perl: Uninitialized value in pattern match spam. On peut appliquer le patch ou attendre que la version 2.007 soit mise sur les dépôts.
Munin - Erreur 404 lors de la consultation des graphiques
Après mise à jour de Munin (tout court, pas -node), je ne pouvais tout simplement plus accéder à l'interface de Munin : erreur 404. Pour cause, le lien vers le fichier de configuration avait sauté. Il m'a donc suffit de le refaire :
- ln -s /etc/munin/apache.conf /etc/apache2/conf.d/munin.conf