Zabbix: Comment puis-je surveiller si les commands à distance sont activées?

J'ai un problème avec certains triggersurs zabbix ne pas triggersr en raison du fait que EnableRemoteCommands n'a pas été activé sur certains hôtes. J'ai essayé d'aborder ceci en ajoutant un triggersur spécifiquement vérifiant si EnableRemoteCommands est défini sur 1 dans la configuration de l'agent zabbix:

 {Template OS Linux:system.run["cat /etc/zabbix/zabbix_agentd.conf | grep EnableRemoteCommands=1"].str(EnableRemoteCommands=1)}=0 

Mais, bien sûr, cette triggersur repose sur des commands à distance, donc ne fonctionnera pas sur les hôtes qui les ont désactivés.

Pour une raison quelconque, si zabbix ne peut pas exécuter une command à distance, il laisse le triggersur avec un état "OK". Existe-t-il un moyen de passer à un statut "PROBLÈME"?

Utilisez UserParameter qui fonctionne sans EnableRemoteCommands activé:

UserParameter=<key>,<command>

Dans ton cas:

UserParameter=zabbix.remotecommands, egrep 'EnableRemoteCommands.*=.*1' /etc/zabbix/zabbix_agentd.conf

Ensuite, créez un élément zabbix.remotecommands avec le type Zabbix Agent et l'instruction suivante pour vérifier:

{Template OS Linux:zabbix.remotecommands.strlen()}=0

Il triggersra si l'élément ne renverra rien, par exemple, EnableRemoteCommands est désactivé. system.run pas system.run lorsque vous n'avez absolument pas besoin, il est désactivé par défaut par but – vous pouvez faire n'importe quoi en utilisant d'autres façons que Zabbix vous fournit.

Si la configuration de l'agent principal est effectuée dans un seul file, nous pourrions probablement utiliser l' élément vfs.file.regexp (ou vfs.file.regmatch) ici. Par exemple:

 vfs.file.regexp[{$AGENT_CONFIG},^EnableRemoteCommands=1] 

Ce n'est pas parfait, car il ne search que le file de configuration principal pour le paramètre EnableRemoteCommands , mais ce paramètre peut être remplacé par un file inclus.