Plugin do Nagios para checar disco via SNMP
Publicado por Andre Luiz Facina 30/10/2008
[ Hits: 11.650 ]
Plugin do Nagios, que utiliza SNMP para checar a utilização do disco.
Usage: check_disk_snmp IP COMMUNITY DISK_MIB WARNING CRITICAL
#!/bin/sh
####################################################
#### Script desenvolvido por André Luiz Facina #####
####################################################
######## Variaveis #########
# Variável de unidade de alocação, obtida a partir da MIB hrStorageAllocationUnits.X, onde X é a partição/disco a ser monitorado
stg_unit=`snmpget -v 1 -c $2 $1 hrStorageAllocationUnits.$3 | awk '{print $4}'`
# Variáveis de tamanho do Disco/Partição, obtida a partir da MIB hrStorageSize, onde X é a partição/disco a ser monitorado
# Tamanho do disco, conforme recebido na MIB sem a unidade de alocacao
mib_disk_size=`snmpget -v 1 -c $2 $1 hrStorageSize.$3 | awk '{print $4}'`
# Tamanho do disco em KB - mib_disk_size * unidade de alocacao
disk_size=$((mib_disk_size*stg_unit))
# Tamanho do disco em MB
disk_size_mb=$(((disk_size/1024)/1024))
# Tamanho do disco em GB
disk_size_gb=$((((disk_size/1024)/1024)/1024))
# Calculo de porcentagem para Warning e Critical
disk_warn=$((disk_size_mb*$4))
disk_crit=$((disk_size_mb*$5))
# porcentagem warning
warning=$((disk_warn/100))
#porcentagem critical
critical=$((disk_crit/100))
# Verificar utilização do disco/partição
# Variavel obtida da MIB hrStorageUsed.X, onde X é a partição a ser monitorada
mib_disk_usage=`snmpget -v 1 -c $2 $1 hrStorageUsed.$3 | awk '{print $4}'`
# Multiplica o valor da MIB pela unidade de alocacao obtida a partir da MIB
disk_usage=$((mib_disk_usage*stg_unit))
# Espaço utilizado em MB
disk_usage_mb=$(((disk_usage/1024)/1024))
# Espaço utilizado em GB
disk_usage_gb=$((((disk_usage/1024)/1024)/1024))
# Verificação dos valores e retorno para o Nagios
# Checking Warning
if [ $disk_usage_mb -ge $warning ]; then
if [ $disk_usage_mb -lt $critical ]; then
echo "Warning: Disk Usage $disk_usage_mb MB of $disk_size_mb MB"
exit 1
fi
fi
# Cheking Critical ;-)
if [ $disk_usage_mb -ge $critical ]; then
echo "Critical: Disk Usage $disk_usage_mb MB of $disk_size_mb MB"
exit 2
fi
# Cheking OK
if [ $disk_usage_mb -lt $warning ]; then
echo "OK: Disk Usage $disk_usage_mb MB of $disk_size_mb MB"
exit 0
fi
Monitoração e coleta de dados de performance de servidores GNU/Linux
Como Converter várias fotos JPG em arquivos PDFs, compactando e girando em 90º
Firewall Iptables agressivo para desktop
Implementando Statement e RecordSet em bash script
Criação de servidores de arquivos simples com Samba
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Warcraft II Remastered no Linux? (7)
O programa assinador digital (5)









