Plugin do Nagios para checar disco via SNMP

Publicado por Andre Luiz Facina 30/10/2008

[ Hits: 11.353 ]

Download check_disk_snmp




Plugin do Nagios, que utiliza SNMP para checar a utilização do disco.

Usage: check_disk_snmp IP COMMUNITY DISK_MIB WARNING CRITICAL

  



Esconder código-fonte

#!/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

Scripts recomendados

Migração de Aplicações para Ambiente Web - Uma Abordagem Prática

Firewall + iptables no Debian

"Ipscan" com shell script+dialog+nmap

Envia e-mails periodicamente com back-up do servidor

Barra de progresso em shell script com cores roxa e verde


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts