[Nagiosplug-devel] Kickoff for 1.5 (SNMP traps)
Subhendu Ghosh
sghosh at sghosh.org
Wed Mar 9 17:40:59 CET 2005
An FYI-
I have been working on defining some SNMP objects for Nagios to allow
feeding to other NMS.
Currently have a ROOT and NOTIFY mibs defined.
Have a working but not ready for release notification script that sends
out a trap based on these objects. Use v2b macros.
The Nagios tree is officially registered under IANA's enterprises
namespace.
--
-sg
-------------- next part --------------
NAGIOS-ROOT-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, enterprises
FROM SNMPv2-SMI
TEXTUAL-CONVENTION
FROM SNMPv2-TC;
nagios MODULE-IDENTITY
LAST-UPDATED "200501200000Z" -- January 20, 2005
ORGANIZATION "Nagios"
CONTACT-INFO
" Subhendu Ghosh
Telephone: +1 201 232 2851
Email: sghosh at users.sourceforge.net
Nagios Information:
http://www.nagios.org
"
DESCRIPTION
"Objects for Nagion(tm) NMS"
REVISION "200501200000Z" --January 20, 2005
DESCRIPTION
"Initial Version"
::= {enterprises 20006}
--
-- Textual Conventions
--
NotifyType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"A string identifying the type of notification that is being sent
(PROBLEM, RECOVERY, ACKNOWLEDGEMENT, FLAPPINGSTART or FLAPPINGSTOP).
"
SYNTAX INTEGER {
problem(0),
recovery(1),
acknowledgement(2),
flappingstart(3),
flappingstop(4)
}
HostStateID ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"A number that corresponds to the current state of the host: 0=UP, 1=DOWN,
2=UNREACHABLE."
SYNTAX INTEGER {
up(0),
down(1),
unreachable(3)
}
HostStateType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"A string indicating the state type for the current host check (HARD or
SOFT). Soft states occur when host checks return a non-OK (non-UP) state
and are in the process of being retried. Hard states result when host
checks have been checked a specified maximum number of times."
SYNTAX INTEGER {
hard(0),
soft(1)
}
ServiceStateID ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"A number that corresponds to the current state of the service: 0=OK,
1=WARNING, 2=CRITICAL, 3=UNKNOWN.
"
SYNTAX INTEGER{
ok(0),
warning(1),
critical(2),
unknown(3)
}
END
-------------- next part --------------
NAGIOS-NOTIFY-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
Integer32
FROM SNMPv2-SMI
nagios,NotifyType,HostStateID,HostStateType,ServiceStateID
FROM NAGIOS-ROOT-MIB;
nagiosNotify MODULE-IDENTITY
LAST-UPDATED "200501200000Z" -- January 20, 2005
ORGANIZATION "Nagios"
CONTACT-INFO
" Subhendu Ghosh
Telephone: +1 201 232 2851
Email: sghosh at users.sourceforge.net
Nagios Information:
http://www.nagios.org
"
DESCRIPTION
"Objects for Nagion(tm) events. There are 2 primary table
reflecting the division in Nagios for Host events and
Service events.
The 2 tables are extended the HostNotifyTable and the
ServiceNotifyTable to keep track of the notifications based on events.
The tables entries themselves are not accessible but are used for OID
entries for TRAP/INFORM notifications.
These objects are based on the macros defined in Nagios v2.0
"
REVISION "200501200000Z" --January 20, 2005
DESCRIPTION
"Initial Version"
::= { nagios 1 }
nagiosHostEventTable OBJECT-TYPE
SYNTAX SEQUENCE OF HostEventEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Table of Nagios host events"
::= { nagiosNotify 1 }
HostEventEntry ::= SEQUENCE {
nHostEventIndex Integer32,
nHostname OCTET STRING,
nHostAlias OCTET STRING,
nHostStateID HostStateID,
nHostStateType HostStateType,
nHostAttempt Integer32,
nHostDurationSec Integer32,
nHostGroupName OCTET STRING,
nHostLastCheck INTEGER,
nHostLastChange INTEGER,
nHostLastUp INTEGER,
nHostLastDown INTEGER,
nHostLastUnreachable INTEGER,
nHostOutput OCTET STRING,
nHostPerfData OCTET STRING
}
nagiosHostEventEntry OBJECT-TYPE
SYNTAX HostEventEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Each notification event"
INDEX { nHostEventIndex }
::= { nagiosHostEventTable 1 }
nHostEventIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This object uniquely identifies this host event entry"
::= { nagiosHostEventEntry 1 }
nHostname OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Hostname as specified in the Nagios configuration file."
::= { nagiosHostEventEntry 2 }
nHostAlias OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The host alias as specified in the Nagios configuration file"
::= { nagiosHostEventEntry 3 }
nHostStateID OBJECT-TYPE
SYNTAX HostStateID
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The host state as defined by the HOSTSTATEID macro"
::= { nagiosHostEventEntry 4 }
nHostStateType OBJECT-TYPE
SYNTAX HostStateType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The host state as defined by the HOSTSTATETYPE macro"
::= { nagiosHostEventEntry 5 }
nHostAttempt OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of the current host check retry. For instance, if this is the
second time that the host is being rechecked, this will be the number two.
Current attempt number is really only useful when writing host event
handlers for soft states that take a specific action based on the host retry
number. The host state as defined by the HOSTSTATEID macro"
::= { nagiosHostEventEntry 6 }
nHostDurationSec OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A number indicating the number of seconds that the host has spent in its
current state"
::= { nagiosHostEventEntry 7 }
nHostGroupName OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The short name of the hostgroup that this host belongs to. This value is
taken from the hostgroup_name directive in the hostgroup definition. If the
host belongs to more than one hostgroup this macro will contain the name of
just one of them."
::= { nagiosHostEventEntry 8 }
nHostLastCheck OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is a timestamp in time_t format (seconds since the UNIX epoch)
indicating the time at which a check of the host was last performed."
::= { nagiosHostEventEntry 9 }
nHostLastChange OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is a timestamp in time_t format (seconds since the UNIX epoch)
indicating the time the host last changed state."
::= { nagiosHostEventEntry 10 }
nHostLastUp OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is a timestamp in time_t format (seconds since the UNIX epoch)
indicating the time at which the host was last detected as being in an UP
state."
::= { nagiosHostEventEntry 11 }
nHostLastDown OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is a timestamp in time_t format (seconds since the UNIX epoch)
indicating the time at which the host was last detected as being in an
DOWN state."
::= { nagiosHostEventEntry 12 }
nHostLastUnreachable OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is a timestamp in time_t format (seconds since the UNIX epoch)
indicating the time at which the host was last detected as being in an
UNREACHABLE state."
::= { nagiosHostEventEntry 13 }
nHostOutput OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The text output from the last host check (i.e. Ping OK)."
::= { nagiosHostEventEntry 14 }
nHostPerfData OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object contains any performance data that may have been returned
by the last host check."
::= { nagiosHostEventEntry 15 }
--
-- Host Notifications
nagiosHostNotifyTable OBJECT-TYPE
SYNTAX SEQUENCE OF HostNotifyEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Table of Nagios host notifications"
::= {nagiosNotify 2}
HostNotifyEntry ::= SEQUENCE {
nHostNotifyType NotifyType,
nHostNotifyNum Integer32,
nHostAckAuthor OCTET STRING,
nHostAckComment OCTET STRING
}
nagiosHostNotifyEntry OBJECT-TYPE
SYNTAX HostNotifyEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Nagios host notifications extends the nagiosHostEventTable when a
notification is generated for an event."
INDEX { nHostEventIndex }
::= { nagiosHostNotifyTable 1 }
nHostNotifyType OBJECT-TYPE
SYNTAX NotifyType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This identifies the type of "
::= { nagiosHostNotifyEntry 1 }
nHostNotifyNum OBJECT-TYPE
SYNTAX NotifyType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This identifies the type of "
::= { nagiosHostNotifyEntry 2 }
nHostAckAuthor OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string containing the name of the user who acknowledged the host
problem. This macro is only valid in notifications where the
$NOTIFICATIONTYPE$ macro is set to ACKNOWLEDGEMENT."
::= { nagiosHostNotifyEntry 3 }
nHostAckComment OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string containing the acknowledgement comment that was entered by
the user who acknowledged the host problem. This macro is only valid
in notifications where the $NOTIFICATIONTYPE$ macro is set to ACKNOWLEDGEMENT"
::= { nagiosHostNotifyEntry 4 }
--
-- Service Events
--
nagiosSvcEventTable OBJECT-TYPE
SYNTAX SEQUENCE OF SvcEventEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Table of Nagios service notifications"
::= { nagiosNotify 3 }
SvcEventEntry ::= SEQUENCE {
nSvcEventIndex Integer32,
nSvcHostname OCTET STRING,
nSvcHostAlias OCTET STRING,
nSvcHostStateID HostStateID,
nSvcHostStateType HostStateType,
nSvcDesc OCTET STRING,
nSvcStateID ServiceStateID,
nSvcAttempt Integer32,
nSvcDurationSec Integer32,
nSvcGroupName OCTET STRING,
nSvcLastCheck INTEGER,
nSvcLastChange INTEGER,
nSvcLastOK INTEGER,
nSvcLastWarn INTEGER,
nSvcLastCrit INTEGER,
nSvcLastUnkn INTEGER,
nSvcOutput OCTET STRING,
nSvcPerfData OCTET STRING
}
nagiosSvcEventEntry OBJECT-TYPE
SYNTAX SvcEventEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Table of Nagios service events."
INDEX { nSvcEventIndex }
::= { nagiosSvcEventTable 1 }
nSvcEventIndex OBJECT-TYPE
SYNTAX Integer32 (1..65535)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This object uniquely identifies this service event entry"
::= { nagiosSvcEventEntry 1 }
nSvcHostname OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Hostname as specified in the Nagios configuration file."
::= { nagiosSvcEventEntry 2 }
nSvcHostAlias OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The host alias as specified in the Nagios configuration file"
::= { nagiosSvcEventEntry 3 }
nSvcHostStateID OBJECT-TYPE
SYNTAX HostStateID
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A number that corresponds to the current state of the service: 0=OK,
1=WARNING, 2=CRITICAL, 3=UNKNOWN."
::= { nagiosSvcEventEntry 4 }
nSvcHostStateType OBJECT-TYPE
SYNTAX HostStateType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Whether the host is in a hard or soft state."
::= { nagiosSvcEventEntry 5 }
nSvcDesc OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This value is taken from the description directive of the service
definition."
::= { nagiosSvcEventEntry 6 }
nSvcStateID OBJECT-TYPE
SYNTAX ServiceStateID
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" A number that corresponds to the current state of the service: 0=OK,
1=WARNING, 2=CRITICAL, 3=UNKNOWN"
::= { nagiosSvcEventEntry 7 }
nSvcAttempt OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of the current service check retry. For instance, if this is
the second time that the service is being rechecked, this will be the
number two. Current attempt number is really only useful when writing
service event handlers for soft states that take a specific action based
on the service retry number."
::= { nagiosSvcEventEntry 8 }
nSvcDurationSec OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A number indicating the number of seconds that the service has spent in
its current state."
::= { nagiosSvcEventEntry 9 }
nSvcGroupName OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The short name of the servicegroup that this service belongs to. This
value is taken from the servicegroup_name directive in the servicegroup
definition. If the service belongs to more than one servicegroup this
object will contain the name of just one of them."
::= { nagiosSvcEventEntry 10 }
nSvcLastCheck OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is a timestamp in time_t format (seconds since the UNIX epoch)
indicating the time at which a check of the service was last performed."
::= { nagiosSvcEventEntry 11 }
nSvcLastChange OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is a timestamp in time_t format (seconds since the UNIX epoch)
indicating the time the service last changed state."
::= { nagiosSvcEventEntry 12 }
nSvcLastOK OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is a timestamp in time_t format (seconds since the UNIX epoch)
indicating the time at which the service was last detected as being in an
OK state."
::= { nagiosSvcEventEntry 13 }
nSvcLastWarn OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is a timestamp in time_t format (seconds since the UNIX epoch)
indicating the time at which the service was last detected as being in a
WARNING state."
::= { nagiosSvcEventEntry 14 }
nSvcLastCrit OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is a timestamp in time_t format (seconds since the UNIX epoch)
indicating the time at which the service was last detected as being in a
CRITICAL state."
::= { nagiosSvcEventEntry 15 }
nSvcLastUnkn OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is a timestamp in time_t format (seconds since the UNIX epoch)
indicating the time at which the service was last detected as being in an
UNKNOWN state."
::= { nagiosSvcEventEntry 16 }
nSvcOutput OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The text output from the last service check (i.e. Ping OK)."
::= { nagiosSvcEventEntry 17 }
nSvcPerfData OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object contains any performance data that may have been returned by
the last service check."
::= { nagiosSvcEventEntry 18 }
--
-- Service Notifications
--
nagiosSvcNotifyTable OBJECT-TYPE
SYNTAX SEQUENCE OF SvcNotifyEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Table of Nagios service notifications."
::= { nagiosNotify 4 }
SvcNotifyEntry ::= SEQUENCE {
nSvcNotifyType NotifyType,
nSvcNotifyNum Integer32,
nSvcAckAuthor OCTET STRING,
nSvcAckComment OCTET STRING
}
nagiosSvcNotifyEntry OBJECT-TYPE
SYNTAX SvcNotifyEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Nagios service notifications extends the nagiosSvcEnevtsTable when
a notification is generated for an event."
INDEX { nSvcEventIndex }
::= { nagiosSvcNotifyTable 1}
nSvcNotifyType OBJECT-TYPE
SYNTAX NotifyType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string identifying the type of notification that is being sent
(PROBLEM, RECOVERY, ACKNOWLEDGEMENT, FLAPPINGSTART or FLAPPINGSTOP)."
::= { nagiosSvcNotifyEntry 1 }
nSvcNotifyNum OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current notification number for the service or host. The notification
number increases by one (1) each time a new notification is sent out for a
host or service (except for acknowledgements). The notification number is
reset to 0 when the host or service recovers (after the recovery
notification has gone out). Acknowledgements do not cause the notification
number to increase."
::= { nagiosSvcNotifyEntry 2 }
nSvcAckAuthor OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string containing the name of the user who acknowledged the service
problem. This object is only valid in notifications where the
nSvcNotifyType object is set to ACKNOWLEDGEMENT."
::= { nagiosSvcNotifyEntry 3 }
nSvcAckComment OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A string containing the acknowledgement comment that was entered by the
user who acknowledged the service problem. This object is only valid in
notifications where the nSvcNotifyType object is set to ACKNOWLEDGEMENT."
::= { nagiosSvcNotifyEntry 4 }
--
-- Events and Notifications
--
nHostEvent NOTIFICATION-TYPE
OBJECTS { nHostname, nHostStateID, nHostStateType, nHostAttempt,
nHostDurationSec, nHostGroupName, nHostLastCheck, nHostLastChange,
nHostOutput }
STATUS current
DESCRIPTION
"The SNMP trap that is generated as a result of an event with the host
in Nagios."
::= { nagiosNotify 5 }
nHostNotify NOTIFICATION-TYPE
OBJECTS { nHostNotifyType, nHostNotifyNum, nHostAckAuthor, nHostAckComment,
nHostname, nHostStateID, nHostStateType, nHostAttempt,
nHostDurationSec, nHostGroupName, nHostLastCheck, nHostLastChange,
nHostOutput }
STATUS current
DESCRIPTION
"The SNMP trap that is generated as a result of an event requiring
notification for a host in Nagios."
::= { nagiosNotify 6 }
nSvcEvent NOTIFICATION-TYPE
OBJECTS { nHostname, nHostStateID, nSvcDesc, nSvcStateID, nSvcAttempt,
nSvcDurationSec, nSvcGroupName, nSvcLastCheck, nSvcLastChange,
nSvcOutput }
STATUS current
DESCRIPTION
"The SNMP trap that is generated as a result of an event with the service
in Nagios."
::= { nagiosNotify 7 }
nSvcNotify NOTIFICATION-TYPE
OBJECTS { nSvcNotifyType, nSvcNotifyNum, nSvcAckAuthor, nSvcAckComment,
nHostname, nHostStateID, nSvcDesc, nSvcStateID, nSvcAttempt,
nSvcDurationSec, nSvcGroupName, nSvcLastCheck, nSvcLastChange,
nSvcOutput }
STATUS current
DESCRIPTION
"The SNMP trap that is generated as a result of an event requiring
notification for a service in Nagios."
::= { nagiosNotify 8 }
END
More information about the Devel
mailing list