Bonjour,
Voilà, j'ai voulu créer quelque chose pour que dans mon modèle de supervision Zabbix, les interfaces remontent automatiquement puis qu'elles soient ping afin de savoir si elles sont allumées ou éteintes.
J'ai donc essayé plusieurs schémas et tutoriels sur le net, mais sans solution (utiliser des modèles déjà préconfigurés, IA...). Par exemple, quand j'ai essayé les éléments de découverte de Zabbix, j'avais un nombre d'interfaces excessif qui remontaient, et moi je veux superviser uniquement les interfaces qui remontent dans le système Windows.
J'ai donc fini par essayer ceci :
Je crée d'abord un élément dans mon modèle.
Nom : Découverte Interface Réseau
Type : Agent Zabbix
Clé : system.run[powershell -NoProfile -ExecutionPolicy Bypass -File 'C:\Program Files\Zabbix Agent 2\Interface.ps1']
Intervalle d'actualisation : 5s
Voila le script Interface.ps1 :
###
$results = Get-NetAdapter | Where-Object { $_.Status -eq 'Up' } | ForEach-Object {
$adapter = $_
$ip = Get-NetIPAddress -InterfaceIndex $adapter.ifIndex -AddressFamily IPv4 | Select-Object -First 1
[PSCustomObject]@{
"{#INTERFACENAME}" = $adapter.Name
"{#STATUS}" = $adapter.Status
"{#IPADDRESS}" = $ip.IPAddress
}
}
ConvertTo-Json -InputObject $results
###
Une fois cet élément créé, je crée une règle de découverte.
Nom : Disponibilité de l'agent
Type : Agent Zabbix
Clé : zabbix[host,active_agent,available]
Intervalle d'actualisation : 5s
Ensuite, je crée un prototype d'éléments.
Nom : {#INTERFACENAME}
Type : Élément dépendant
Clé : icmpping[{#IPADDRESS}]
Élément Maître : Windows-Infra: Découverte Interface Réseau
Je ne sais pas si c'est moi qui ne comprends pas le fonctionnement de Zabbix, ou si c'est autre chose.
Merci d'avance, je suis preneur de toutes solutions alternatives. Je tiens juste à préciser que pour le ping, je veux utiliser un moyen qui ne dépend pas de l'agent (pour différencier quand l'agent ne fonctionne pas et quand l'interface ne fonctionne pas).
Voilà, j'ai voulu créer quelque chose pour que dans mon modèle de supervision Zabbix, les interfaces remontent automatiquement puis qu'elles soient ping afin de savoir si elles sont allumées ou éteintes.
J'ai donc essayé plusieurs schémas et tutoriels sur le net, mais sans solution (utiliser des modèles déjà préconfigurés, IA...). Par exemple, quand j'ai essayé les éléments de découverte de Zabbix, j'avais un nombre d'interfaces excessif qui remontaient, et moi je veux superviser uniquement les interfaces qui remontent dans le système Windows.
J'ai donc fini par essayer ceci :
Je crée d'abord un élément dans mon modèle.
Nom : Découverte Interface Réseau
Type : Agent Zabbix
Clé : system.run[powershell -NoProfile -ExecutionPolicy Bypass -File 'C:\Program Files\Zabbix Agent 2\Interface.ps1']
Intervalle d'actualisation : 5s
Voila le script Interface.ps1 :
###
$results = Get-NetAdapter | Where-Object { $_.Status -eq 'Up' } | ForEach-Object {
$adapter = $_
$ip = Get-NetIPAddress -InterfaceIndex $adapter.ifIndex -AddressFamily IPv4 | Select-Object -First 1
[PSCustomObject]@{
"{#INTERFACENAME}" = $adapter.Name
"{#STATUS}" = $adapter.Status
"{#IPADDRESS}" = $ip.IPAddress
}
}
ConvertTo-Json -InputObject $results
###
Une fois cet élément créé, je crée une règle de découverte.
Nom : Disponibilité de l'agent
Type : Agent Zabbix
Clé : zabbix[host,active_agent,available]
Intervalle d'actualisation : 5s
Ensuite, je crée un prototype d'éléments.
Nom : {#INTERFACENAME}
Type : Élément dépendant
Clé : icmpping[{#IPADDRESS}]
Élément Maître : Windows-Infra: Découverte Interface Réseau
Je ne sais pas si c'est moi qui ne comprends pas le fonctionnement de Zabbix, ou si c'est autre chose.
Merci d'avance, je suis preneur de toutes solutions alternatives. Je tiens juste à préciser que pour le ping, je veux utiliser un moyen qui ne dépend pas de l'agent (pour différencier quand l'agent ne fonctionne pas et quand l'interface ne fonctionne pas).
Comment