MIBs

BROADHOP-MIB.mib

BROADHOP-MIB DEFINITIONS ::= BEGIN

IMPORTS
   MODULE-IDENTITY, 
   OBJECT-TYPE, 
   NOTIFICATION-TYPE,
   enterprises,
   Integer32                 FROM SNMPv2-SMI
   DisplayString 
                             FROM SNMPv2-TC;

broadhop MODULE-IDENTITY
    LAST-UPDATED "201201270000Z"
    ORGANIZATION "Broadhop, Inc."
    CONTACT-INFO "Technical Support
                  Web: www.broadhop.com
                  E-mail: support@broadhop.com
                 "
    DESCRIPTION "Top Level MIB-II for BroadHop Enterprise and Common Elements"
    REVISION "201207050000Z"
    DESCRIPTION
        "Add notification clear value to broadhopNotificationSeverity  
         to support extended notifications.
        "
    REVISION "201201270000Z"
    DESCRIPTION
        "Smilint validation and cleanup.  Preparation for expansion. 
         Break out BroadHop enterprise.  Redo categories.
        "
    REVISION "200906210000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { enterprises 26878 }
       
broadhopCommon OBJECT IDENTIFIER ::= { broadhop  100 }

broadhopProducts OBJECT IDENTIFIER ::= { broadhop  200 }

broadhopCommonNotificationsGroup   OBJECT IDENTIFIER   ::=   { broadhopCommon 1 }

broadhopNotificationParameters OBJECT IDENTIFIER ::= { broadhopCommonNotificationsGroup 1 }

broadhopAlarmDeviceName OBJECT-TYPE
    SYNTAX  DisplayString
    MAX-ACCESS  read-only
    STATUS  deprecated
    DESCRIPTION
           "The broadhopAlarmDeviceName object is used to provide the
            name of the device being trapped and may represent the
            Network Element as a whole or may represent a subsystem
            contained in the Network Element.

            Please note, this value is used for trapping purposes only.
            If you try to read this value, the results are undefined
            and can not be relied upon."

    ::= { broadhopNotificationParameters 1 }

broadhopAlarmErrorNumber OBJECT-TYPE
    SYNTAX  Integer32 (1..32767)
    MAX-ACCESS  read-only
    STATUS  deprecated
    DESCRIPTION
           "The broadhopAlarmErrorNumber object is used to provide the
            error number associated with the problem being trapped.

            Please note, this value is used for trapping purposes only.
            If you try to read this value, the results are undefined
            and can not be relied upon."

    ::= { broadhopNotificationParameters 2 }

broadhopAlarmErrorText OBJECT-TYPE
    SYNTAX  DisplayString
    MAX-ACCESS  read-only
    STATUS  deprecated
    DESCRIPTION
           "The broadhopAlarmErrorText object is used to provide the
            error text associated with the problem being trapped.

            Please note, this value is used for trapping purposes only.
            If you try to read this value, the results are undefined
            and can not be relied upon."

    ::= { broadhopNotificationParameters 3 }

broadhopAlarmDateAndTime OBJECT-TYPE
    SYNTAX  DisplayString
    MAX-ACCESS  read-only
    STATUS  deprecated
    DESCRIPTION
           "The broadhopAlarmDateAndTime object is used to provide the
            date and time associated with the occurrence of the problem
            being trapped. Format for this field is:
            YYYY-MM-DD at HH:MM:SS GMT-Offset

            Please note, this value is used for trapping purposes only.
            If you try to read this value, the results are undefined
            and can not be relied upon."

    ::= { broadhopNotificationParameters 4 }

broadhopAlarmProbableCause OBJECT-TYPE
    SYNTAX  DisplayString
    MAX-ACCESS  read-only
    STATUS  deprecated
    DESCRIPTION
           "The broadhopAlarmProbableCause object is used to provide a
            cause for the problem being trapped.

            Please note, this value is used for trapping purposes only.
            If you try to read this value, the results are undefined
            and can not be relied upon."

    ::= { broadhopNotificationParameters 5 }

broadhopAlarmAdditionalInfo OBJECT-TYPE
    SYNTAX  DisplayString
    MAX-ACCESS  read-only
    STATUS  deprecated
    DESCRIPTION
           "The broadhopAlarmAdditionalInfo object is used to provide
            any additional information about the problem being trapped
            that can be determined at run time.

            Please note, this value is used for trapping purposes only.
            If you try to read this value, the results are undefined
            and can not be relied upon."

    ::= { broadhopNotificationParameters 6 }

broadhopComponentName OBJECT-TYPE
    SYNTAX  DisplayString
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
           "The broadhopComponentName object is used to provide the
            name of the individual system device being trapped.
            Example of value from field mimics HOST-RESOURCE-MIB sysName.

            sessionmgr01

            Please note, this value is used for trapping purposes only.
            If you try to read this value, the results are undefined
            and can not be relied upon."
    ::= { broadhopNotificationParameters 7 }

broadhopComponentTime OBJECT-TYPE
    SYNTAX  DisplayString
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
           "The broadhopComponentTime object is used to provide the
            date and time associated with the occurrence of the problem
            being trapped from the system component perspective.
            Example of value from this field mimics hrSystemDate like:

            2012-2-10,13:9:41.0,-7:0

            Please note, this value is used for trapping purposes only.
            If you try to read this value, the results are undefined
            and can not be relied upon."

    ::= { broadhopNotificationParameters 8 }

broadhopComponentNotificationName OBJECT-TYPE
    SYNTAX  DisplayString
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
           "The broadhopComponentNotificatoinName object is used to provide
            the name of the notification. These names are outlined in the 
            BroadHop QNS Monitoring and Alert Notification Guide.

            Please note, this value is used for trapping purposes only.
            If you try to read this value, the results are undefined
            and can not be relied upon."

    ::= { broadhopNotificationParameters 9 }

broadhopComponentAdditionalInfo OBJECT-TYPE
    SYNTAX  DisplayString
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
           "The broadhopAdditionalInfo object is used to provide
            any additional information about the problem being trapped
            that can be determined at run time.

            Please note, this value is used for trapping purposes only.
            If you try to read this value, the results are undefined
            and can not be relied upon."

    ::= { broadhopNotificationParameters 10 }

broadhopNotificationPrefix OBJECT IDENTIFIER ::= { broadhopCommonNotificationsGroup 2 }
broadhopNotifications OBJECT IDENTIFIER ::= { broadhopNotificationPrefix 0 }

broadhopCriticalAlarm NOTIFICATION-TYPE
    OBJECTS 
    {
       broadhopAlarmDeviceName,
       broadhopAlarmErrorNumber,
       broadhopAlarmErrorText,
       broadhopAlarmDateAndTime,
       broadhopAlarmProbableCause,
       broadhopAlarmAdditionalInfo
    }
    STATUS deprecated
    DESCRIPTION
           "This object is used to report all Critical severity problems
            that may occur with in the system."

    ::= { broadhopNotifications 1 }

broadhopMajorAlarm NOTIFICATION-TYPE
    OBJECTS 
    {
       broadhopAlarmDeviceName,
       broadhopAlarmErrorNumber,
       broadhopAlarmErrorText,
       broadhopAlarmDateAndTime,
       broadhopAlarmProbableCause,
       broadhopAlarmAdditionalInfo
    }
    STATUS deprecated
    DESCRIPTION
           "This object is used to report all Major severity problems
            that may occur with in the system."

    ::= { broadhopNotifications 2 }

broadhopMinorAlarm NOTIFICATION-TYPE
    OBJECTS 
    {
       broadhopAlarmDeviceName,
       broadhopAlarmErrorNumber,
       broadhopAlarmErrorText,
       broadhopAlarmDateAndTime,
       broadhopAlarmProbableCause,
       broadhopAlarmAdditionalInfo
    }
    STATUS deprecated
    DESCRIPTION
           "This object is used to report all Minor severity problems
            that may occur with in the system."

    ::= { broadhopNotifications 3 }

broadhopWarningAlarm NOTIFICATION-TYPE
    OBJECTS 
    {
       broadhopAlarmDeviceName,
       broadhopAlarmErrorNumber,
       broadhopAlarmErrorText,
       broadhopAlarmDateAndTime,
       broadhopAlarmProbableCause,
       broadhopAlarmAdditionalInfo
    }
    STATUS deprecated
    DESCRIPTION
           "This object is used to report all Warning severity problems
            that may occur with in the system."

    ::= { broadhopNotifications 4 }

broadhopIndeterminateAlarm NOTIFICATION-TYPE
    OBJECTS 
    {
       broadhopAlarmDeviceName,
       broadhopAlarmErrorNumber,
       broadhopAlarmErrorText,
       broadhopAlarmDateAndTime,
       broadhopAlarmProbableCause,
       broadhopAlarmAdditionalInfo
    }
    STATUS deprecated
    DESCRIPTION
           "This object is used to report all Indeterminate severity problems
            that may occur with in the system."

    ::= { broadhopNotifications 5 }

broadhopNormalAlarm NOTIFICATION-TYPE
    OBJECTS 
    {
       broadhopAlarmDeviceName,
       broadhopAlarmErrorNumber,
       broadhopAlarmErrorText,
       broadhopAlarmDateAndTime,
       broadhopAlarmProbableCause,
       broadhopAlarmAdditionalInfo
    }
    STATUS deprecated
    DESCRIPTION
           "This object is used to report all Normal severity problems
            that may occur with in the system."

    ::= { broadhopNotifications 6 }

broadhopClearAlarm NOTIFICATION-TYPE
    OBJECTS 
    {
       broadhopAlarmDeviceName,
       broadhopAlarmErrorNumber,
       broadhopAlarmErrorText,
       broadhopAlarmDateAndTime,
       broadhopAlarmProbableCause,
       broadhopAlarmAdditionalInfo
    }
    STATUS deprecated
    DESCRIPTION
           "This object is used to report all alarm clearing problems
            that may occur with in the system."

    ::= { broadhopNotifications 7 }

broadhopNotificationFacility OBJECT-TYPE
       SYNTAX      INTEGER {
                       hardware(0),
                       network(1),
                       virtualization(2),
                       operatingsystem(3),
                       application(4),
                       process(5),
                       none(6)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object determines the facility or layer which
            notifications are sourced.  Except for none, all
            facilities are sourced by size - hardware is a bigger
            size than process.  This roughly mimics the Unix
            syslog facility. Used with severity, facility 
            fully categorizes an alert notification.
           "
       DEFVAL { none }
       ::= { broadhopCommonNotificationsGroup 3 }

broadhopNotificationSeverity OBJECT-TYPE
       SYNTAX      INTEGER {
                       emergency(0),
                       alert(1),
                       critical(2),
                       error(3),
                       warning(4),
                       notice(5),
                       info(6),
                       debug(7),
                       none(8),
                       clear(9)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object determines the severity or level of sourced
            notifications.  All severities are facilities are sourced 
            by size - emergency is a worse than debug.  This roughly 
            mimics the Unix syslog facility. Used with facility, 
            severity categorizes an alert notification.
           "
       DEFVAL { none }
       ::= { broadhopCommonNotificationsGroup 4 }

END

BROADHOP-NOTIFICATION-MIB.mib

BROADHOP-NOTIFICATION-MIB DEFINITIONS ::=BEGIN

IMPORTS
   MODULE-IDENTITY, 
   NOTIFICATION-TYPE                FROM SNMPv2-SMI
   broadhopComponentName,
   broadhopComponentTime,
   broadhopComponentNotificationName,
   broadhopComponentAdditionalInfo,
   broadhopNotificationFacility,
   broadhopNotificationSeverity     FROM BROADHOP-MIB
   broadhopProductsQNS              FROM BROADHOP-QNS-MIB;


broadhopProductsQNSNotification MODULE-IDENTITY
    LAST-UPDATED "201202100000Z"
    ORGANIZATION "Broadhop, Inc."
    CONTACT-INFO
        "Technical Support
         Web: www.broadhop.com
         E-mail: support@broadhop.com
        "
    DESCRIPTION "Top Level MIB-II Definitions for BroadHop QNS
                 Notifications and Traps
                "
    REVISION "201202100000Z"
    DESCRIPTION "Top Level MIB-II Definitions for BroadHop QNS Product"
    ::= { broadhopProductsQNS 2 }

--
-- Ensure SMIv1 and SMIv2 convertability with reverse mappability (ie. broadhopProductQNSNotifications(0))
--
broadhopProductsQNSNotifications OBJECT IDENTIFIER ::= { broadhopProductsQNS 0 }

broadhopQNSComponentNotification NOTIFICATION-TYPE
       OBJECTS { broadhopComponentName,
                 broadhopComponentTime,
                 broadhopComponentNotificationName,
                 broadhopNotificationFacility,
                 broadhopNotificationSeverity,
                 broadhopComponentAdditionalInfo }
       STATUS current
       DESCRIPTION "
                    Trap from any QNS component - ie. device.
                   "
       ::= { broadhopProductsQNSNotifications 1 }

broadhopQNSApplicationNotification NOTIFICATION-TYPE
       OBJECTS { broadhopComponentName,
                 broadhopComponentTime,
                 broadhopComponentNotificationName,
                 broadhopNotificationFacility,
                 broadhopNotificationSeverity,
                 broadhopComponentAdditionalInfo }
       STATUS current
       DESCRIPTION "
                    Notification Trap from any QNS application - ie. runtime.
                   "
       ::= { broadhopProductsQNSNotifications 2 }

END

Sample Alert Rule Configuration


Note


The following alert rule configuration is for reference only. You should configure your alert rules as per your requirement.



alert rule DISK_FULL
 expression         "(round((node_filesystem_size_bytes{job='node_exporter'}-
node_filesystem_avail_bytes{job='node_exporter'})/node_filesystem_size_bytes
{job='node_exporter'}*100)) >= 70"
 event-host-label   instance
 message            "Disk Filesystem/usage is more than 90%"
 snmp-facility      hardware
 snmp-severity      critical
 snmp-clear-message "Disk filesystem/usage is greater than 10%"
!

alert rule HIGH_LOAD
 expression         "node_load5 > 3"
 event-host-label   instance
 message            "load average value for 5 minutes is greater than 3 current value is {{ $value }}"
 snmp-facility      hardware
 snmp-severity      major
 snmp-clear-message "load average value for 5 minutes is lower than 3"
!

alert rule LOW_MEMORY
 expression         "round((node_memory_MemAvailable_bytes/node_memory_MemTotal_bytes)*100) < 20"
 event-host-label   instance
 message            "Available RAM is less than 80% current value is {{ $value }}"
 snmp-facility      hardware
 snmp-severity      critical
 snmp-clear-message "Available RAM is more than 80%"
!

alert rule PROCESS_STATE
 expression         "docker_service_up==3"
 event-host-label   container_name
 message            "{{ $labels.service_name }} instance {{ $labels.module_instance }} of module {{ $labels.module }} is in Aborted state"
 snmp-facility      application
 snmp-severity      critical
 snmp-clear-message "{{ $labels.service_name }} instance {{ $labels.module_instance }} of module {{ $labels.module }} is moved from Aborted state"
!

alert rule LINK_STATE
 expression         "link_state == 0"
 event-host-label   instance
 message            "{{ $labels.interface }} is down on {{ $labels.instance }}"
 snmp-facility      hardware
 snmp-severity      critical
 snmp-clear-message "{{ $labels.interface }} is up on {{ $labels.instance }}"
!

alert rule HIGH_CPU_USAGE
 expression         "rate(node_cpu_seconds_total{mode=\"system\"} [10s])*100 >threshold> 40"
 event-host-label   instance
 message            "CPU usage in last 10 sec is more than 30% current value {{ $value }}"
 snmp-facility      hardware
 snmp-severity      critical
 snmp-clear-message "CPU usage in last 10 sec is lower than 30%"
!

alert rule IP_NOT_REACHABLE
 expression         "probe_icmp_target==0"
 event-host-label   instance
 message            "VM/VIP IP {{$labels.instance }} is not reachable."
 snmp-facility      networking
 snmp-severity      critical
 snmp-clear-message "VM/VIP IP {{$labels.instance }} is reachable"
!

alert rule DIAMETER_PEER_DOWN
 expression         "peer_status==0"
 event-host-label   remote_peer
 message            "Diameter peer is down."
 snmp-facility      application
 snmp-severity      error
 snmp-clear-message "VM/Diameter peer is up."
!

alert rule DRA_PROCESS_UNHEALTHY
 expression         "docker_service_up!=2"
 event-host-label   container_name
 message            "{{ $labels.service_name }} instance {{ $labels.module_instance }} of module {{ $labels.module }} is not healthy"
 snmp-facility      application
 snmp-severity      critical
 snmp-clear-message "{{ $labels.service_name }} instance {{ $labels.module_instance }} of module {{ $labels.module }} is healthy"
!

# REPEAT for each shard - replace shard-1 with the shard that is configured
alert rule DB_SHARD_DOWN
 expression         "absent(mongodb_mongod_replset_member_state{shard_name="shard-1"})==1"
 event-host-label   shard_name
 message            "All DB Members of a replica set {{ $labels.shard_name }} are down"
 snmp-facility      application
 snmp-severity      critical
 snmp-clear-message "All DB Members of a replica set {{ $labels.shard_name }} are not down"
!

# REPEAT for each shard - replace shard-1 with the shard that is configured
alert rule NO_PRIMARY_DB
 expression         "absent(mongodb_mongod_replset_member_health {shard_name="shard-1",state="PRIMARY"})==1"
 event-host-label   shard_name
 message            "Primary DB member not found for replica set {{ $labels.shard_name }}"
 snmp-facility      application
 snmp-severity      critical
 snmp-clear-message "Primary DB member found for replica set {{ $labels.shard_name }}"
!

alert rule SECONDARY_DB_DOWN
 expression         "(mongodb_mongod_replset_member_state != 2) and ((mongodb_mongod_replset_member_state==8) or (mongodb_mongod_replset_member_state==6))"
 event-host-label   shard_name
 message            "Secondary Member {{ $labels.name }} of replica set {{ $labels.shard_name }} is down"
 snmp-facility      application
 snmp-severity      critical
 snmp-clear-message "Secondary Member {{ $labels.name }} of replica set {{ $labels.shard_name }} is up"
!

alert rule DOCKER_ENGINE_DOWN
 expression         "docker_engine_up!=2"
 event-host-label   engine_id
 message            "Docker Engine {{ $labels.engine_id }} is down."
 snmp-facility      application
 snmp-severity      critical
 snmp-clear-message "Docker Engine {{ $labels.engine_id }} is up.
!

alert rule SVN_BACKUP_ALERT
expression          "svn_alert==1"
event-host-label    "instance"
message             "svn backup in mongo is out of sync, please check svn_audit.log"
snmp-severity       alert
snmp-clear-message  "svn backup in mongo is in sync now"
!