Hello friends, I’m from Brazil
My plugin is not saving the output in the influx, what is missing?
host.conf
object Host "rca-monit-00.asparion.local" {
display_name = "[ Master ] RCA-MONIT-00"
check_command = "hostalive"
address = "192.168.0.100"
vars.os = "Linux"
}
service.conf
apply Service "check_snmp_process" {
import "generic-service"
display_name = "Processos"
check_command = "check_snmp_process"
vars.snmp_community = "public"
vars.snmp_mib = "hrSystemProcesses"
vars.snmp_warning = 280
vars.snmp_critical = 300
assign where host.vars.os == "Linux"
}
command.conf
object CheckCommand "check_snmp_process" {
command = [ PluginDir + "/check_snmp_process" ]
arguments += {
"-A" = "$snmp_address$"
"-H" = "$snmp_hostname$"
"-S" = "$snmp_service$"
"-w" = "$snmp_warning$"
"-c" = "$snmp_critical$"
"-o" = "$snmp_mib$"
"-C" = "$snmp_community$"
}
vars.snmp_address = "$address$"
vars.snmp_hostname = "$host.name$"
vars.snmp_service = "$service.name$"
}
plugin check_snmp_process
#!/bin/bash
# GET
while test -n "$1"; do
case "$1" in
-A) address=$2; shift ;;
-H) hostname=$2; shift ;;
-S) service=$2; shift ;;
-o) mib=$2; shift ;;
-w) warning=$2; shift ;;
-c) critical=$2; shift ;;
-C) community=$2; shift ;;
esac
shift
done
proc=$(snmpwalk -v2c -c $community $address $mib | cut -d ' ' -f 4)
#Aqui faz um teste de ping se o host estiver off ja vai dar como desconhecido
if ping -c 3 $address &> /dev/null
then
# Aqui testo se os processos são maiores que 2 se for emite o warning
if [ $proc -lt $warning ]; then
echo "Ok Process. Ha $proc processos em execução"
exit 0;
# Aqui testo se os processos são maiores que 3 se for emite o critico
elif [ $proc -gt $critical ]; then
echo "Critical Process. Ha $proc processos em execução"
exit 2;
# Caso contrario só um warning
else
echo "Warning Process. Ha $proc processos em execução"
exit 1;
fi
# Caso não seja nenhuma das opções assumo que desconheço o resultado e retorno Unknown
exit 3;
else
exit 3;
fi
What is missing? Thanks