Zabbix - Alerte occupation disque fonction de la capacité?

Hello les Zabbix users,

J’espère ne pas abuser mais comme j’ai vu que plusieurs d’entre vous maîtrisez le produit je recherche une solution « générique » à mon problème.

Mes machines sont toutes, désormais, suivies par « Linux by Zabbix agent » et certaines me remontent un problème de partition pleine à plus de 90%.

J’aimerais reproduire l’alerte que j’ai mise en place sur mon Rudder (pour rappel, en panne en ce moment) à savoir 90% pour une petite capacité, 50Go par exemple, et 95% pour au-delà.

Je suppose qu’avec Zabbix, comme avec Rudder, il est possible de coder cette fonctionnalité.

Mais je n’ai pas de temps à passer à du codage applicatifs spécifiques que ce soit sous Rudder ou sous Zabbix.

Sous Rudder, je m’en sors avec des petits scripts en bash, placées dans les hooks Rudder ou dans des cron, qui m’envoient des alertes dans un répertoire qui est testé comme devant être toujours vide par Rudder. Donc pour simplifier, un seul codage Rudder me permet de suivre ce que je veux par du simple bash. J’ai bien sûr d’autres « alertes Rudder directes » mais très peu au regard de l’ensemble de mes alertes.

J’aimerais une solution similaire sous Zabbix, en gros une alerte générique qui soit alimentée par des scripts bash. Qu’en pensez-vous? Avez-vous une autre idée plus simple?

il faut passer par les macros.
Chaque template/item a des valeurs par défaut.
Quand tu utilises un template/item pour une machine, tu peux redéfinir à chaque fois cette valeur.
Il faut aller dans les triggers.
Et à ce moment là tu peux lui définir les valeurs.
Dans le menu tu vas dans Data Collection → Hosts:
image

Puis tu selectionnes ton Host:
image

Tu vas dans macros et tu selectionnes les héritages:
image

Tu cherches ensuite la Macro que tu veux modifier pour cet host:
image

Et tu modifie les valeurs avec un click sur Change:
image

Ensuite tu fais un update bien sur.

Ça sera modifié pour tous les FS.PUSED de cet host.
Voilà vite fait.
Mais tu peux aussi ajouter par exemple :
$VFS.FS.PUSED.MAX.WARN:/home = 60

Pour ca dans macro tu ajoute avec cette syntaxe:
image

Attention je crois que le point de montage doit être entre guillemets :slight_smile:

Ne te reste plus qu’à jouer avec tout ça (attention pour avoir une alerte c’est le trigger qui compte)

1 J'aime

Hello @Zargos,

Je viens de suivre ton modop, ce n’est effectivement pas très compliqué, mais ce n’est pas ce que je souhaite faire, car trop difficile à maintenir. Je souhaite une règle générique qui s’applique à tous mes hosts et ne pas avoir de limite à ma créativité sans passer de temps à fouiller la doc Zabbix, donc mes scripts bash me vont très bien.

En fouillant un peu la doc et internet je devrais m’en sortir avec mes scripts existants et en testant avec Zabbix le répertoire destination de mes scripts qui doit, sans alerte, être vide.

A priori je compte utiliser la cle vfs.dir.size
https://www.zabbix.com/documentation/current/en/manual/config/items/itemtypes/zabbix_agent

Cela devrait fonctionner avec mes scripts existants qui sont déjà présents sur tous mes hosts (transférés par Rudder)

Je devrais récupérer mon Rudder dans ~1 mois, mais je regarde tout de même pour une autre solution de transfert des nouveaux scripts à tout mes hosts. Directement via Zabbix, a priori pas possible? Avec Zabbix ou un cron qui déclenche des cdes Saltstack? via Rsync / Syncthing / … ?
L’idée étant qu’à terme je dispose de 2 systèmes (Rudder et Zabbix) à des endroits différents, qui seraient complémentaire mais aussi redondantzdans des fonctionnalités de base (surveillances / alertes)

Moi aussi je voudrais que ce soit super simple avec juste une ligne de configuration :smiley:

Blague à part pour te donner une idée il m’aura fallu un peu de temps pour apprendre à Maîtriser mais à la maison et sur quelques machines sur un cloud :

J’utilise une machine avec Git + Kolla + Opentofu + Teleport + Semaphore pour gérer la configuration et le déploiement de plusieurs VPS et un Openstack en multi hôte.
Pour le monitoring du Prometheus, Zabbix et la telemetry de Openstack.

Le monitoring s’appuie sur de la discovery, selon les nom de machine et leur type déclaré j’utilise des templates adapté qui me remontent les services et les items que je souhaite.

Tu doit en effet regardé sur la complexité que tu est prêt à devoir gérer pour la mise en place, pour le maintient c’est bien plus simple que l’on pourrait croire.

1 J'aime

J’adore le monde du libre, il y a souvent de multiples solutions à un même besoin, chacune avec ses avantages, le meilleur exemple est les distributions dont le nombre est malheureusement l’un des freins à l’utilisation plus massive de Linux.

En ce qui me concerne, j’utilise Rudder, Git, un peu de Saltstack et du monitoring local en cas de besoin (Monitorix et les …top). A l’installation de base toute nouvelle machine, j’installe l’agent Rudder qui m’installe le reste (agent Saltstack, …)
J’ai des machines sur 4 lieux différents (ma famille*) et 1 seul vps pour l’instant.
*Un de mes frères utilise Linux (Debian) depuis 20 ans sans rien connaître à l’informatique et sans avoir connu Windows. Depuis qq années déjà il est capable de s’installer une machine sans moi.

Demain (dans quelques mois), il est probable, avec ce que je découvre, que j’aurai aussi Zabbix qui m’apportera le monitoring centralisé et, le serveur étant situé dans un lieu différent du serveur Rudder, une redondance de la surveillance de l’ensemble qui sera, pour la base esentielle, effectuée par des petits scripts commun Rudder et Zabbix.

Zabbbix étant dans ma todo list, la panne du serveur physqiue hébergeant mon Rudder, me fait traiter cela en priorité.

Après-demain (dans qq années probablement), dans ma todo list j’ai de regarder pour partager des ressources avec autrui (chatons, tahoe-lafs …) afin d’améliorer nos redondances réciproques mais surtout de participer à une plus large utilisation du libre (l’exemple de mon frère est très bien pour cela).

Bonne journée.