initial version of SNMP trap daemon for Zabbix plugin
Change-Id: I4041c15fdf09af5944b75f142a5c374b24af380f
This commit is contained in:
parent
2f85e8d6a3
commit
8962ed0563
|
@ -0,0 +1,5 @@
|
||||||
|
.build/
|
||||||
|
*.noarch.rpm
|
||||||
|
repositories/centos/*.rpm
|
||||||
|
repositories/ubuntu/*.deb
|
||||||
|
deployment_scripts/puppet/modules/snmp
|
|
@ -0,0 +1,16 @@
|
||||||
|
#
|
||||||
|
# Copyright 2015 Mirantis, Inc.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
#
|
||||||
|
include plugin_zabbix_snmptrapd
|
|
@ -0,0 +1,143 @@
|
||||||
|
#! /bin/sh -e
|
||||||
|
### BEGIN INIT INFO
|
||||||
|
# Provides: snmpd snmptrapd
|
||||||
|
# Required-Start: $network $remote_fs $syslog
|
||||||
|
# Required-Stop: $network $remote_fs $syslog
|
||||||
|
# Default-Start: 2 3 4 5
|
||||||
|
# Default-Stop: 0 1 6
|
||||||
|
# Short-Description: SNMP agents
|
||||||
|
# Description: NET SNMP (Simple Network Management Protocol) Agents
|
||||||
|
### END INIT INFO
|
||||||
|
#
|
||||||
|
# Author: Jochen Friedrich <jochen@scram.de>
|
||||||
|
# Modified by: Piotr Misiak <pmisiak@mirantis.com> (network namespaces support added)
|
||||||
|
#
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /lib/lsb/init-functions
|
||||||
|
|
||||||
|
export PATH=/sbin:/usr/sbin:/bin:/usr/bin
|
||||||
|
|
||||||
|
# Defaults
|
||||||
|
OLD_MIBS_DIR="/usr/share/mibs/site:/usr/share/snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp"
|
||||||
|
MIBS_DIR="/usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf"
|
||||||
|
export MIBDIRS="$MIBS_DIR:$OLD_MIBS_DIR"
|
||||||
|
|
||||||
|
IP_BINARY="/sbin/ip"
|
||||||
|
|
||||||
|
SNMPD_BINARY="/usr/sbin/snmpd"
|
||||||
|
SNMPD_PID="/run/snmpd.pid"
|
||||||
|
SNMPDNS="haproxy"
|
||||||
|
SNMPDRUN="yes"
|
||||||
|
SNMPDOPTS="-Lsd -Lf /dev/null -p $SNMPD_PID"
|
||||||
|
|
||||||
|
TRAPD_BINARY="/usr/sbin/snmptrapd"
|
||||||
|
TRAPD_PID="/run/snmptrapd.pid"
|
||||||
|
TRAPDNS="haproxy"
|
||||||
|
TRAPDRUN="no"
|
||||||
|
TRAPDOPTS="-Lsd -p $TRAPD_PID"
|
||||||
|
|
||||||
|
# Reads config file (will override defaults above)
|
||||||
|
[ -r /etc/default/snmpd ] && . /etc/default/snmpd
|
||||||
|
|
||||||
|
test -x $SNMPD_BINARY || exit 0
|
||||||
|
test -x $TRAPD_BINARY || exit 0
|
||||||
|
|
||||||
|
if [ "x$SNMPDNS" != "x" ]; then
|
||||||
|
SNMPDOPTS="netns exec $SNMPDNS $SNMPD_BINARY $SNMPDOPTS"
|
||||||
|
SNMPDEXEC=$IP_BINARY
|
||||||
|
else
|
||||||
|
SNMPDEXEC=$SNMPD_BINARY
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "x$TRAPDNS" != "x" ]; then
|
||||||
|
TRAPDOPTS="netns exec $TRAPDNS $TRAPD_BINARY $TRAPDOPTS"
|
||||||
|
TRAPDEXEC=$IP_BINARY
|
||||||
|
else
|
||||||
|
TRAPDEXEC=$TRAPD_BINARY
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Cd to / before starting any daemons.
|
||||||
|
cd /
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
log_daemon_msg "Starting network management services:"
|
||||||
|
# remove old symlink with previous version
|
||||||
|
if [ -L /var/run/agentx ]; then
|
||||||
|
rm -f /var/run/agentx
|
||||||
|
fi
|
||||||
|
if [ ! -d /var/run/agentx ]; then
|
||||||
|
mkdir -p /var/run/agentx
|
||||||
|
fi
|
||||||
|
if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then
|
||||||
|
start-stop-daemon --quiet --start --oknodo --exec $SNMPDEXEC -- $SNMPDOPTS
|
||||||
|
log_progress_msg " snmpd"
|
||||||
|
fi
|
||||||
|
if [ "$TRAPDRUN" = "yes" -a -f /etc/snmp/snmptrapd.conf ]; then
|
||||||
|
start-stop-daemon --quiet --start --oknodo --exec $TRAPDEXEC -- $TRAPDOPTS
|
||||||
|
log_progress_msg " snmptrapd"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
log_daemon_msg "Stopping network management services:"
|
||||||
|
start-stop-daemon --quiet --stop --oknodo --exec $SNMPD_BINARY && [ ! -f $SNMPD_PID ] || rm $SNMPD_PID
|
||||||
|
log_progress_msg " snmpd"
|
||||||
|
start-stop-daemon --quiet --stop --oknodo --exec $TRAPD_BINARY && [ ! -f $TRAPD_PID ] || rm $TRAPD_PID
|
||||||
|
log_progress_msg " snmptrapd"
|
||||||
|
;;
|
||||||
|
restart)
|
||||||
|
log_daemon_msg "Restarting network management services:"
|
||||||
|
start-stop-daemon --quiet --stop --oknodo --exec $SNMPD_BINARY && [ ! -f $SNMPD_PID ] || rm $SNMPD_PID
|
||||||
|
start-stop-daemon --quiet --stop --oknodo --exec $TRAPD_BINARY && [ ! -f $TRAPD_PID ] || rm $TRAPD_PID
|
||||||
|
# Allow the daemons time to exit completely.
|
||||||
|
set +e
|
||||||
|
for i in `seq 0 10`; do
|
||||||
|
pgrep -f $SNMPD_BINARY >/dev/null
|
||||||
|
SNMPDSTATUS=$?
|
||||||
|
pgrep -f $TRAPD_BINARY >/dev/null
|
||||||
|
TRAPDSTATUS=$?
|
||||||
|
if [ $SNMPDSTATUS -eq 1 -a $TRAPDSTATUS -eq 1 ]; then
|
||||||
|
# both processes are not running
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
if [ $i -eq 10 ]; then
|
||||||
|
log_failure_msg "ERROR: Network management services didn't stop within 10 seconds, exiting..."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
set -e
|
||||||
|
if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then
|
||||||
|
start-stop-daemon --quiet --start --exec $SNMPDEXEC -- $SNMPDOPTS
|
||||||
|
log_progress_msg " snmpd"
|
||||||
|
fi
|
||||||
|
if [ "$TRAPDRUN" = "yes" -a -f /etc/snmp/snmptrapd.conf ]; then
|
||||||
|
start-stop-daemon --quiet --start --exec $TRAPDEXEC -- $TRAPDOPTS
|
||||||
|
log_progress_msg " snmptrapd"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
reload|force-reload)
|
||||||
|
log_daemon_msg "Reloading network management services:"
|
||||||
|
if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then
|
||||||
|
start-stop-daemon --quiet --stop --signal 1 \
|
||||||
|
--pidfile /var/run/snmpd.pid --exec $SNMPD_BINARY
|
||||||
|
log_progress_msg " snmpd"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
status)
|
||||||
|
status=0
|
||||||
|
if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf ]; then
|
||||||
|
status_of_proc $SNMPD_BINARY snmpd || status=$?
|
||||||
|
fi
|
||||||
|
if [ "$TRAPDRUN" = "yes" -a -f /etc/snmp/snmptrapd.conf ]; then
|
||||||
|
status_of_proc $TRAPD_BINARY snmptrapd || status=$?
|
||||||
|
fi
|
||||||
|
exit $status
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: /etc/init.d/snmpd {start|stop|restart|reload|force-reload|status}"
|
||||||
|
exit 1
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
|
@ -0,0 +1,110 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# ucd-snmp init file for snmptrapd
|
||||||
|
#
|
||||||
|
# chkconfig: - 50 50
|
||||||
|
# description: Simple Network Management Protocol (SNMP) Trap Daemon
|
||||||
|
#
|
||||||
|
# processname: /usr/sbin/snmptrapd
|
||||||
|
# config: /etc/snmp/snmptrapd.conf
|
||||||
|
# config: /usr/share/snmp/snmptrapd.conf
|
||||||
|
# pidfile: /var/run/snmptrapd.pid
|
||||||
|
|
||||||
|
|
||||||
|
### BEGIN INIT INFO
|
||||||
|
# Provides: snmptrapd
|
||||||
|
# Required-Start: $local_fs $network
|
||||||
|
# Required-Stop: $local_fs $network
|
||||||
|
# Should-Start:
|
||||||
|
# Should-Stop:
|
||||||
|
# Default-Start:
|
||||||
|
# Default-Stop:
|
||||||
|
# Short-Description: start and stop Net-SNMP trap daemon
|
||||||
|
# Description: Simple Network Management Protocol (SNMP) trap daemon
|
||||||
|
### END INIT INFO
|
||||||
|
|
||||||
|
# source function library
|
||||||
|
. /etc/init.d/functions
|
||||||
|
|
||||||
|
NS="haproxy"
|
||||||
|
OPTIONS="-Lsd -p /var/run/snmptrapd.pid"
|
||||||
|
if [ -e /etc/sysconfig/snmptrapd ]; then
|
||||||
|
. /etc/sysconfig/snmptrapd
|
||||||
|
fi
|
||||||
|
|
||||||
|
RETVAL=0
|
||||||
|
prog="snmptrapd"
|
||||||
|
binary=/usr/sbin/snmptrapd
|
||||||
|
pidfile=/var/run/snmptrapd.pid
|
||||||
|
|
||||||
|
if [ "x$NS" != "x" ]; then
|
||||||
|
cmd="/sbin/ip netns exec $NS $binary"
|
||||||
|
else
|
||||||
|
cmd=$binary
|
||||||
|
fi
|
||||||
|
|
||||||
|
start() {
|
||||||
|
[ -x $binary ] || exit 5
|
||||||
|
echo -n $"Starting $prog: "
|
||||||
|
daemon --pidfile=$pidfile $cmd $OPTIONS
|
||||||
|
RETVAL=$?
|
||||||
|
echo
|
||||||
|
touch /var/lock/subsys/snmptrapd
|
||||||
|
return $RETVAL
|
||||||
|
}
|
||||||
|
|
||||||
|
stop() {
|
||||||
|
echo -n $"Stopping $prog: "
|
||||||
|
killproc -p $pidfile $binary
|
||||||
|
RETVAL=$?
|
||||||
|
echo
|
||||||
|
rm -f /var/lock/subsys/snmptrapd
|
||||||
|
return $RETVAL
|
||||||
|
}
|
||||||
|
|
||||||
|
reload(){
|
||||||
|
stop
|
||||||
|
start
|
||||||
|
}
|
||||||
|
|
||||||
|
restart(){
|
||||||
|
stop
|
||||||
|
start
|
||||||
|
}
|
||||||
|
|
||||||
|
condrestart(){
|
||||||
|
[ -e /var/lock/subsys/snmptrapd ] && restart
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
start
|
||||||
|
RETVAL=$?
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
stop
|
||||||
|
RETVAL=$?
|
||||||
|
;;
|
||||||
|
restart)
|
||||||
|
restart
|
||||||
|
RETVAL=$?
|
||||||
|
;;
|
||||||
|
reload|force-reload)
|
||||||
|
reload
|
||||||
|
RETVAL=$?
|
||||||
|
;;
|
||||||
|
condrestart|try-restart)
|
||||||
|
condrestart
|
||||||
|
RETVAL=$?
|
||||||
|
;;
|
||||||
|
status)
|
||||||
|
status $prog
|
||||||
|
RETVAL=$?
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo $"Usage: $0 {start|stop|status|restart|condrestart|reload|force-reload}"
|
||||||
|
RETVAL=2
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit $RETVAL
|
|
@ -0,0 +1,2 @@
|
||||||
|
EVENT netSnmpExampleHeartbeatNotification .1.3.6.1.4.1.8072.2.3.0.1 "Status Events" Normal
|
||||||
|
FORMAT ZBXTRAP $aA netSnmpExampleHeartbeatNotification
|
|
@ -0,0 +1,626 @@
|
||||||
|
#
|
||||||
|
# SNMPTT v1.4 Configuration File
|
||||||
|
#
|
||||||
|
# Linux / Unix
|
||||||
|
#
|
||||||
|
|
||||||
|
[General]
|
||||||
|
# Name of this system for $H variable. If blank, system name will be the computer's
|
||||||
|
# hostname via Sys::Hostname.
|
||||||
|
snmptt_system_name =
|
||||||
|
|
||||||
|
# Set to either 'standalone' or 'daemon'
|
||||||
|
# standalone: snmptt called from snmptrapd.conf
|
||||||
|
# daemon: snmptrapd.conf calls snmptthandler
|
||||||
|
# Ignored by Windows. See documentation
|
||||||
|
mode = standalone
|
||||||
|
|
||||||
|
# Set to 1 to allow multiple trap definitions to be executed for the same trap.
|
||||||
|
# Set to 0 to have it stop after the first match.
|
||||||
|
# This option should normally be set to 1. See the section 'SNMPTT.CONF Configuration
|
||||||
|
# file Notes' in the SNMPTT documentation for more information.
|
||||||
|
# Note: Wildcard matches are only matched if there are NO exact matches. This takes
|
||||||
|
# into consideration the NODES list. Therefore, if there is a matching trap, but
|
||||||
|
# the NODES list prevents it from being considered a match, the wildcard entry will
|
||||||
|
# only be used if there are no other exact matches.
|
||||||
|
multiple_event = 1
|
||||||
|
|
||||||
|
# SNMPTRAPD passes the IP address of device sending the trap, and the IP address of the
|
||||||
|
# actual SNMP agent. These addresses could differ if the trap was sent on behalf of another
|
||||||
|
# device (relay, proxy etc).
|
||||||
|
# If DNS is enabled, the agent IP address is converted to a host name using a DNS lookup
|
||||||
|
# (which includes the local hosts file, depending on how the OS is configured). This name
|
||||||
|
# will be used for: NODES entry matches, hostname field in logged traps (file / database),
|
||||||
|
# and the $A variable. Host names on the NODES line will be resolved and the IP address
|
||||||
|
# will then be used for comparing.
|
||||||
|
# Set to 0 to disable DNS resolution
|
||||||
|
# Set to 1 to enable DNS resolution
|
||||||
|
dns_enable = 0
|
||||||
|
|
||||||
|
# Set to 0 to enable the use of FQDN (Fully Qualified Domain Names). If a host name is
|
||||||
|
# passed to SNMPTT that contains a domain name, it will not be altered in any way by
|
||||||
|
# SNMPTT. This also affects resolve_value_ip_addresses.
|
||||||
|
# Set to 1 to have SNMPTT strip the domain name from the host name passed to it. For
|
||||||
|
# example, server01.domain.com would be changed to server01
|
||||||
|
# Set to 2 to have SNMPTT strip the domain name from the host name passed to it
|
||||||
|
# based on the list of domains in strip_domain_list
|
||||||
|
strip_domain = 0
|
||||||
|
|
||||||
|
# List of domain names that should be stripped when strip_domain is set to 2.
|
||||||
|
# List can contain one or more domains. For example, if the FQDN of a host is
|
||||||
|
# server01.city.domain.com and the list contains domain.com, the 'host' will be
|
||||||
|
# set as server01.city.
|
||||||
|
strip_domain_list = <<END
|
||||||
|
domain.com
|
||||||
|
END
|
||||||
|
|
||||||
|
# Configures how IP addresses contained in the VALUE of the variable bindings are handled.
|
||||||
|
# This only applies to the values for $n, $+n, $-n, $vn, $+*, $-*.
|
||||||
|
# Set to 0 to disable resolving ip address to host names
|
||||||
|
# Set to 1 to enable resolving ip address to host names
|
||||||
|
# Note: net_snmp_perl_enable *must* be enabled. The strip_domain settings influence the
|
||||||
|
# format of the resolved host name. DNS must be enabled (dns_enable)
|
||||||
|
resolve_value_ip_addresses = 0
|
||||||
|
|
||||||
|
# Set to 1 to enable the use of the Perl module from the UCD-SNMP / NET-SNMP package.
|
||||||
|
# This is required for $v variable substitution to work, and also for some other options
|
||||||
|
# that are enabled in this .ini file.
|
||||||
|
# Set to 0 to disable the use of the Perl module from the UCD-SNMP / NET-SNMP package.
|
||||||
|
# Note: Enabling this with stand-alone mode can cause SNMPTT to run very slowly due to
|
||||||
|
# the loading of the MIBS at startup.
|
||||||
|
net_snmp_perl_enable = 1
|
||||||
|
|
||||||
|
# Set to 1 to enable caching of OID and ENUM translations when net_snmp_perl_enable is
|
||||||
|
# enabled. Enabling this should result in faster translations.
|
||||||
|
# Set to 0 to disable caching.
|
||||||
|
# Note: Restart SNMPTT after updating the MIB files for Net-SNMP, otherwise the cache may
|
||||||
|
# contain inaccurate data. Defaults to 1.
|
||||||
|
net_snmp_perl_cache_enable = 1
|
||||||
|
|
||||||
|
# This sets the best_guess parameter used by the UCD-SNMP / NET-SNMP Perl module for
|
||||||
|
# translating symbolic nams to OIDs and vice versa.
|
||||||
|
# For UCD-SNMP, and Net-SNMP 5.0.8 and previous versions, set this value to 0.
|
||||||
|
# For Net-SNMP 5.0.9, or any Net-SNMP with patch 722075 applied, set this value to 2.
|
||||||
|
# A value of 2 is equivalent to -IR on Net-SNMP command line utilities.
|
||||||
|
# UCD-SNMP and Net-SNMP 5.0.8 and previous may not be able to translate certain formats of
|
||||||
|
# symbolic names such as RFC1213-MIB::sysDescr. Net-SNMP 5.0.9 or patch 722075 will allow
|
||||||
|
# all possibilities to be translated. See the FAQ section in the README for more info
|
||||||
|
net_snmp_perl_best_guess = 0
|
||||||
|
|
||||||
|
# Configures how the OID of the received trap is handled when outputting to a log file /
|
||||||
|
# database. It does NOT apply to the $O variable.
|
||||||
|
# Set to 0 to use the default of numerical OID
|
||||||
|
# Set to 1 to translate the trap OID to short text (symbolic form) (eg: linkUp)
|
||||||
|
# Set to 2 to translate the trap OID to short text with module name (eg: IF-MIB::linkUp)
|
||||||
|
# Set to 3 to translate the trap OID to long text (eg: iso...snmpTraps.linkUp)
|
||||||
|
# Set to 4 to translate the trap OID to long text with module name (eg:
|
||||||
|
# IF-MIB::iso...snmpTraps.linkUp)
|
||||||
|
# Note: -The output of the long format will vary depending on the version of Net-SNMP you
|
||||||
|
# are using.
|
||||||
|
# -net_snmp_perl_enable *must* be enabled
|
||||||
|
# -If using database logging, ensure the trapoid column is large enough to hold the
|
||||||
|
# entire line
|
||||||
|
translate_log_trap_oid = 0
|
||||||
|
|
||||||
|
# Configures how OIDs contained in the VALUE of the variable bindings are handled.
|
||||||
|
# This only applies to the values for $n, $+n, $-n, $vn, $+*, $-*. For substitutions
|
||||||
|
# that include variable NAMES ($+n etc), only the variable VALUE is affected.
|
||||||
|
# Set to 0 to disable translating OID values to text (symbolic form)
|
||||||
|
# Set to 1 to translate OID values to short text (symbolic form) (eg: BuildingAlarm)
|
||||||
|
# Set to 2 to translate OID values to short text with module name (eg: UPS-MIB::BuildingAlarm)
|
||||||
|
# Set to 3 to translate OID values to long text (eg: iso...upsAlarm.BuildingAlarm)
|
||||||
|
# Set to 4 to translate OID values to long text with module name (eg:
|
||||||
|
# UPS-MIB::iso...upsAlarm.BuildingAlarm)
|
||||||
|
# For example, if the value contained: 'A UPS Alarm (.1.3.6.1.4.1.534.1.7.12) has cleared.',
|
||||||
|
# it could be translated to: 'A UPS Alarm (UPS-MIB::BuildingAlarm) has cleared.'
|
||||||
|
# Note: net_snmp_perl_enable *must* be enabled
|
||||||
|
translate_value_oids = 1
|
||||||
|
|
||||||
|
# Configures how the symbolic enterprise OID will be displayed for $E.
|
||||||
|
# Set to 1, 2, 3 or 4. See translate_value_oids options 1,2,3 and 4.
|
||||||
|
# Note: net_snmp_perl_enable *must* be enabled
|
||||||
|
translate_enterprise_oid_format = 1
|
||||||
|
|
||||||
|
# Configures how the symbolic trap OID will be displayed for $O.
|
||||||
|
# Set to 1, 2, 3 or 4. See translate_value_oids options 1,2,3 and 4.
|
||||||
|
# Note: net_snmp_perl_enable *must* be enabled
|
||||||
|
translate_trap_oid_format = 1
|
||||||
|
|
||||||
|
# Configures how the symbolic trap OID will be displayed for $v, $-n, $+n, $-* and $+*.
|
||||||
|
# Set to 1, 2, 3 or 4. See translate_value_oids options 1,2,3 and 4.
|
||||||
|
# Note: net_snmp_perl_enable *must* be enabled
|
||||||
|
translate_varname_oid_format = 1
|
||||||
|
|
||||||
|
# Set to 0 to disable converting INTEGER values to enumeration tags as defined in the
|
||||||
|
# MIB files
|
||||||
|
# Set to 1 to enable converting INTEGER values to enumeration tags as defined in the
|
||||||
|
# MIB files
|
||||||
|
# Example: moverDoorState:open instead of moverDoorState:2
|
||||||
|
# Note: net_snmp_perl_enable *must* be enabled
|
||||||
|
translate_integers = 1
|
||||||
|
|
||||||
|
# Allows you to set the MIBS environment variable used by SNMPTT
|
||||||
|
# Leave blank or comment out to have the systems enviroment settings used
|
||||||
|
# To have all MIBS processed, set to ALL
|
||||||
|
# See the snmp.conf manual page for more info
|
||||||
|
#mibs_environment = ALL
|
||||||
|
|
||||||
|
# Set what is used to separate variables when wildcards are expanded on the FORMAT /
|
||||||
|
# EXEC line. Defaults to a space. Value MUST be within quotes. Can contain 1 or
|
||||||
|
# more characters
|
||||||
|
wildcard_expansion_separator = " "
|
||||||
|
|
||||||
|
# Set to 1 to allow unsafe REGEX code to be executed.
|
||||||
|
# Set to 0 to prevent unsafe REGEX code from being executed (default).
|
||||||
|
# Enabling unsafe REGEX code will allow variable interopolation and the use of the e
|
||||||
|
# modifier to allow statements such as substitution with captures such
|
||||||
|
# as: (one (two) three)(five $1 six)
|
||||||
|
# which outputs: five two six
|
||||||
|
# or: (one (two) three)("five ".length($1)." six")e
|
||||||
|
# which outputs: five 3 six
|
||||||
|
#
|
||||||
|
# This is considered unsafe because the contents of the regular expression
|
||||||
|
# (right) is executed (eval) by Perl which *could contain unsafe code*.
|
||||||
|
# BE SURE THAT THE SNMPTT CONFIGURATION FILES ARE SECURE!
|
||||||
|
allow_unsafe_regex = 0
|
||||||
|
|
||||||
|
# Set to 1 to have the backslash (escape) removed from quotes passed from
|
||||||
|
# snmptrapd. For example, \" would be changed to just "
|
||||||
|
# Set to 0 to disable
|
||||||
|
remove_backslash_from_quotes = 0
|
||||||
|
|
||||||
|
# Set to 1 to have NODES files loaded each time a trap is processed.
|
||||||
|
# Set to 0 to have all NODES files loaded when the snmptt.conf files are loaded.
|
||||||
|
# If NODES files are used (files that contain lists of NODES), then setting to 1
|
||||||
|
# will cause the list to be loaded each time an EVENT is processed that uses
|
||||||
|
# NODES files. This will allow the NODES file to be modified while SNMPTT is
|
||||||
|
# running but can result in many file reads depending on the number of traps
|
||||||
|
# received. Defaults to 0
|
||||||
|
dynamic_nodes = 0
|
||||||
|
|
||||||
|
# This option allows you to use the $D substitution variable to include the
|
||||||
|
# description text from the SNMPTT.CONF or MIB files.
|
||||||
|
# Set to 0 to disable the $D substitution variable. If $D is used, nothing
|
||||||
|
# will be outputted.
|
||||||
|
# Set to 1 to enable the $D substitution variable and have it use the
|
||||||
|
# descriptions stored in the SNMPTT .conf files. Enabling this option can
|
||||||
|
# greatly increase the amount of memory used by SNMPTT.
|
||||||
|
# Set to 2 to enable the $D substitution variable and have it use the
|
||||||
|
# description from the MIB files. This enables the UCD-SNMP / NET-SNMP Perl
|
||||||
|
# module save_descriptions variable. Enabling this option can greatly
|
||||||
|
# increase the amount of memory used by the Net-SNMP SNMP Perl module, which
|
||||||
|
# will result in an increase of memory usage by SNMPTT.
|
||||||
|
description_mode = 0
|
||||||
|
|
||||||
|
# Set to 1 to remove any white space at the start of each line from the MIB
|
||||||
|
# or SNMPTT.CONF description when description_mode is set to 1 or 2.
|
||||||
|
description_clean = 1
|
||||||
|
|
||||||
|
# Warning: Experimental. Not recommended for production environments.
|
||||||
|
# When threads are enabled, SNMPTT may quit unexpectedly.
|
||||||
|
# Set to 1 to enable threads (ithreads) in Perl 5.6.0 or higher. If enabled,
|
||||||
|
# EXEC will launch in a thread to allow SNMPTT to continue processing other
|
||||||
|
# traps. See also threads_max.
|
||||||
|
# Set to 0 to disable threads (ithreads).
|
||||||
|
# Defaults to 0
|
||||||
|
threads_enable = 0
|
||||||
|
|
||||||
|
# Warning: Experimental. Not recommended for production environments.
|
||||||
|
# When threads are enabled, SNMPTT may quit unexpectedly.
|
||||||
|
# This option allows you to set the maximum number of threads that will
|
||||||
|
# execute at once. Defaults to 10
|
||||||
|
threads_max = 10
|
||||||
|
|
||||||
|
# The date format for $x in strftime() format. If not defined, defaults
|
||||||
|
# to %a %b %e %Y.
|
||||||
|
#date_format = %a %b %e %Y
|
||||||
|
|
||||||
|
# The time format for $X in strftime() format. If not defined, defaults
|
||||||
|
# to %H:%M:%S.
|
||||||
|
#time_format = %H:%M:%S
|
||||||
|
|
||||||
|
# The date time format in strftime() format for the date/time when logging
|
||||||
|
# to standard output, snmptt log files (log_file) and the unknown log file
|
||||||
|
# (unknown_trap_log_file). Defaults to localtime(). For SQL, see
|
||||||
|
# date_time_format_sql.
|
||||||
|
# Example: %a %b %e %Y %H:%M:%S
|
||||||
|
date_time_format = %H:%M:%S %Y/%m/%d
|
||||||
|
|
||||||
|
[DaemonMode]
|
||||||
|
# Set to 1 to have snmptt fork to the background when run in daemon mode
|
||||||
|
# Ignored by Windows. See documentation
|
||||||
|
daemon_fork = 1
|
||||||
|
|
||||||
|
# Set to the numerical user id (eg: 500) or textual user id (eg: snmptt)
|
||||||
|
# that snmptt should change to when running in daemon mode. Leave blank
|
||||||
|
# to disable. The user used should have read/write access to all log
|
||||||
|
# files, the spool folder, and read access to the configuration files.
|
||||||
|
# Only use this if you are starting snmptt as root.
|
||||||
|
# A second (child) process will be started as the daemon_uid user so
|
||||||
|
# there will be two snmptt processes running. The first process will
|
||||||
|
# continue to run as the user that ran snmptt (root), waiting for the
|
||||||
|
# child to quit. After the child quits, the parent process will remove
|
||||||
|
# the snmptt.pid file and exit.
|
||||||
|
daemon_uid = snmptt
|
||||||
|
|
||||||
|
# Complete path of file to store process ID when running in daemon mode.
|
||||||
|
pid_file = /var/run/snmptt.pid
|
||||||
|
|
||||||
|
# Directory to read received traps from. Ex: /var/spool/snmptt/
|
||||||
|
# Don't forget the trailing slash!
|
||||||
|
spool_directory = /var/spool/snmptt/
|
||||||
|
|
||||||
|
# Amount of time in seconds to sleep between processing spool files
|
||||||
|
sleep = 5
|
||||||
|
|
||||||
|
# Set to 1 to have SNMPTT use the time that the trap was processed by SNMPTTHANDLER
|
||||||
|
# Set to 0 to have SNMPTT use the time the trap was processed. Note: Using 0 can
|
||||||
|
# result in the time being off by the number of seconds used for 'sleep'
|
||||||
|
use_trap_time = 1
|
||||||
|
|
||||||
|
# Set to 0 to have SNMPTT erase the spooled trap file after it attempts to process
|
||||||
|
# the trap even if it did not successfully log the trap to any of the log systems.
|
||||||
|
# Set to 1 to have SNMPTT erase the spooled trap file only after it successfully
|
||||||
|
# logs to at least ONE log system.
|
||||||
|
# Set to 2 to have SNMPTT erase the spooled trap file only after it successfully
|
||||||
|
# logs to ALL of the enabled log systems. Warning: If multiple log systems are
|
||||||
|
# enabled and only one fails, the other log system will continuously be logged to
|
||||||
|
# until ALL of the log systems function.
|
||||||
|
# The recommended setting is 1 with only one log system enabled.
|
||||||
|
keep_unlogged_traps = 1
|
||||||
|
|
||||||
|
# How often duplicate traps will be processed. An MD5 hash of all incoming traps
|
||||||
|
# is stored in memory and is used to check for duplicates. All variables except for
|
||||||
|
# the uptime variable are used when calculating the MD5. The larger this variable,
|
||||||
|
# the more memory snmptt will require.
|
||||||
|
# Note: In most cases it may be a good idea to enable this but sometimes it can have a
|
||||||
|
# negative effect. For example, if you are trying to troubleshoot a wireless device
|
||||||
|
# that keeps losing it's connection you may want to disable this so that you see
|
||||||
|
# all the associations and disassociations.
|
||||||
|
# 5 minutes = 300
|
||||||
|
# 10 minutes = 600
|
||||||
|
# 15 minutes = 900
|
||||||
|
duplicate_trap_window = 0
|
||||||
|
|
||||||
|
[Logging]
|
||||||
|
# Set to 1 to enable messages to be sent to standard output, or 0 to disable.
|
||||||
|
# Would normally be disabled unless you are piping this program to another
|
||||||
|
stdout_enable = 0
|
||||||
|
|
||||||
|
# Set to 1 to enable text logging of *TRAPS*. Make sure you specify a log_file
|
||||||
|
# location
|
||||||
|
log_enable = 1
|
||||||
|
|
||||||
|
# Log file location. The COMPLETE path and filename. Ex: '/var/log/snmptt/snmptt.log'
|
||||||
|
log_file = /var/log/snmptt/snmptt.log
|
||||||
|
|
||||||
|
# Set to 1 to enable text logging of *SNMPTT system errors*. Make sure you
|
||||||
|
# specify a log_system_file location
|
||||||
|
log_system_enable = 1
|
||||||
|
|
||||||
|
# Log file location. The COMPLETE path and filename.
|
||||||
|
# Ex: '/var/log/snmptt/snmpttsystem.log'
|
||||||
|
log_system_file = /var/log/snmptt/snmpttsystem.log
|
||||||
|
|
||||||
|
# Set to 1 to enable logging of unknown traps. This should normally be left off
|
||||||
|
# as the file could grow large quickly. Used primarily for troubleshooting. If
|
||||||
|
# you have defined a trap in snmptt.conf, but it is not executing, enable this to
|
||||||
|
# see if it is being considered an unknown trap due to an incorrect entry or
|
||||||
|
# simply missing from the snmptt.conf file.
|
||||||
|
# Unknown traps can be logged either a text file, a SQL table or both.
|
||||||
|
# See SQL section to define a SQL table to log unknown traps to.
|
||||||
|
unknown_trap_log_enable = 0
|
||||||
|
|
||||||
|
# Unknown trap log file location. The COMPLETE path and filename.
|
||||||
|
# Ex: '/var/log/snmptt/snmpttunknown.log'
|
||||||
|
# Leave blank to disable logging to text file if logging to SQL is enabled
|
||||||
|
# for unknown traps
|
||||||
|
unknown_trap_log_file = /var/log/snmptt/snmpttunknown.log
|
||||||
|
|
||||||
|
# How often in seconds statistics should be logged to syslog or the event log.
|
||||||
|
# Set to 0 to disable
|
||||||
|
# 1 hour = 216000
|
||||||
|
# 12 hours = 2592000
|
||||||
|
# 24 hours = 5184000
|
||||||
|
statistics_interval = 0
|
||||||
|
|
||||||
|
# Set to 1 to enable logging of *TRAPS* to syslog. If you do not have the Sys::Syslog
|
||||||
|
# module then disable this. Windows users should disable this.
|
||||||
|
syslog_enable = 1
|
||||||
|
|
||||||
|
# Syslog facility to use for logging of *TRAPS*. For example: 'local0'
|
||||||
|
syslog_facility = local0
|
||||||
|
|
||||||
|
# Set the syslog level for *TRAPS* based on the severity level of the trap
|
||||||
|
# as defined in the snmptt.conf file. Values must be one per line between
|
||||||
|
# the syslog_level_* and END lines, and are not case sensitive. For example:
|
||||||
|
# Warning
|
||||||
|
# Critical
|
||||||
|
# Duplicate definitions will use the definition with the higher severity.
|
||||||
|
syslog_level_debug = <<END
|
||||||
|
END
|
||||||
|
syslog_level_info = <<END
|
||||||
|
END
|
||||||
|
syslog_level_notice = <<END
|
||||||
|
END
|
||||||
|
syslog_level_warning = <<END
|
||||||
|
END
|
||||||
|
syslog_level_err = <<END
|
||||||
|
END
|
||||||
|
syslog_level_crit = <<END
|
||||||
|
END
|
||||||
|
syslog_level_alert = <<END
|
||||||
|
END
|
||||||
|
|
||||||
|
# Syslog default level to use for logging of *TRAPS*. For example: warning
|
||||||
|
# Valid values: emerg, alert, crit, err, warning, notice, info, debug
|
||||||
|
syslog_level = warning
|
||||||
|
|
||||||
|
# Set to 1 to enable logging of *SNMPTT system errors* to syslog. If you do not have the
|
||||||
|
# Sys::Syslog module then disable this. Windows users should disable this.
|
||||||
|
syslog_system_enable = 1
|
||||||
|
|
||||||
|
# Syslog facility to use for logging of *SNMPTT system errors*. For example: 'local0'
|
||||||
|
syslog_system_facility = local0
|
||||||
|
|
||||||
|
# Syslog level to use for logging of *SNMPTT system errors*.. For example: 'warning'
|
||||||
|
# Valid values: emerg, alert, crit, err, warning, notice, info, debug
|
||||||
|
syslog_system_level = warning
|
||||||
|
|
||||||
|
[SQL]
|
||||||
|
# Determines if the enterprise column contains the numeric OID or symbolic OID
|
||||||
|
# Set to 0 for numeric OID
|
||||||
|
# Set to 1 for symbolic OID
|
||||||
|
# Uses translate_enterprise_oid_format to determine format
|
||||||
|
# Note: net_snmp_perl_enable *must* be enabled
|
||||||
|
db_translate_enterprise = 0
|
||||||
|
|
||||||
|
# FORMAT line to use for unknown traps. If not defined, defaults to $-*.
|
||||||
|
db_unknown_trap_format = '$-*'
|
||||||
|
|
||||||
|
# List of custom SQL column names and values for the table of received traps
|
||||||
|
# (defined by *_table below). The format is
|
||||||
|
# column name
|
||||||
|
# value
|
||||||
|
#
|
||||||
|
# For example:
|
||||||
|
#
|
||||||
|
# binding_count
|
||||||
|
# $#
|
||||||
|
# uptime2
|
||||||
|
# The agent has been up for $T.
|
||||||
|
sql_custom_columns = <<END
|
||||||
|
END
|
||||||
|
|
||||||
|
# List of custom SQL column names and values for the table of unknown traps
|
||||||
|
# (defined by *_table_unknown below). See sql_custom_columns for the format.
|
||||||
|
sql_custom_columns_unknown = <<END
|
||||||
|
END
|
||||||
|
|
||||||
|
# MySQL: Set to 1 to enable logging to a MySQL database via DBI (Linux / Windows)
|
||||||
|
# This requires DBI:: and DBD::mysql
|
||||||
|
mysql_dbi_enable = 0
|
||||||
|
|
||||||
|
# MySQL: Hostname of database server (optional - default localhost)
|
||||||
|
mysql_dbi_host = localhost
|
||||||
|
|
||||||
|
# MySQL: Port number of database server (optional - default 3306)
|
||||||
|
mysql_dbi_port = 3306
|
||||||
|
|
||||||
|
# MySQL: Database to use
|
||||||
|
mysql_dbi_database = snmptt
|
||||||
|
|
||||||
|
# MySQL: Table to use
|
||||||
|
mysql_dbi_table = snmptt
|
||||||
|
|
||||||
|
# MySQL: Table to use for unknown traps
|
||||||
|
# Leave blank to disable logging of unknown traps to MySQL
|
||||||
|
# Note: unknown_trap_log_enable must be enabled.
|
||||||
|
mysql_dbi_table_unknown = snmptt_unknown
|
||||||
|
|
||||||
|
# MySQL: Table to use for statistics
|
||||||
|
# Note: statistics_interval must be set. See also stat_time_format_sql.
|
||||||
|
#mysql_dbi_table_statistics = snmptt_statistics
|
||||||
|
mysql_dbi_table_statistics =
|
||||||
|
|
||||||
|
# MySQL: Username to use
|
||||||
|
mysql_dbi_username = snmpttuser
|
||||||
|
|
||||||
|
# MySQL: Password to use
|
||||||
|
mysql_dbi_password = password
|
||||||
|
|
||||||
|
# MySQL: Whether or not to 'ping' the database before attempting an INSERT
|
||||||
|
# to ensure the connection is still valid. If *any* error is generate by
|
||||||
|
# the ping such as 'Unable to connect to database', it will attempt to
|
||||||
|
# re-create the database connection.
|
||||||
|
# Set to 0 to disable
|
||||||
|
# Set to 1 to enable
|
||||||
|
# Note: This has no effect on mysql_ping_interval.
|
||||||
|
mysql_ping_on_insert = 1
|
||||||
|
|
||||||
|
# MySQL: How often in seconds the database should be 'pinged' to ensure the
|
||||||
|
# connection is still valid. If *any* error is generate by the ping such as
|
||||||
|
# 'Unable to connect to database', it will attempt to re-create the database
|
||||||
|
# connection. Set to 0 to disable pinging.
|
||||||
|
# Note: This has no effect on mysql_ping_on_insert.
|
||||||
|
# disabled = 0
|
||||||
|
# 5 minutes = 300
|
||||||
|
# 15 minutes = 900
|
||||||
|
# 30 minutes = 1800
|
||||||
|
mysql_ping_interval = 300
|
||||||
|
|
||||||
|
# PostgreSQL: Set to 1 to enable logging to a PostgreSQL database via DBI (Linux / Windows)
|
||||||
|
# This requires DBI:: and DBD::PgPP
|
||||||
|
postgresql_dbi_enable = 0
|
||||||
|
|
||||||
|
# Set to 0 to use the DBD::PgPP module
|
||||||
|
# Set to 1 to use the DBD::Pg module
|
||||||
|
postgresql_dbi_module = 0
|
||||||
|
|
||||||
|
# Set to 0 to disable host and port network support
|
||||||
|
# Set to 1 to enable host and port network support
|
||||||
|
# If set to 1, ensure PostgreSQL is configured to allow connections via TCPIP by setting
|
||||||
|
# tcpip_socket = true in the $PGDATA/postgresql.conf file, and adding the ip address of
|
||||||
|
# the SNMPTT server to $PGDATApg_hba.conf. The common location for the config files for
|
||||||
|
# RPM installations of PostgreSQL is /var/lib/pgsql/data.
|
||||||
|
postgresql_dbi_hostport_enable = 0
|
||||||
|
|
||||||
|
# PostgreSQL: Hostname of database server (optional - default localhost)
|
||||||
|
postgresql_dbi_host = localhost
|
||||||
|
|
||||||
|
# PostgreSQL: Port number of database server (optional - default 5432)
|
||||||
|
postgresql_dbi_port = 5432
|
||||||
|
|
||||||
|
# PostgreSQL: Database to use
|
||||||
|
postgresql_dbi_database = snmptt
|
||||||
|
|
||||||
|
# PostgreSQL: Table to use for unknown traps
|
||||||
|
# Leave blank to disable logging of unknown traps to PostgreSQL
|
||||||
|
# Note: unknown_trap_log_enable must be enabled.
|
||||||
|
postgresql_dbi_table_unknown = snmptt_unknown
|
||||||
|
|
||||||
|
# PostgreSQL: Table to use for statistics
|
||||||
|
# Note: statistics_interval must be set. See also stat_time_format_sql.
|
||||||
|
#postgresql_dbi_table_statistics = snmptt_statistics
|
||||||
|
postgresql_dbi_table_statistics =
|
||||||
|
|
||||||
|
# PostgreSQL: Table to use
|
||||||
|
postgresql_dbi_table = snmptt
|
||||||
|
|
||||||
|
# PostgreSQL: Username to use
|
||||||
|
postgresql_dbi_username = snmpttuser
|
||||||
|
|
||||||
|
# PostgreSQL: Password to use
|
||||||
|
postgresql_dbi_password = password
|
||||||
|
|
||||||
|
# PostgreSQL: Whether or not to 'ping' the database before attempting an INSERT
|
||||||
|
# to ensure the connection is still valid. If *any* error is generate by
|
||||||
|
# the ping such as 'Unable to connect to database', it will attempt to
|
||||||
|
# re-create the database connection.
|
||||||
|
# Set to 0 to disable
|
||||||
|
# Set to 1 to enable
|
||||||
|
# Note: This has no effect on postgresqll_ping_interval.
|
||||||
|
postgresql_ping_on_insert = 1
|
||||||
|
|
||||||
|
# PostgreSQL: How often in seconds the database should be 'pinged' to ensure the
|
||||||
|
# connection is still valid. If *any* error is generate by the ping such as
|
||||||
|
# 'Unable to connect to database', it will attempt to re-create the database
|
||||||
|
# connection. Set to 0 to disable pinging.
|
||||||
|
# Note: This has no effect on postgresql_ping_on_insert.
|
||||||
|
# disabled = 0
|
||||||
|
# 5 minutes = 300
|
||||||
|
# 15 minutes = 900
|
||||||
|
# 30 minutes = 1800
|
||||||
|
postgresql_ping_interval = 300
|
||||||
|
|
||||||
|
# ODBC: Set to 1 to enable logging to a database via ODBC using DBD::ODBC.
|
||||||
|
# This requires both DBI:: and DBD::ODBC
|
||||||
|
dbd_odbc_enable = 0
|
||||||
|
|
||||||
|
# DBD:ODBC: Database to use
|
||||||
|
dbd_odbc_dsn = snmptt
|
||||||
|
|
||||||
|
# DBD:ODBC: Table to use
|
||||||
|
dbd_odbc_table = snmptt
|
||||||
|
|
||||||
|
# DBD:ODBC: Table to use for unknown traps
|
||||||
|
# Leave blank to disable logging of unknown traps to DBD:ODBC
|
||||||
|
# Note: unknown_trap_log_enable must be enabled.
|
||||||
|
dbd_odbc_table_unknown = snmptt_unknown
|
||||||
|
|
||||||
|
# DBD:ODBC: Table to use for statistics
|
||||||
|
# Note: statistics_interval must be set. See also stat_time_format_sql.
|
||||||
|
#dbd_odbc_table_statistics = snmptt_statistics
|
||||||
|
dbd_odbc_table_statistics =
|
||||||
|
|
||||||
|
# DBD:ODBC: Username to use
|
||||||
|
dbd_odbc_username = snmptt
|
||||||
|
|
||||||
|
# DBD:DBC:: Password to use
|
||||||
|
dbd_odbc_password = password
|
||||||
|
|
||||||
|
|
||||||
|
# DBD:ODBC: Whether or not to 'ping' the database before attempting an INSERT
|
||||||
|
# to ensure the connection is still valid. If *any* error is generate by
|
||||||
|
# the ping such as 'Unable to connect to database', it will attempt to
|
||||||
|
# re-create the database connection.
|
||||||
|
# Set to 0 to disable
|
||||||
|
# Set to 1 to enable
|
||||||
|
# Note: This has no effect on dbd_odbc_ping_interval.
|
||||||
|
dbd_odbc_ping_on_insert = 1
|
||||||
|
|
||||||
|
# DBD:ODBC:: How often in seconds the database should be 'pinged' to ensure the
|
||||||
|
# connection is still valid. If *any* error is generate by the ping such as
|
||||||
|
# 'Unable to connect to database', it will attempt to re-create the database
|
||||||
|
# connection. Set to 0 to disable pinging.
|
||||||
|
# Note: This has no effect on dbd_odbc_ping_on_insert.
|
||||||
|
# disabled = 0
|
||||||
|
# 5 minutes = 300
|
||||||
|
# 15 minutes = 900
|
||||||
|
# 30 minutes = 1800
|
||||||
|
dbd_odbc_ping_interval = 300
|
||||||
|
|
||||||
|
# The date time format for the traptime column in SQL. Defaults to
|
||||||
|
# localtime(). When a date/time field is used in SQL, this should
|
||||||
|
# be changed to follow a standard that is supported by the SQL server.
|
||||||
|
# Example: For a MySQL DATETIME, use %Y-%m-%d %H:%M:%S.
|
||||||
|
#date_time_format_sql =
|
||||||
|
|
||||||
|
# The date time format for the stat_time column in SQL. Defaults to
|
||||||
|
# localtime(). When a date/time field is used in SQL, this should
|
||||||
|
# be changed to follow a standard that is supported by the SQL server.
|
||||||
|
# Example: For a MySQL DATETIME, use %Y-%m-%d %H:%M:%S.
|
||||||
|
#stat_time_format_sql =
|
||||||
|
|
||||||
|
[Exec]
|
||||||
|
|
||||||
|
# Set to 1 to allow EXEC statements to execute. Should normally be left on unless you
|
||||||
|
# want to temporarily disable all EXEC commands
|
||||||
|
exec_enable = 1
|
||||||
|
|
||||||
|
# Set to 1 to allow PREEXEC statements to execute. Should normally be left on unless you
|
||||||
|
# want to temporarily disable all PREEXEC commands
|
||||||
|
pre_exec_enable = 1
|
||||||
|
|
||||||
|
# If defined, the following command will be executed for ALL unknown traps. Passed to the
|
||||||
|
# command will be all standard and enterprise variables, similar to unknown_trap_log_file
|
||||||
|
# but without the newlines.
|
||||||
|
unknown_trap_exec =
|
||||||
|
|
||||||
|
# FORMAT line that is passed to the unknown_trap_exec command. If not defined, it
|
||||||
|
# defaults to what is described in the unknown_trap_exec setting. The following
|
||||||
|
# would be *similar* to the default described in the unknown_trap_exec setting
|
||||||
|
# (all on one line):
|
||||||
|
# $x !! $X: Unknown trap ($o) received from $A at: Value 0: $A Value 1: $aR
|
||||||
|
# Value 2: $T Value 3: $o Value 4: $aA Value 5: $C Value 6: $e Ent Values: $+*
|
||||||
|
unknown_trap_exec_format =
|
||||||
|
|
||||||
|
# Set to 1 to escape wildards (* and ?) in EXEC, PREEXEC and the unknown_trap_exec
|
||||||
|
# commands. Enable this to prevent the shell from expanding the wildcard
|
||||||
|
# characters. The default is 1.
|
||||||
|
exec_escape = 1
|
||||||
|
|
||||||
|
[Debugging]
|
||||||
|
# 0 - do not output messages
|
||||||
|
# 1 - output some basic messages
|
||||||
|
# 2 - out all messages
|
||||||
|
DEBUGGING = 0
|
||||||
|
|
||||||
|
# Debugging file - SNMPTT
|
||||||
|
# Location of debugging output file. Leave blank to default to STDOUT (good for
|
||||||
|
# standalone mode, or daemon mode without forking)
|
||||||
|
DEBUGGING_FILE =
|
||||||
|
# DEBUGGING_FILE = /var/log/snmptt/snmptt.debug
|
||||||
|
|
||||||
|
# Debugging file - SNMPTTHANDLER
|
||||||
|
# Location of debugging output file. Leave blank to default to STDOUT
|
||||||
|
DEBUGGING_FILE_HANDLER =
|
||||||
|
# DEBUGGING_FILE_HANDLER = /var/log/snmptt/snmptthandler.debug
|
||||||
|
|
||||||
|
[TrapFiles]
|
||||||
|
# A list of snmptt.conf files (this is NOT the snmptrapd.conf file). The COMPLETE path
|
||||||
|
# and filename. Ex: '/etc/snmp/snmptt.conf'
|
||||||
|
snmptt_conf_files = <<END
|
||||||
|
/etc/snmp/snmptt.conf
|
||||||
|
END
|
||||||
|
|
|
@ -0,0 +1,51 @@
|
||||||
|
#
|
||||||
|
# Copyright 2015 Mirantis, Inc.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
#
|
||||||
|
class plugin_zabbix_snmptrapd {
|
||||||
|
|
||||||
|
include plugin_zabbix_snmptrapd::params
|
||||||
|
|
||||||
|
$service_name = $plugin_zabbix_snmptrapd::params::service_name
|
||||||
|
$server_ip = hiera('management_vip')
|
||||||
|
$plugin_settings = hiera('zabbix_snmptrapd')
|
||||||
|
|
||||||
|
class { 'snmp':
|
||||||
|
snmptrapdaddr => ["udp:${server_ip}:162"],
|
||||||
|
ro_community => $plugin_settings['community'],
|
||||||
|
service_ensure => 'stopped',
|
||||||
|
trap_service_ensure => 'running',
|
||||||
|
trap_service_enable => true,
|
||||||
|
trap_handlers => ['default /usr/sbin/snmptthandler'],
|
||||||
|
}
|
||||||
|
|
||||||
|
file { "/etc/init.d/${service_name}":
|
||||||
|
ensure => present,
|
||||||
|
owner => 'root',
|
||||||
|
group => 'root',
|
||||||
|
mode => '0755',
|
||||||
|
source => "puppet:///modules/plugin_zabbix_snmptrapd/initscripts/${service_name}",
|
||||||
|
require => Class['snmp'],
|
||||||
|
notify => Service[$service_name],
|
||||||
|
}
|
||||||
|
|
||||||
|
class { 'plugin_zabbix_snmptrapd::snmptt':
|
||||||
|
require => Class['snmp'],
|
||||||
|
}
|
||||||
|
|
||||||
|
class { 'plugin_zabbix_snmptrapd::zabbix':
|
||||||
|
require => Class['plugin_zabbix_snmptrapd::snmptt'],
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
#
|
||||||
|
# Copyright 2015 Mirantis, Inc.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
#
|
||||||
|
class plugin_zabbix_snmptrapd::params {
|
||||||
|
|
||||||
|
case $::osfamily {
|
||||||
|
'Debian': {
|
||||||
|
$service_name = 'snmpd'
|
||||||
|
}
|
||||||
|
'RedHat': {
|
||||||
|
$service_name = 'snmptrapd'
|
||||||
|
}
|
||||||
|
default: {
|
||||||
|
fail("unsuported osfamily ${::osfamily}, currently Debian and RedHat are the only supported platforms")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,62 @@
|
||||||
|
#
|
||||||
|
# Copyright 2015 Mirantis, Inc.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
#
|
||||||
|
class plugin_zabbix_snmptrapd::snmptt {
|
||||||
|
|
||||||
|
if $::osfamily == 'RedHat' {
|
||||||
|
package { 'net-snmp-perl':
|
||||||
|
ensure => present,
|
||||||
|
before => Package['snmptt'],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
package { 'snmptt':
|
||||||
|
ensure => present,
|
||||||
|
}
|
||||||
|
|
||||||
|
service { 'snmptt':
|
||||||
|
ensure => running,
|
||||||
|
enable => true,
|
||||||
|
require => Package['snmptt'],
|
||||||
|
}
|
||||||
|
|
||||||
|
file { '/etc/snmp/snmptt.ini':
|
||||||
|
ensure => present,
|
||||||
|
mode => '0644',
|
||||||
|
owner => 'root',
|
||||||
|
group => 'root',
|
||||||
|
source => 'puppet:///modules/plugin_zabbix_snmptrapd/snmptt.ini',
|
||||||
|
require => Package['snmptt'],
|
||||||
|
notify => Service['snmptt'],
|
||||||
|
}
|
||||||
|
|
||||||
|
file { '/etc/snmp/snmptt.conf':
|
||||||
|
ensure => present,
|
||||||
|
mode => '0644',
|
||||||
|
owner => 'root',
|
||||||
|
group => 'root',
|
||||||
|
source => 'puppet:///modules/plugin_zabbix_snmptrapd/snmptt.conf',
|
||||||
|
require => Package['snmptt'],
|
||||||
|
notify => Service['snmptt'],
|
||||||
|
}
|
||||||
|
|
||||||
|
file_line { 'in logrotate disable compressing of snmptt logfiles':
|
||||||
|
path => '/etc/logrotate.d/snmptt',
|
||||||
|
match => 'compress',
|
||||||
|
line => 'nocompress',
|
||||||
|
require => Package['snmptt'],
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,38 @@
|
||||||
|
#
|
||||||
|
# Copyright 2015 Mirantis, Inc.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
#
|
||||||
|
class plugin_zabbix_snmptrapd::zabbix {
|
||||||
|
|
||||||
|
file_line { 'enable SNMPTrapper in Zabbix':
|
||||||
|
path => '/etc/zabbix/zabbix_server.conf',
|
||||||
|
match => 'StartSNMPTrapper',
|
||||||
|
line => 'StartSNMPTrapper=1',
|
||||||
|
notify => Service['p_zabbix-server'],
|
||||||
|
}
|
||||||
|
|
||||||
|
file_line { 'set SNMPTrapperFile in Zabbix':
|
||||||
|
path => '/etc/zabbix/zabbix_server.conf',
|
||||||
|
match => 'SNMPTrapperFile',
|
||||||
|
line => 'SNMPTrapperFile=/var/log/snmptt/snmptt.log',
|
||||||
|
notify => Service['p_zabbix-server'],
|
||||||
|
}
|
||||||
|
|
||||||
|
service { 'p_zabbix-server':
|
||||||
|
ensure => running,
|
||||||
|
enable => true,
|
||||||
|
provider => 'pacemaker',
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
attributes:
|
||||||
|
metadata:
|
||||||
|
restrictions:
|
||||||
|
- condition: "settings:zabbix_monitoring.metadata.enabled == false"
|
||||||
|
action: disable
|
||||||
|
message: "This plugin requires Zabbix plugin"
|
||||||
|
community:
|
||||||
|
value: "public"
|
||||||
|
label: "SNMP community"
|
||||||
|
description: "SNMP community for traps authorization"
|
||||||
|
weight: 10
|
||||||
|
type: "password"
|
|
@ -0,0 +1,33 @@
|
||||||
|
# Plugin name
|
||||||
|
name: zabbix_snmptrapd
|
||||||
|
title: SNMP trap daemon for Zabbix plugin
|
||||||
|
# Plugin version
|
||||||
|
version: 1.0.0
|
||||||
|
# Description
|
||||||
|
description: Gives ability to receive SNMP traps and pass them to Zabbix.
|
||||||
|
# Required fuel version
|
||||||
|
fuel_version: ['6.1']
|
||||||
|
# Groups
|
||||||
|
groups: []
|
||||||
|
# Licenses
|
||||||
|
licenses: ['Apache License, Version 2.0']
|
||||||
|
# Homepage
|
||||||
|
homepage: 'https://github.com/stackforge/fuel-plugin-zabbix-snmptrapd'
|
||||||
|
# Authors
|
||||||
|
authors: ['Dmitry Klenov <dklenov@mirantis.com>', 'Piotr Misiak <pmisiak@mirantis.com>', 'Szymon Banka <sbanka@mirantis.com>', 'Alexander Zatserklyany <azatserklyany@mirantis.com>']
|
||||||
|
|
||||||
|
# The plugin is compatible with releases in the list
|
||||||
|
releases:
|
||||||
|
- os: ubuntu
|
||||||
|
version: 2014.2-6.1
|
||||||
|
mode: ['ha']
|
||||||
|
deployment_scripts_path: deployment_scripts/
|
||||||
|
repository_path: repositories/ubuntu
|
||||||
|
- os: centos
|
||||||
|
version: 2014.2-6.1
|
||||||
|
mode: ['ha']
|
||||||
|
deployment_scripts_path: deployment_scripts/
|
||||||
|
repository_path: repositories/centos
|
||||||
|
|
||||||
|
# Version of plugin package
|
||||||
|
package_version: '2.0.0'
|
|
@ -0,0 +1,43 @@
|
||||||
|
#!/bin/bash
|
||||||
|
set -eux
|
||||||
|
|
||||||
|
ROOT="$(dirname `readlink -f $0`)"
|
||||||
|
RPM_REPO="${ROOT}"/repositories/centos
|
||||||
|
DEB_REPO="${ROOT}"/repositories/ubuntu
|
||||||
|
MODULES="${ROOT}"/deployment_scripts/puppet/modules
|
||||||
|
SNMP_TARBALL_URL="https://forgeapi.puppetlabs.com/v3/files/razorsedge-snmp-3.3.1.tar.gz"
|
||||||
|
mkdir -p $RPM_REPO
|
||||||
|
mkdir -p $DEB_REPO
|
||||||
|
mkdir -p $MODULES
|
||||||
|
|
||||||
|
# Downloads needed RPM or DEB packages
|
||||||
|
function download {
|
||||||
|
case "$1" in
|
||||||
|
deb) REPO=$DEB_REPO;;
|
||||||
|
rpm) REPO=$RPM_REPO;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
|
||||||
|
while [ $# -gt 0 ]; do
|
||||||
|
FILE=$(basename "$1")
|
||||||
|
wget -qO - $1 > "$REPO/$FILE"
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
download rpm http://mirror.centos.org/centos/6/updates/x86_64/Packages/net-snmp-5.5-50.el6_6.1.x86_64.rpm \
|
||||||
|
http://mirror.centos.org/centos/6/updates/x86_64/Packages/net-snmp-libs-5.5-50.el6_6.1.x86_64.rpm \
|
||||||
|
http://mirror.centos.org/centos/6/updates/x86_64/Packages/net-snmp-perl-5.5-50.el6_6.1.x86_64.rpm \
|
||||||
|
http://mirror.centos.org/centos/6/os/x86_64/Packages/perl-Digest-HMAC-1.01-22.el6.noarch.rpm \
|
||||||
|
http://mirror.centos.org/centos/6/os/x86_64/Packages/perl-Digest-SHA1-2.12-2.el6.x86_64.rpm \
|
||||||
|
http://mirror.centos.org/centos/6/os/x86_64/Packages/perl-IO-stringy-2.110-10.1.el6.noarch.rpm \
|
||||||
|
http://mirror.centos.org/centos/6/os/x86_64/Packages/perl-List-MoreUtils-0.22-10.el6.x86_64.rpm \
|
||||||
|
http://dl.fedoraproject.org/pub/epel/6/x86_64/snmptt-1.4-0.9.beta2.el6.noarch.rpm \
|
||||||
|
http://dl.fedoraproject.org/pub/epel/6/x86_64/perl-Crypt-DES-2.05-9.el6.x86_64.rpm \
|
||||||
|
http://dl.fedoraproject.org/pub/epel/6/x86_64/perl-Config-IniFiles-2.72-2.el6.noarch.rpm \
|
||||||
|
http://dl.fedoraproject.org/pub/epel/6/x86_64/perl-Net-SNMP-5.2.0-4.el6.noarch.rpm
|
||||||
|
|
||||||
|
#download snmp module
|
||||||
|
mkdir -p "${MODULES}/snmp"
|
||||||
|
wget -qO- "${SNMP_TARBALL_URL}" | tar -C "${MODULES}/snmp" --strip-components=1 -xz
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
- role: ['primary-controller', 'controller']
|
||||||
|
stage: post_deployment/8110
|
||||||
|
type: puppet
|
||||||
|
parameters:
|
||||||
|
puppet_manifest: puppet/manifests/controller.pp
|
||||||
|
puppet_modules: puppet/modules:/etc/puppet/modules
|
||||||
|
timeout: 1200
|
Loading…
Reference in New Issue