librenms/librenms

View on GitHub
mibs/junos/JUNIPER-SYSLOG-MIB

Summary

Maintainability
Test Coverage
-- *******************************************************************
-- Juniper enterprise specific syslog MIB. 
--
-- Copyright (c) 2002-2004, 2006, Juniper Networks, Inc.
-- All rights reserved.
--
-- The contents of this document are subject to change without notice.
-- *******************************************************************

JUNIPER-SYSLOG-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-IDENTITY, OBJECT-TYPE, 
    NOTIFICATION-TYPE, Unsigned32
        FROM SNMPv2-SMI
    DisplayString, DateAndTime, TEXTUAL-CONVENTION
        FROM SNMPv2-TC
    jnxMibs, jnxSyslogNotifications 
        FROM JUNIPER-SMI;

jnxSyslog MODULE-IDENTITY
    LAST-UPDATED "200603202153Z" -- Mon Mar 20 21:53:48 2005 UTC
    ORGANIZATION "Juniper Networks, Inc."
    CONTACT-INFO
            "Juniper Technical Assistance Center
             Juniper Networks, Inc.
             1133 Innovation Way
             Sunnyvale, CA 94089
             E-mail: support@juniper.net"

    DESCRIPTION
            "This is Juniper Networks implementation of enterprise
             specific MIB for syslogs generated by JUNOS."
    ::= { jnxMibs 35 }


-- Textual Conventions
JnxSyslogSeverity ::= TEXTUAL-CONVENTION
        STATUS    current
        DESCRIPTION
            "The severity of the generated syslog message. The enumeration
             values are equal to the values that syslog uses + 1.
             For example, with syslog, emergency=0."
        SYNTAX    INTEGER {
                    emergency(1),
                    alert(2),
                    critical(3),
                    error(4),
                    warning(5),
                    notice(6),
                    info(7),
                    debug(8)
                }

JnxSyslogFacility  ::= TEXTUAL-CONVENTION
        STATUS    current
        DESCRIPTION
            "The facility of the generated syslog message.The enumeration
             values are equal to the values that syslog uses + 1.
             For example, with syslog, kernel=0."
        SYNTAX    INTEGER {
            kernel(1), -- kernel messages
            user(2), -- user-level messages
            mail(3), -- mail system
            daemon(4), -- system daemons
            auth(5), -- authorization messages
            syslog(6), -- messages generated by syslogd
            lpr(7), -- line printer subsystem
            news(8), -- network news subsystem
            uucp(9), -- UUCP subsystem
            cron(10), -- clock daemon
            authPriv(11),-- authorization messages
            ftp(12),-- ftp daemon
            ntp(13),-- NTP subsystem
            security(14),-- security subsystems
                                     --    (firewalling, etc.)
            console(15),-- /dev/console output
                         -- 16 Reserved for system use
            local0(17),
            dfc(18), -- JUNOS Names.
            local2(19),
            firewall(20), -- JUNOS Names.
            pfe(21), -- JUNOS Names.
            conflict(22), -- JUNOS Names.
            change(23), -- JUNOS Names.
            interact(24) -- JUNOS Names.
                }

--
-- Syslog Notification objects
--

    jnxSyslogNotifyVars OBJECT-IDENTITY
        STATUS current
        DESCRIPTION
            "Notification object definitions."
        ::= { jnxSyslog 1 }

    jnxSyslogTable   OBJECT-TYPE
      SYNTAX      SEQUENCE OF JnxSyslogEntry 
      MAX-ACCESS  not-accessible
      STATUS      current 
      DESCRIPTION
            "A table of syslog messages generated by the device."
      ::= { jnxSyslogNotifyVars 1 }
 
    jnxSyslogEntry    OBJECT-TYPE
      SYNTAX      JnxSyslogEntry 
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION 
            "An entry of syslog table."
      INDEX     { jnxSyslogId }
      ::= { jnxSyslogTable 1 }

    JnxSyslogEntry ::=
        SEQUENCE {
          jnxSyslogId             Unsigned32,
          jnxSyslogEventName      DisplayString,
          jnxSyslogTimestamp      DateAndTime,
          jnxSyslogSeverity       JnxSyslogSeverity,
          jnxSyslogFacility       JnxSyslogFacility,
          jnxSyslogProcessId      Unsigned32,
          jnxSyslogProcessName    DisplayString,
          jnxSyslogHostName       DisplayString,
          jnxSyslogMessage        OCTET STRING
        }

    jnxSyslogId OBJECT-TYPE
        SYNTAX      Unsigned32 
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Syslog message identifier. This is also used as
             primary index in jnxSyslogAttrValTable"
        ::= { jnxSyslogEntry 1 }

    jnxSyslogEventName OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "An octet string containing syslog event name."
        ::= { jnxSyslogEntry 2 }

    jnxSyslogTimestamp OBJECT-TYPE
        SYNTAX      DateAndTime
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "Date and Time of syslog message generation."
        ::= { jnxSyslogEntry 3 }

    jnxSyslogSeverity OBJECT-TYPE
        SYNTAX      JnxSyslogSeverity 
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "Identifies the severity of this syslog message."
        ::= { jnxSyslogEntry 4 }

    jnxSyslogFacility OBJECT-TYPE
        SYNTAX      JnxSyslogFacility
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "Identified the facility of this syslog message."
        ::= { jnxSyslogEntry 5 }

    jnxSyslogProcessId OBJECT-TYPE
        SYNTAX      Unsigned32 
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "Process-Id of the process that generated this syslog message."
        ::= { jnxSyslogEntry 6 }

    jnxSyslogProcessName OBJECT-TYPE
        SYNTAX      DisplayString 
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "Name of the process that generated this syslog message."
        ::= { jnxSyslogEntry 7 }

    jnxSyslogHostName OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "Hostname of host on which this syslog message is generated." 
        ::= { jnxSyslogEntry 8 }

    jnxSyslogMessage OBJECT-TYPE 
        SYNTAX      OCTET STRING 
        MAX-ACCESS  accessible-for-notify
        STATUS      current 
        DESCRIPTION
            "The syslog message string."
        ::= { jnxSyslogEntry 9 }

    jnxSyslogAvTable  OBJECT-TYPE
      SYNTAX      SEQUENCE OF JnxSyslogAvEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
            "A table of attribute value pairs of the syslog 
             messages generated by the device."
      ::= { jnxSyslogNotifyVars 2 }

    jnxSyslogAvEntry   OBJECT-TYPE
      SYNTAX      JnxSyslogAvEntry 
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
            "An entry of attribute value pair."
      INDEX     { jnxSyslogId, jnxSyslogAvIndex }
      ::= { jnxSyslogAvTable 1 }

    JnxSyslogAvEntry::=
        SEQUENCE {
          jnxSyslogAvIndex       Unsigned32,
          jnxSyslogAvAttribute   DisplayString,
          jnxSyslogAvValue       DisplayString
        }

    jnxSyslogAvIndex OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Identifies the sequence number of attribute-value
             pair in the syslog message."
        ::= { jnxSyslogAvEntry 1 }

    jnxSyslogAvAttribute OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "Attribute of the syslog message identified by jnxSyslogId."
        ::= { jnxSyslogAvEntry 2 }

    jnxSyslogAvValue OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "Value of the attribute identified by jnxSyslogAvAttribute."
        ::= { jnxSyslogAvEntry 3 }

    jnxUserDefinedTrapOID OBJECT-TYPE
        SYNTAX      OBJECT IDENTIFIER
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "Value will be a OID to be set and send to NMS using spoof traps."
        ::= { jnxSyslogNotifyVars 3 }

--
-- Syslog Notification definitions
--
    jnxSyslogNotificationPrefix OBJECT-IDENTITY
        STATUS current
        DESCRIPTION
            "All Syslog notifications are registered under 
             this branch."
        ::= { jnxSyslogNotifications 0 }

    jnxSyslogTrap NOTIFICATION-TYPE
        OBJECTS { jnxSyslogEventName, jnxSyslogTimestamp,
                  jnxSyslogSeverity, jnxSyslogFacility, 
                  jnxSyslogProcessId, jnxSyslogProcessName,
                  jnxSyslogHostName, jnxSyslogMessage
                }
        STATUS  current
        DESCRIPTION
            "Notification of a generated syslog message. Apart from
             the jnxSyslogTrap objects, this notification can include 
         one or more attribute-value pairs. The attribute-value 
         pairs shall be identified by objects jnxSyslogAvAttribute 
         and jnxSyslogAvValue."
        ::= { jnxSyslogNotificationPrefix 1 }

    jnxUserDefinedNotification NOTIFICATION-TYPE
        OBJECTS  { 
                       jnxUserDefinedTrapOID, 
                       jnxSyslogMessage 
               }
        STATUS   current
        DESCRIPTION
            "The SNMP trap that will be used only for sending spoofed
             traps from customer scripts running from JUNOS."
        ::= { jnxSyslogNotificationPrefix 2 } 

END