Zabbix : plusieurs seuils sur un seul trigger

Ce type de trigger est particulièrement utile pour superviser l’utilisation de ressources qui peuvent beaucoup varier d’un serveur à l’autre, comme le disque ou la RAM. Le concept est d’avoir un seuil qui s’adapte à la taille de la ressource.

Un exemple concret avec l’utilisation disque. Le but est d’avoir une alerte :

  • à 5% d’utilisation pour une partition de moins de 700 Go
  • à 35 Go pour une partition entre 700 Go et 1300 Go
  • à 50 Go pour une partition de plus de 50 Go

Le trigger sera le suivant :

({Template OS:vfs.fs.size[{#FSNAME},total].last(0)}<700000000000 and {Template OS:vfs.fs.size[{#FSNAME},pfree].max(#3)}<5) or ({Template OS:vfs.fs.size[{#FSNAME},total].last(0)}>=700000000000 and {Template OS:vfs.fs.size[{#FSNAME},total].last(0)}<=1300000000000 and {Template OS:vfs.fs.size[{#FSNAME},free].max(#3)}<35000000000) or ({Template OS:vfs.fs.size[{#FSNAME},total].last(0)}>1300000000000 and {Template OS:vfs.fs.size[{#FSNAME},free].max(#3)}<50000000000)

Ce trigger est un peu complexe et il est difficilement interprétable pour quelqu’un qui n’est pas familier avec Zabbix. Il faudra donc bien le documenter.

Ce trigger se découpe en trois parties principales (les trois seuils différents), elles mêmes découpées en plusieurs sous-parties.

  1. ({Template OS:vfs.fs.size[{#FSNAME},total].last(0)}<700000000000 and {Template OS:vfs.fs.size[{#FSNAME},pfree].last(0)}<5) : Si la taille de la partition est inférieure à 700 Go (la valeur dans le trigger est en octet), alors on sonne si il reste moins de 5% d’espace libre
  2. ({Template OS:vfs.fs.size[{#FSNAME},total].last(0)}>=700000000000 and {Template OS:vfs.fs.size[{#FSNAME},total].last(0)}<=1300000000000 and {Template OS:vfs.fs.size[{#FSNAME},free].last(0)}<35000000000) : Si la taille de la partition est comprise entre 700 Go et 1300 Go, on sonne en dessous de 35 Go d’espace libre
  3. ({Template OS:vfs.fs.size[{#FSNAME},total].last(0)}>1300000000000 and {Template OS:vfs.fs.size[{#FSNAME},free].max(#3)}<50000000000) : Si la taille de la partition est supérieure à 1300 Go, alors on sonne si il reste moins de 50 Go de libre

Il y a deux points sur lesquels il faut faire attention. D’abord il faut s’assurer que toutes les valeurs de taille de partition sont couvertes. Si par exemple je fais disque < X or disque > X, et bien un disque qui fait exactement X ne sera pas pris en compte. Et comme on a toujours tendance à arrondir les tailles de disque et les seuils, ça peut arriver plus vite qu’on ne le pense.

Ensuite, il est possible que ces seuils possèdent des effets de bord qui peuvent être contre intuitifs. Si je prends l’exemple ci-dessus et que je trace le seuil en % en fonction de la taille du disque :

On peut voir un saut à 1300 Go, qui correspond à la limite entre le deuxième et le troisième seuil. A utilisation disque égal, il est donc possible de faire sonner le trigger en augmentant la taille de la partition.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.