0% acharam este documento útil (0 voto)
26 visualizações2 páginas

Scripts Zabbix para Monitoramento SNMP

Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
26 visualizações2 páginas

Scripts Zabbix para Monitoramento SNMP

Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd

#Desnvolvido por: Bee Solutions

#Autor: Fernando Almonde


#Data: 16/05/2023 11:00

# Crie o diretório temporário de arquivos


mkdir /var/tmp/zabbix/
chown -R zabbix:zabbix /var/tmp/zabbix/

# Script 1 - Contador #
vim /usr/lib/zabbix/externalscripts/[Link]
#!/bin/bash

#Desnvolvido por: Bee Solutions


#Autor: Fernando Almonde
#Data: 15/05/2023

DATA=$(date "+%d-%m-%Y_%H-%M-%S")
echo "Ultima execucao: $DATA"

IP="$1"
COMMUNITY="$2"

#Lista de ONUs por Slot: [Link].4.1.5875.[Link].1.2


#Lista de ONUs por Porta: [Link].4.1.5875.[Link].1.3
#Lista de ONUs por Status: [Link].4.1.5875.[Link].1.11

# Gerando lista atualizada


snmpwalk -v2c -c "$COMMUNITY" "$IP" iso.[Link].1.5875.[Link].1.2 >
/var/tmp/zabbix/lista_slots_$[Link]
snmpwalk -v2c -c "$COMMUNITY" "$IP" iso.[Link].1.5875.[Link].1.3 >
/var/tmp/zabbix/lista_pons_$[Link]
snmpwalk -v2c -c "$COMMUNITY" "$IP" iso.[Link].1.5875.[Link].1.11 >
/var/tmp/zabbix/lista_status_$[Link]

# Criando listas
lista_slots=$(cat /var/tmp/zabbix/lista_slots_$[Link] | awk -F
'iso.[Link].1.5875.[Link].1.2.' '{print $2}' | awk '{print $1,$4}')
lista_pons=$(cat /var/tmp/zabbix/lista_pons_$[Link] | awk -F
'iso.[Link].1.5875.[Link].1.3.' '{print $2}' | awk '{print $1,$4}')
lista_status=$(cat /var/tmp/zabbix/lista_status_$[Link] | awk -F
'iso.[Link].1.5875.[Link].1.11.' '{print $2}' | awk '{print $1,$4}')

# Criando lista final


echo "" > /var/tmp/zabbix/lista_final_$[Link]

#echo "$lista_slots"
#echo "$lista_pons"
#echo "$lista_status"

# Lendo listas e criando lista unica


while read id slot
do

porta=$(grep "^$id " <<< "$lista_pons" | cut -d " " -f 2)


status=$(grep "^$id " <<< "$lista_status" | cut -d " " -f 2)

echo "$id $slot/$porta $status" >> /var/tmp/zabbix/lista_final_$[Link]


done <<< "$lista_slots"

###################################################################################
######

# Script 2 - Auxiliar #

vim /usr/lib/zabbix/externalscripts/ponfh

#!/bin/bash

#Desnvolvido por: Bee Solutions


#Autor: Fernando Almonde
#Data: 15/05/2023

#Ex 1: ./pon "2/1" "1" "[Link]"


#Ex 2: cat /var/tmp/zabbix/lista_final_192.[Link] | grep -w "2/1" | awk
'{print $3}' | grep -w "1" | wc -l

#Iniciando variaveis
PON=$1
STATUS=$2
IP=$3

#Lista de ONUs por Slot [Link].4.1.5875.[Link].1.2


#Lista de ONUs por porta [Link].4.1.5875.[Link].1.3

#Status (OID Base ONU Status: [Link].4.1.5875.[Link].1.11)


#0: los
#1: online
#2: offline
#3: online sem dados
#4: dyinggasp

cat /var/tmp/zabbix/lista_final_$[Link] | grep -w "$PON" | awk '{print $3}' | grep


-w "$STATUS" | wc -l

# Dê permissão de execução aos scripts


chmod +x /usr/lib/zabbix/externalscripts/[Link]
chmod +x /usr/lib/zabbix/externalscripts/ponfh

# Adicione o crontab depois de criar os scripts (Lembre-se de substituir as


variaveis "OLT-IP" e "OLT-COMMUNITY" pelo IP da sua OLT e pela community SNMP dela)
crontab -e
*/7 * * * * /usr/lib/zabbix/externalscripts/[Link] "OLT-IP" "OLT-COMMUNITY"
> /usr/lib/zabbix/externalscripts/contador_log_10.[Link]

Você também pode gostar