Required Custom Feature
Posted: Fri Mar 25, 2016 5:42 am
Any option if we can show servers uptime to public using nagios core ?
Support for Nagios products and services
https://support.nagios.com/forum/
Code: Select all
#!/bin/sh
#
# 2003-01-11, Fredrik Wanglund
#
# This plugin gets the uptime from a host via snmp.
#
# To use the plugn, do the following:
#
# First, create a checkcommand (typically in etc/checkcommands.cfg):
#
# define command {
# command_name uptime_by_snmp
# command_line /usr/lib/nagios/plugins//uptime_by_snmp $HOSTADDRESS$ $ARG1$
# }
#
=f your Nagios-plugin is not located in /usr/lib/nagios/plugins//,
# You have to change the path in the command-definition AND the
# variable NAGIOSPLUGSDIR below.
#
# Second, Add a service-definition (typically in etc/services.cfg):
#
# define service {
# host_name server
# service_description Uptime
# check_command uptime_by_snmp!public
# use generic-service
# normal_check_interval 10
# }
#
# Replace the 'use' statement with whatever template you would like to use,
# or fill up the definition with required parameters if you dont want to
# use any template.
#
# The arguments to the 'check_command' is:
# 1) The command-name, disk_by_snmp
# 2) The SNMP community-string
#
# READY.
#
#
#
# Change this if you have installed NAgios in a non-default place:
NAGIOSPLUGSDIR=/usr/lib/nagios/plugins
UPTIMESDIR=/tmp/uptimes
UPT=`$NAGIOSPLUGSDIR/check_snmp -H $1 -o .1.3.6.1.2.1.1.3.0 -C $2`
RES=$?
if [ $RES = 0 ]; then
TICKS=`echo $UPT|cut -d "(" -f 2|cut -d ")" -f 1`
if [ -f $UPTIMESDIR/$1 ]; then
if [ -s $UPTIMESDIR/$1 ]; then
MAXTICKS=`cat $UPTIMESDIR/$1|cut -d ":" -f 2`
else
MAXTICKS=0
fi
if [ $TICKS -gt $MAXTICKS ]; then
DATE=`date "+%s"`
echo "$DATE, $1, $MAXTICKS, $TICKS" >> /tmp/ticks
echo "$DATE:$TICKS" > $UPTIMESDIR/$1
fi
else
echo "$1: $TICKS" >> /tmp/ticks
fi
RET=`echo $UPT|cut -d ")" -f 2`
else
RET=$UPT
RES=1
fi
RET="Uptime: $RET"
echo $RET
exit $RESCode: Select all
htpasswd /usr/local/nagios/etc/htpasswd.users <username>Code: Select all
authorized_for_all_services=nagiosadmin
authorized_for_all_hosts=nagiosadmin
Code: Select all
authorized_for_all_services=nagiosadmin,readonlyuser
authorized_for_all_hosts=nagiosadmin,readonlyuser