template-zabbix
Pour intégrer ce script dans Zabbix v7, vous pouvez créer un template XML qui inclut des macros, des items, des triggers et des règles de découverte. Voici un exemple de template XML basé sur votre script :
<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
<version>7.0</version>
<date>2023-10-01T12:00:00Z</date>
<groups>
<group>
<name>Templates</name>
</group>
</groups>
<templates>
<template>
<template>Template Mapr Cluster Disk Status</template>
<name>Template Mapr Cluster Disk Status</name>
<description>Template pour surveiller les disques défaillants dans un cluster MapR</description>
<groups>
<group>
<name>Templates</name>
</group>
</groups>
<macros>
<macro>
<macro>{$MAPR_USER}</macro>
<value>mapr</value>
<description>Utilisateur pour l'API MapR</description>
</macro>
<macro>
<macro>{$MAPR_PASSWORD}</macro>
<value>******</value>
<description>Mot de passe pour l'API MapR</description>
</macro>
<macro>
<macro>{$MAPR_CLUSTER}</macro>
<value>caas-production-cluster</value>
<description>Nom du cluster MapR</description>
</macro>
<macro>
<macro>{$MAPR_API_URL}</macro>
<value>https://caas-production-vip.bd.prodinfo.gca:8443/rest</value>
<description>URL de l'API MapR</description>
</macro>
</macros>
<items>
<item>
<name>Failed Disks Check</name>
<type>SCRIPT</type>
<key>failed_disks_check.sh</key>
<delay>5m</delay>
<description>Script pour vérifier les disques défaillants dans le cluster MapR</description>
<username>{$MAPR_USER}</username>
<password>{$MAPR_PASSWORD}</password>
<params>{$MAPR_API_URL} {$MAPR_CLUSTER}</params>
<trends>0</trends>
<value_type>TEXT</value_type>
<applications>
<application>
<name>Mapr Cluster</name>
</application>
</applications>
</item>
</items>
<triggers>
<trigger>
<expression>{Template Mapr Cluster Disk Status:failed_disks_check.sh.str(CRITICAL)}=1</expression>
<name>Disques défaillants détectés</name>
<priority>HIGH</priority>
<description>Des disques défaillants ont été détectés dans le cluster MapR</description>
</trigger>
</triggers>
<discovery_rules>
<discovery_rule>
<name>Découverte des nœuds avec des disques défaillants</name>
<key>failed_disks_discovery</key>
<delay>1h</delay>
<lifetime>30d</lifetime>
<description>Découverte des nœuds avec des disques défaillants dans le cluster MapR</description>
<item_prototypes>
<item_prototype>
<name>Failed Disks on {#NODE}</name>
<key>failed_disks[{#NODE}]</key>
<type>SCRIPT</type>
<delay>5m</delay>
<params>{$MAPR_API_URL} {$MAPR_CLUSTER} {#NODE}</params>
<username>{$MAPR_USER}</username>
<password>{$MAPR_PASSWORD}</password>
<value_type>TEXT</value_type>
<applications>
<application>
<name>Mapr Cluster</name>
</application>
</applications>
</item_prototype>
</item_prototypes>
<trigger_prototypes>
<trigger_prototype>
<expression>{Template Mapr Cluster Disk Status:failed_disks[{#NODE}].str(CRITICAL)}=1</expression>
<name>Disques défaillants sur {#NODE}</name>
<priority>HIGH</priority>
<description>Des disques défaillants ont été détectés sur le nœud {#NODE}</description>
</trigger_prototype>
</trigger_prototypes>
</discovery_rule>
</discovery_rules>
</template>
</templates>
</zabbix_export>