-- Linux-HA: SNMP Subagent -- -- Copyright (C) 2002 Yixiong Zou (yixiong.zou@intel.com) -- -- This program is free software; you can redistribute it and/or -- modify it under the terms of the GNU General Public License -- as published by the Free Software Foundation; either version 2 -- of the License, or (at your option) any later version. -- -- This program is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU General Public License for more details. -- -- You should have received a copy of the GNU General Public License -- along with this program; if not, write to the Free Software -- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -- LINUX-HA-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, enterprises, Counter32, INTEGER, Integer32, Unsigned32, IpAddress FROM SNMPv2-SMI TEXTUAL-CONVENTION, DisplayString, TimeStamp, TruthValue, DateAndTime FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF; LinuxHA MODULE-IDENTITY LAST-UPDATED "200211040000Z" -- Nov. 4, 2002 ORGANIZATION "High-Availability Linux Project" CONTACT-INFO "Alan Robertson Postal: Linux-HA Project 13750 Bayberry Drive Broomfield, CO 80020-6163 Phone: 303-466-7405 FAX: n/a Email: alanr@unix.sh Yixiong Zou Postal: Intel Corp. CO5-162 15400 NW Greenbrier Parkway Beaverton, OR 97006 USA Phone: 503-677-4988 Fax: 503-677-6670 Email: yixiong.zou@intel.com In addition, the Linux-HA mailing list is where all the discussion about this MIB happens. To join the mailing list, send a request message to linux-ha-subscribe@muc.de. The mailing list address is linux-ha-dev@lists.community.tummy.com." DESCRIPTION "This MIB can be used to manage a Linux-HA cluster. The initial plan is to make the heartbeat, resource managment, and memberships accessible through SNMP. Hopefully more things can be added as Linux-HA matures." REVISION "200211040000Z" -- Nov. 4, 2002 DESCRIPTION "The original version of this MIB." ::= { enterprises 4682 } -- Current LinuxHA core MIB entries -- LHAClusterInfo OBJECT IDENTIFIER ::= { LinuxHA 1 } -- LHANodeTable OBJECT IDENTIFIER ::= { LinuxHA 2 } -- LHAIFStatusTable OBJECT IDENTIFIER ::= { LinuxHA 3 } -- LHAResourceGroupTable OBJECT IDENTIFIER ::= { LinuxHA 4 } -- LHAMembershipTable OBJECT IDENTIFIER ::= { LinuxHA 6 } -- LHAHeartbeatConfigInfo OBJECT IDENTIFIER ::= { LinuxHA 7 } -- LHATrapTable OBJECT IDENTIFIER ::= { LinuxHA 900 } LHAUUIDString ::= TEXTUAL-CONVENTION DISPLAY-HINT "4x-2x-2x-2x-4x2x" STATUS current DESCRIPTION "A string that represents a UUID" SYNTAX OCTET STRING (SIZE (16)) LHAClusterInfo OBJECT IDENTIFIER ::= { LinuxHA 1 } LHATotalNodeCount OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of nodes that are currently configured for this cluster." ::= { LHAClusterInfo 1 } LHALiveNodeCount OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of nodes that are currently active in this cluster." ::= { LHAClusterInfo 2 } LHACurrentNodeID OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The nodes id of the host that this agent currently represents. This value is the same as the LHANodeIndex value of this node." ::= { LHAClusterInfo 3 } LHAResourceGroupCount OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of Resource Groups that have been configured for this cluster." ::= { LHAClusterInfo 4 } LHANodeTable OBJECT-TYPE SYNTAX SEQUENCE OF lhaNodeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table contains information about all the nodes in the cluster." ::= { LinuxHA 2 } LHANodeEntry OBJECT-TYPE SYNTAX lhaNodeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry containing a node and its statistics." INDEX { LHANodeIndex } ::= { LHANodeTable 1 } lhaNodeEntry ::= SEQUENCE { LHANodeIndex Integer32, LHANodeName DisplayString, LHANodeType INTEGER, LHANodeStatus INTEGER, LHANodeUUID DisplayString, LHANodeIFCount Counter32, } LHANodeIndex OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An integer that identifies a node in a cluster for a given snmp session." ::= { LHANodeEntry 1 } LHANodeName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "A human readable name that represents that node." ::= { LHANodeEntry 2 } LHANodeType OBJECT-TYPE SYNTAX INTEGER { unknown (0), normal (1), ping (2) } MAX-ACCESS read-only STATUS current DESCRIPTION "There could be many types of nodes in the cluster. For example, a node could be a normal node, or a ping node depending on the configuration. This object shows the type of this node as an integer. So far only the normal node and ping node are defined. All the rest will fall into the 'unknown' catagory. " ::= { LHANodeEntry 3 } LHANodeStatus OBJECT-TYPE SYNTAX INTEGER { unknown (0), init (1), up (2), active (3), dead (4) } MAX-ACCESS read-only STATUS current DESCRIPTION "The status of the node as an integer. For heartbeat, this would normally be init, up, active, or dead. So far, only these four states are defined. All the rest falls in 'unknown' catagory." ::= { LHANodeEntry 4 } LHANodeUUID OBJECT-TYPE SYNTAX LHAUUIDString MAX-ACCESS read-only STATUS current DESCRIPTION "The UUID of the current node in string representatio. This UUID will be persisted over the heartbeat session. So it can be used as a unique identifier for a node." ::= { LHANodeEntry 5 } LHANodeIFCount OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of interfaces that is used by heartbeat for this node." ::= { LHANodeEntry 6 } LHAIFStatusTable OBJECT-TYPE SYNTAX SEQUENCE OF lhaIFEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table describes all the interfaces that are used by the heartbeat cluster." ::= { LinuxHA 3 } LHAIFStatusEntry OBJECT-TYPE SYNTAX lhaIFStatusEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry containing information about that interface. The LHANodeIndex is listed in the LHANodeTable." INDEX { LHANodeIndex, LHAIFIndex } ::= { LHAIFStatusTable 1 } lhaIFStatusEntry ::= SEQUENCE { LHAIFIndex Integer32, LHAIFName DisplayString, LHAIFStatus INTEGER } LHAIFIndex OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An unique integer identifies this interface." ::= { LHAIFStatusEntry 1 } LHAIFName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "A name for this interface." ::= { LHAIFStatusEntry 2 } LHAIFStatus OBJECT-TYPE SYNTAX INTEGER { unknown (0), up (1), down (2) } MAX-ACCESS read-only STATUS current DESCRIPTION "The status for this interface as an integer. Currently only up and down are defined as the interface status. All the others will fall into the unknown catagory." ::= { LHAIFStatusEntry 3 } LHAResourceGroupTable OBJECT-TYPE SYNTAX SEQUENCE OF lhaResourceGroupEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table containing information of all the resource groups." ::= { LinuxHA 4 } LHAResourceGroupEntry OBJECT-TYPE SYNTAX lhaResourceGroupEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry that describes the resource group and its information." INDEX { LHAResourceGroupIndex } ::= { LHAResourceGroupTable 1 } lhaResourceGroupEntry ::= SEQUENCE { LHAResourceGroupIndex Integer32, LHAResourceGroupMaster DisplayString, LHAResourceGroupResources DisplayString, LHAResourceGroupStatus Integer32 } LHAResourceGroupIndex OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique integer that identifies this resource group." ::= { LHAResourceGroupEntry 1 } LHAResourceGroupMaster OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The master node id of this resource group. This is the LHANodeIndex for the master node of this resource group. " ::= { LHAResourceGroupEntry 2 } LHAResourceGroupResources OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The resources contained in this resource group." ::= { LHAResourceGroupEntry 3 } LHAResourceGroupStatus OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The status of this resource group. 0 program is running 1 program is dead and /var/run pid file exists 2 program is dead and /var/lock lock file exists 3 program is stopped 4-100 reserved for future LSB use 100-149 reserved for distribution use 150-199 reserved for application use 200-254 reserved " ::= { LHAResourceGroupEntry 4 } LHAMembershipTable OBJECT-TYPE SYNTAX SEQUENCE OF lhaMembershipEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table containing membership information for the cluster. A successful membership has to have qurom. NOTE WELL If this table does not contain any entries, that means the node is not part of the cluster membership." ::= { LinuxHA 6 } LHAMembershipEntry OBJECT-TYPE SYNTAX lhaMembershipEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry containing a member and its status." INDEX { LHAMemberIndex } ::= { LHAMembershipTable 1 } lhaMembershipEntry ::= SEQUENCE { LHAMemberIndex Integer32, LHAMemberName DisplayString, LHAMemberAddress DisplayString, LHAMemberClusterName DisplayString, LHAMemberIsMember TruthValue, LHAMemberLastChange INTEGER, LHAMemberBootTime TimeStamp, } LHAMemberIndex OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique integer that identifies this member." ::= { LHAMembershipEntry 1 } LHAMemberName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The name of the cluster member." ::= { LHAMembershipEntry 2 } LHAMemberAddress OBJECT-TYPE SYNTAX OCTET STRING (SIZE (64)) MAX-ACCESS read-only STATUS current DESCRIPTION "The address of the cluster member." ::= { LHAMembershipEntry 3 } LHAMemberClusterName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The name of this cluster." ::= { LHAMembershipEntry 4 } LHAMemberIsMember OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "If this node is part of the membership or not." ::= { LHAMembershipEntry 5 } LHAMemberLastChange OBJECT-TYPE SYNTAX INTEGER { undefined (0), nochange (1), joined (2), left (3) } MAX-ACCESS read-only STATUS current DESCRIPTION "If this node is part of the membership or not." ::= { LHAMembershipEntry 6 } LHAMemberBootTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The time when this cluster member last started." ::= { LHAMembershipEntry 7 } LHAHeartbeatConfigInfo OBJECT IDENTIFIER ::= { LinuxHA 7 } LHAHBVersion OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The heartbeat version." ::= { LHAHeartbeatConfigInfo 1 } LHAKeepAlive OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The heartbeat interval." ::= { LHAHeartbeatConfigInfo 3 } LHADeadTime OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The time it waits before declaring a node to be dead." ::= { LHAHeartbeatConfigInfo 4 } LHADeadPing OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The time it waits before declaring a ping node to be dead." ::= { LHAHeartbeatConfigInfo 5 } LHAWarnTime OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The time it waits before issuing a 'late heartbeat' warning." ::= { LHAHeartbeatConfigInfo 6 } LHAInitDead OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "Very first dead time. Should be twice the normal dead time." ::= { LHAHeartbeatConfigInfo 7 } LHABaudRate OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "Baud rate for serial ports." ::= { LHAHeartbeatConfigInfo 9 } LHAAutoFailBack OBJECT-TYPE SYNTAX INTEGER { undefined (0), on (1), off (2), legacy (3), } MAX-ACCESS read-only STATUS current DESCRIPTION "Determins whether a resource will automatically fail back to its primary node, or remain on whatever the node is serving. Possible values are: on, off, legacy." ::= { LHAHeartbeatConfigInfo 12 } LHAStonith OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The STONITH device configured for this cluster." ::= { LHAHeartbeatConfigInfo 13 } LHAStonithHost OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The STONITH host configured for this cluster." ::= { LHAHeartbeatConfigInfo 14 } LHARespawn OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The other services that got respawned by heartbeat daemon." ::= { LHAHeartbeatConfigInfo 15 } LHATrapTable OBJECT IDENTIFIER ::= { LinuxHA 900 } LHANodeStatusUpdate NOTIFICATION-TYPE OBJECTS { LHANodeName LHANodeStatus } STATUS current DESCRIPTION "A node status change event just happened." ::= { LHATrapTable 1 } LHAIFStatusUpdate NOTIFICATION-TYPE OBJECTS { LHANodeName LHAIFName LHAIFStatus } STATUS current DESCRIPTION "A link status just changed." ::= { LHATrapTable 3 } LHAMembershipChange NOTIFICATION-TYPE OBJECTS { LHANodeName LHAMemberLastChange } STATUS current DESCRIPTION "A node just changed it membership. " ::= { LHATrapTable 5 } LHAHBAgentOnline NOTIFICATION-TYPE OBJECTS { LHANodeName } STATUS current DESCRIPTION "The heartbeat agent for this node is online and ready to accept queries. " ::= { LHATrapTable 7 } LHAHBAgentOffline NOTIFICATION-TYPE OBJECTS { LHANodeName } STATUS current DESCRIPTION "The heartbeat agent for this node is offline. " ::= { LHATrapTable 9 } END