Page 1 of 2

Required Custom Feature

Posted: Fri Mar 25, 2016 5:42 am
by rlinux57
Any option if we can show servers uptime to public using nagios core ?

Re: Required Custom Feature

Posted: Fri Mar 25, 2016 6:04 am
by rhassing
You could use a plugin which monitors the uptime.
I would use snmp to monitor this:

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 $RES

Re: Required Custom Feature

Posted: Fri Mar 25, 2016 9:38 am
by tmcdonald
I think OP is asking how to expose the Core web interface to the public - is this correct, @rlinux57?

If that's the case, you could add in a contact called "public" or "guest" or something similar, and give it the appropriate permissions to suit your needs:

https://assets.nagios.com/downloads/nag ... iauth.html

Then either hand out the credentials, display the information on-screen publicly, or use another frontend to parse out that information and display it.

Re: Required Custom Feature

Posted: Fri Mar 25, 2016 1:32 pm
by rlinux57
Yes @tmcdonald, i want to show server's uptime to my clients.

Re: Required Custom Feature

Posted: Fri Mar 25, 2016 1:38 pm
by rkennedy
Does the above solution that @tmcdonald posted work for you? With read only permissions they'll be able to take a look at the system, but not make any changes.

Re: Required Custom Feature

Posted: Fri Mar 25, 2016 1:55 pm
by rlinux57
Somehow, but need your help. After creating user by below command, how can i gave privileges to my clients to access and read only uptime status of several servers. ?

Code: Select all

htpasswd /usr/local/nagios/etc/htpasswd.users <username>

Re: Required Custom Feature

Posted: Fri Mar 25, 2016 2:03 pm
by rkennedy
You will need to modify /usr/local/nagios/etc/cgi.cfg in order to do this, and modify the following -

Code: Select all

authorized_for_all_services=nagiosadmin
authorized_for_all_hosts=nagiosadmin
To add a read only user -

Code: Select all

authorized_for_all_services=nagiosadmin,readonlyuser
authorized_for_all_hosts=nagiosadmin,readonlyuser

Re: Required Custom Feature

Posted: Fri Mar 25, 2016 2:06 pm
by rlinux57
Is it possible to define only specific hosts and services for read only users. ?

Re: Required Custom Feature

Posted: Fri Mar 25, 2016 2:10 pm
by tgriep
Take a look at this guide to see if this is what you are looking for.
https://assets.nagios.com/downloads/nag ... iauth.html
If they are setup as a contact for that host / service, then that is all they will see.

Re: Required Custom Feature

Posted: Sat Mar 26, 2016 6:25 am
by rlinux57
I have do it but didn't find any suitable option that i want. I just need to show information to client as mentioned in screenshot. please find attachment.