J’ai développé un petit script en Bash afin de migrer les adresses IP dans les fichiers de configuration donnés, il est utile lors d’une migration de serveur / VM où il n’est pas possible de préserver l’ip.

Le script offre aussi la possibilité de sauvegarder les fichiers dans une archive Tar avant de faire les modifications et peut ajouter automatiquement les fichiers de configurations de Apache et Bind ou de n’importe quel répertoire donné.

Le script est disponible sous licence GPL à cette adresse https://git.safranil.fr/safranil/script/blob/master/migrateip.bash.

Si vous avez des soucis ou des améliorations à proposer, vous pouvez laisser un commentaire.

Source photographique : https://www.flickr.com/photos/camknows/4712191684

La clé vfs.fs.discovery qui permet de découvrir les disques montés sur un système n’est pas forcement adapté à toutes les configurations, dans le cas d’un serveur avec CageFS qui permet de chrooté les utilisateurs, cette même clé de configuration qui fait des miracles devient vite un fardeaux !

Pour cela j’ai fait un petit script pour n’afficher que les disques réellement monté par l’OS :

#!/bin/sh

mount |
awk ' BEGIN { FS=OFS=" "; ORS = ""; print "{\"data\":["; } \
{ print "{\"{#FSNAME}\":\""$3"\", \"{#FSTYPE}\":\""$5"\"}"; }
END { print "]}\n"; }' |
sed "s^}{^}, {^g"

Il suffit ensuite de placer ceci dans la configuration de l’agent :

UserParameter=vfs.fs.disk,/usr/share/zabbix/catdisk

Pour terminer il faut modifier le Template OS Linux > Discovery > Mounted filesystem discovery pour y placer ceci comme clé : vfs.fs.disk

Testé sur Zabbix 2.4