Pessoal,
Estou com um problema que acho que o Zabbix sozinho (versão 5.0.2) não consegue resolver.
O que fazer quando queremos coletar uma OID que nem sempre está presente ?
Estou monitorando uma OLT da VSOL (V1600D-MINI) que possui uma OID que me diz quando há novas ONU a serem autorizadas na rede, como um novo dispositivo encontrado. OID = 1.3.6.1.4.1.37950.1.1.5.12.1.13.1.2 onuAutoFindPon
Porém essa OID só se faz "ativa" ou "presente" quando de fato há novas ONUs nada rede, e quando isso acontece, além da OID funcionar, ela retornar o valor 1.
Porém quando não á novas ONUs na rede, a OID some, e o Zabbix e qualquer outro dispositivo que faça um SNMPWALK recebe a informação : Such Instance currently exists at this OID ou No such object available on this agent at this OID
Então vaerrendo a Internet não achei nada no próprio Zabbix para contornar isso.... Isso o que ? O que fazer quando o Zabbix não achar uma OID que foi cadastrada, como criar uma trigger para isso ? ou como tratar essa situação específica.
Ai eu achei um script no Zabbix Share que aparentemente contorna esse problema, porém não sei trabalhar com scripts no Zabbix, nunca usei.
https://share.zabbix.com/zabbix-tool...-such-instance
Estou com um problema que acho que o Zabbix sozinho (versão 5.0.2) não consegue resolver.
O que fazer quando queremos coletar uma OID que nem sempre está presente ?
Estou monitorando uma OLT da VSOL (V1600D-MINI) que possui uma OID que me diz quando há novas ONU a serem autorizadas na rede, como um novo dispositivo encontrado. OID = 1.3.6.1.4.1.37950.1.1.5.12.1.13.1.2 onuAutoFindPon
Porém essa OID só se faz "ativa" ou "presente" quando de fato há novas ONUs nada rede, e quando isso acontece, além da OID funcionar, ela retornar o valor 1.
Porém quando não á novas ONUs na rede, a OID some, e o Zabbix e qualquer outro dispositivo que faça um SNMPWALK recebe a informação : Such Instance currently exists at this OID ou No such object available on this agent at this OID
Então vaerrendo a Internet não achei nada no próprio Zabbix para contornar isso.... Isso o que ? O que fazer quando o Zabbix não achar uma OID que foi cadastrada, como criar uma trigger para isso ? ou como tratar essa situação específica.
Ai eu achei um script no Zabbix Share que aparentemente contorna esse problema, porém não sei trabalhar com scripts no Zabbix, nunca usei.
https://share.zabbix.com/zabbix-tool...-such-instance
#!/usr/local/bin/bash
# Arguments
# $1: Host
# $2: Community string
# $3: The requested oid
# $4: Error value (The error value you want to replace)
# There are two possible error strings
varErrorObject="No Such Object available on this agent at this OID"
varErrorInstance="No Such Instance currently exists at this OID"
# Try to get SNMP value
snmpValue=$(/usr/local/bin/snmpget -v2c -c $2 $1 $3)
# Clean data from error aka replace error string with provided error value $4
snmpCleanObject=${snmpValue/$varErrorObject/$4}
snmpCleanAll=${snmpCleanObject/$varErrorInstance/$4}
# Echo the result. Cut out everything before "=" sign. Cut out everything before ":"
echo $snmpCleanAll | cut -f2 -d"=" | cut -f2 -d":"
# Arguments
# $1: Host
# $2: Community string
# $3: The requested oid
# $4: Error value (The error value you want to replace)
# There are two possible error strings
varErrorObject="No Such Object available on this agent at this OID"
varErrorInstance="No Such Instance currently exists at this OID"
# Try to get SNMP value
snmpValue=$(/usr/local/bin/snmpget -v2c -c $2 $1 $3)
# Clean data from error aka replace error string with provided error value $4
snmpCleanObject=${snmpValue/$varErrorObject/$4}
snmpCleanAll=${snmpCleanObject/$varErrorInstance/$4}
# Echo the result. Cut out everything before "=" sign. Cut out everything before ":"
echo $snmpCleanAll | cut -f2 -d"=" | cut -f2 -d":"
Comment