Table of Contents

Gateway monitoring

Monit daemon

Monit is an open source supervision tool. It can monitor daemons, system resources, remote hosts or programs. It is recommended to use monit to monitor your applications. Please see online documentation.

The command monit status returns the status of all supervised services. Services can be started/stopped with monit using the commands monit start <name> and monit stop <name>.

The monit configuration is made in the directory /etc/monit.d. It is a directory in which you have to add small scripts to describe what you want to do accordingly to monit specification.

Watchdog

Watchdog is handled by monit daemon.

SNMP agent

Simple Network Management Protocol (SNMP) is a protocol used for monitoring network equipment. The data SNMP management is organized in a management information base (MIB). SNMP agent on Kerlink gateways is based on net-snmp (Net-SNMP). It is included by default with the firmware, however, since this is a generic agent, a few modifications are required to use it.

Configuration

Configuration file must be in /etc/snmp/.

By default, no configuration (/etc/snmp/snmpd.conf) is provided.
Create the folder /etc/snmp and the file /etc/snmp/snmpd.conf.
Here under a valid basic configuration:

snmpd.conf
###########################################################################
#
# snmpd.conf
#
 
###########################################################################
# SECTION: Access Control Setup
#
#   This section defines who is allowed to talk to your running
#   snmp agent.
 
# rwcommunity: a SNMPv1/SNMPv2c read-write access community name
#   arguments:  community [default|hostname|network/bits] [oid]
 
rocommunity  public  
rwcommunity  private  
 
#
# Unknown directives read in from other files by snmpconf
#
com2sec readwrite "default"   public
com2sec readwrite "default"   private
 
# Agent port
agentAddress udp:161
 
###########################################################################
# SECTION: Trap Destinations
#
#   Here we define who the agent will send traps to.
 
informsink <your_server> public 162
 
# authtrapenable: Should we send traps when authentication failures occur
#   arguments: 1 | 2   (1 = yes, 2 = no)
authtrapenable  1

Check your firewall and note that SNMP ports (by default 161 and 162) should be opened to properly work!

Automatic Execution

To automatically execute snmpd at boot time, a script named snmpd needs to be created in a new folder /etc/init.d/.

snmpd.init
#! /bin/sh -e
### BEGIN INIT INFO
# Provides:           snmpd
# Required-Start:     $network $local_fs
# Required-Stop:      $network $local_fs
# Default-Start:      2 3 4 5
# Default-Stop:       0 6
# Short-Description:  SNMP agents
# Description:        NET SNMP (Simple Network Management Protocol) Agents
### END INIT INFO
#
set -e
 
export PATH=/sbin:/usr/sbin:/bin:/usr/bin
 
test -x /usr/sbin/snmpd || exit 0
 
# Defaults
export MIBDIRS=/usr/share/snmp/mibs
SNMPDRUN=yes
SNMPDOPTS='-Lsd -p /var/run/snmpd.pid'
TRAPDRUN=no
TRAPDOPTS='-Lsd -p /var/run/snmptrapd.pid'
 
# Reads config file (will override defaults above)
[ -r /etc/default/snmpd ] && . /etc/default/snmpd
 
ssd_oknodo="-o"
 
# Cd to / before starting any daemons.
cd /
 
# Create compatibility link to old AgentX socket location
if [ "$SNMPDCOMPAT" = "yes" ]; then
  ln -sf /var/agentx/master /var/run/agentx
fi
 
case "$1" in
  start)
    printf "Starting network management services:"
    if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then
      start-stop-daemon -S -x /usr/sbin/snmpd -- $SNMPDOPTS
      printf " snmpd"
    fi
    echo "."
    ;;
  stop)
    printf "Stopping network management services:"
    start-stop-daemon -q -K $ssd_oknodo -x /usr/sbin/snmpd
    printf " snmpd"
    echo "."
    ;;
  restart)
    printf "Restarting network management services:"
    start-stop-daemon -q -K $ssd_oknodo -x /usr/sbin/snmpd
    # Allow the daemons time to exit completely.
    sleep 2
    if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then
      start-stop-daemon -q -S -x /usr/sbin/snmpd -- $SNMPDOPTS
      printf " snmpd"
    fi
    echo "."
    ;;
  reload|force-reload)
    printf "Reloading network management services:"
    if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then
      start-stop-daemon -q -K -s 1 -p /var/run/snmpd.pid -x /usr/sbin/snmpd
      printf " snmpd"
    fi
    echo "."
    ;;
  *)
    echo "Usage: /etc/init.d/snmpd {start|stop|restart|reload|force-reload}"
    exit 1
esac
 
exit 0
chmod 700 /etc/init.d/snmpd
ln -s /etc/init.d/snmpd /etc/rcU.d/S59snmpd
ln -s /etc/init.d/snmpd /etc/rcK.d/K59snmpd
/etc/init.d/snmpd start

Persistency on Update

in order to make the configuration stay after an update you will need to create the file snmp.conf in the folder /etc/sysupgrade.d/ with the three following lines:

snmp.conf
/etc/init.d/snmpd 
/etc/rcU.d/S59snmpd
/etc/rcK.d/K59snmpd

Supported MIBs

The following MIBs are supported:

mibII/vacm_conf
mibII/tcpTable
mibII/udpTable
mibII/system

if-mib/ifTable
if-mib/ifTable/ifTable
if-mib/ifTable/ifTable_interface

For more information, see Net-SNMP.