# Appendix D. MIB Reference

A Management Information Base (MIB) describes the attributes of the managed resource in a way that an SNMP management system can understand. An SNMP MIB must be written in Abstract Notation One (ASN.1) and be formatted in conformity with the SNMP standards. Two MIB are files provided with Log Central that contain information for managing Log Central. These files fully conform to the SNMP standard and are ready for loading into your SNMP manager.

This appendix provides a detailed description of the MIBs that are supported by the SNMP agents shipped with Log Central. The following are included:

- Log Central Traps MIB

- Process Monitor MIB

## Log Central Traps MIB

The Log Central Traps (`beaTrap`) MIB, found in the file `bea_lc_trap.asn1`, contains Log Central attributes that are used as variables in the traps.

Each SNMP trap has a header and body (called variable bindings). The objects in this MIB specify the objects (and their values) that are sent in the variable binding of SNMP traps generated by Log Central. So when a trap is received by an SNMP Manager, it has more information about the condition that generated the trap.

The SNMP Traps MIB contains only the `beaTrap` group.

Variable Name | Object ID
--- | ---
`beaTrapLcLogLevel` | `.1.3.6.1.4.1.140.21.1`
`beaTrapLcTimestamp` | `.1.3.6.1.4.1.140.21.2`
`beaTrapLcSubsys` | `.1.3.6.1.4.1.140.21.3`
`beaTrapLcMid` | `.1.3.6.1.4.1.140.21.4`
`beaTrapLcHost` | `.1.3.6.1.4.1.140.21.5`
`beaTrapLcPid` | `.1.3.6.1.4.1.140.21.6`
`beaTrapLcUid` | `.1.3.6.1.4.1.140.21.7`
`beaTrapLcFunction` | `.1.3.6.1.4.1.140.21.8`
`beaTrapLcTxkey` | `.1.3.6.1.4.1.140.21.9`
`beaTrapLcVersion` | `.1.3.6.1.4.1.140.21.10`
`beaTrapLcSeverity` | `.1.3.6.1.4.1.140.21.11`
`beaTrapLcMessageBody` | `.1.3.6.1.4.1.140.21.12`

### beaTrapLcLogLevel

> #### Syntax

> >     INTEGER { normal(78), verbose(86), debug(68), special(83) }

> #### Access

> read-only

> #### Description

> This object contains the log level of the message for which the SNMP trap was generated.

### beaTrapLcTimestamp

> #### Syntax

> >     OCTET STRING

> #### Access

> read-only

> #### Description

> This object contains the generation time of the message for which the SNMP trap was generated.

### beaTrapLcSubsys

> #### Syntax

> >     OCTET STRING

> #### Access

> read-only

> #### Description

> This object contains the originating subsystem name of the message for which the SNMP trap was generated.

### beaTrapLcMid

> #### Syntax

> >     INTEGER

> #### Access

> read-only

> #### Description

> This object contains the message ID of the message for which the SNMP trap was generated.

### beaTrapLcHost

> #### Syntax

> >     OCTET STRING

> #### Access

> read-only

> #### Description

> This object contains the originating host name of the message for which the SNMP trap was generated.

### beaTrapLcPid

> #### Syntax

> >     INTEGER

> #### Access

> read-only

> #### Description

> This object contains the process ID of the message for which the SNMP trap was generated.

### beaTrapLcUid

> #### Syntax

> >     OCTET STRING

> #### Access

> read-only

> #### Description

> This object contains the user ID responsible for the message for which the SNMP trap was generated.

### beaTrapLcFunction

> #### Syntax

> >     OCTET STRING

> #### Access

> read-only

> #### Description

> This object contains the function name that generated the message for which the SNMP trap was generated.

### beaTrapLcTxKey

> #### Syntax

> >     OCTET STRING

> #### Access

> read-only

> #### Description

> This object contains the transaction key (if the originating process was in the context of a transaction) of the message for which the SNMP trap was generated.

### beaTrapLcVersion

> #### Syntax

> >     INTEGER

> #### Access

> read-only

> #### Description

> This object is currently unused.

### beaTrapLcSeverity

> #### Syntax

> >     INTEGER { informational(1), warning(2), minor(3), major(4), critical(5) unknown(100) }

> #### Access

> read-only

> #### Description

> This object contains the severity of the message for which the SNMP trap was generated. This is known for traps generated by the message processor on the central host only.

### beaTrapLcMessageBody

> #### Syntax

> >     OCTET STRING

> #### Access

> read-only

> #### Description

> This object contains the body of the message for which the SNMP trap was generated.

## Process Monitor MIB

The Process Monitor (`beaPm`) MIB, found in the BEA Manager MIB file (`bea.asn1`), defines objects that support the Log Central Process Monitor. This MIB group is supported by the `pm_snmpd` SMUX subagent provided with the Agent Integrator.

Variable Name | Object ID
--- | ---
`beaPmProcsEnvtVar` | `.1.3.6.1.4.1.140.4.1`
`beaPmMonitorPid` | `.1.3.6.1.4.1.140.4.2`
`beaPmMonitorTimer` | `.1.3.6.1.4.1.140.4.3`
`beaPmMonitorLastWakeup` | `.1.3.6.1.4.1.140.4.4`
`beaPmMaxProcRestarts` | `.1.3.6.1.4.1.140.4.8`
`beaPmMaxProcRestartsIntvl` | `.1.3.6.1.4.1.140.4.9`
`beaPmProcTable` | `.1.3.6.1.4.1.140.4.11`

### beaPmProcsEnvtVar

> #### Syntax

> DisplayString

> #### Access

> read-only

> #### Description

> This object contains the environment variable specifying the interprocess communication (IPC) key used for the BEA Manager `proc_monitor`.

### beaPmMonitorPid

> #### Syntax

> Integer

> #### Access

> read-only

> #### Description

> This object contains the process ID of `proc_monitor`.

### beaPmMonitorTimer

> #### Syntax

> Integer

> #### Access

> read-write

> #### Description

> This object contains the wakeup interval of `proc_monitor`.

### beaPmMonitorLastWakeup

> #### Syntax

> Integer

> #### Access

> read-only

> #### Description

> This object contains the timestamp for the last wakeup of `proc_monitor`, measured from some epoch. Because `proc_monitor` monitors all other processes and is a single point of failure, this object is created to monitor the `proc_monitor` process from the SNMP manager and restart it if necessary.

### beaPmMaxProcRestarts

> #### Syntax

> Integer

> #### Access

> read-write

> #### Description

> This object contains the maximum number of times a process may be restarted by `proc_monitor` within the time specified by the `beaPmMaxProcRestartsIntvl` object before `proc_monitor` stops restarting it and marks the process with a status of crashed.

### beaPmMaxProcRestartsIntvl

> #### Syntax

> Integer

> #### Access

> read-write

> #### Description

> This object specifies the time interval during which a process can be restarted by `proc_monitor` before it is no longer restarted.

### beaPmProcTable

This object contains row entries. Each entry (row) in the `beaPmProcTable` is a sequence of the following columnar objects. Each entry represents attributes of processes registered with the BEA Manager `proc_monitor`.

Variable Name | Object ID
--- | ---
`beaPmTblEntityName` | `.1.3.6.1.4.1.140.4.11.1.1`
`beaPmTblProcId` | `.1.3.6.1.4.1.140.4.11.1.2`
`beaPmTblStatus` | `.1.3.6.1.4.1.140.4.11.1.3`
`beaPmTblFirstRegTime` | `.1.3.6.1.4.1.140.4.11.1.4`
`beaPmTblLastRegTime` | `.1.3.6.1.4.1.140.4.11.1.5`
`beaPmTblRestartEnabled` | `.1.3.6.1.4.1.140.4.11.1.6`
`beaPmTblRestartCmd` | `.1.3.6.1.4.1.140.4.11.1.7`
`beaPmTblNumRestarts` | `.1.3.6.1.4.1.140.4.11.1.8`
`beaPmTblRefRestartTime` | `.1.3.6.1.4.1.140.4.11.1.9`
`beaPmTblNumRestartsFromRef` | `.1.3.6.1.4.1.140.4.11.1.10`
`beaPmTblFirstRestartTime` | `.1.3.6.1.4.1.140.4.11.1.11`
`beaPmTblLastRestartTime` | `.1.3.6.1.4.1.140.4.11.1.12`
`beaPmTblUid` | `.1.3.6.1.4.1.140.4.11.1.13`
`beaPmTblGid` | `.1.3.6.1.4.1.140.4.11.1.14`
`beaPmTblEuid` | `.1.3.6.1.4.1.140.4.11.1.15`
`beaPmTblEgid` | `.1.3.6.1.4.1.140.4.11.1.16`
`beaPmTblSwName` | `.1.3.6.1.4.1.140.4.11.1.17`
`beaPmTblSwVersion` | `.1.3.6.1.4.1.140.4.11.1.18`
`beaPmTblSwDate` | `.1.3.6.1.4.1.140.4.11.1.19`
`beaPmTblSwTime` | `.1.3.6.1.4.1.140.4.11.1.20`

### beaPmTblEntityName

> #### Syntax

> DisplayString

> #### Access

> read-only

> #### Description

> This object contains a name that uniquely identifies an entry in the table.

### beaPmTblProcId

> #### Syntax

> Integer

> #### Access

> read-only

> #### Description

> This object contains the process ID of the registered process.

### beaPmTblStatus

> #### Syntax

> >     Integer {uninitialized (1), running (2), restarted (3),
> >     dead (4), unregistered (5), crashed (6) }

> #### Access

> read-only

> #### Description

> This object contains the current status of the registered process. Processes are marked `unregistered` if they have died and are not to be restarted. A process is marked `dead` if `proc_monitor` detected that it is no longer running. A process is marked `restarted` if `proc_monitor` restarted it. A process is marked `crashed` if it was restarted too many times in a specified interval of time.

### beaPmTblFirstRegTime

> #### Syntax

> DisplayString

> #### Access

> read-only

> #### Description

> This object contains the time when the process first registered.

### beaPmTblLastRegTime

> #### Syntax

> DisplayString

> #### Access

> read-only

> #### Description

> This object contains the time when the process last registered.

### beaPmTblRestartEnabled

> #### Syntax

> >     Integer {no (1), yes (2), nomore (3) }

> #### Access

> read-only

> #### Description

> This object contains a flag to indicate if a process can be restarted by `proc_monitor`.

### beaPmTblRestartCmd

> #### Syntax

> DisplayString

> #### Access

> read-only

> #### Description

> This object contains the command to be executed by `proc_monitor` when restarting a process if this flag is `yes`.

### beaPmTblNumRestarts

> #### Syntax

> Integer

> #### Access

> read-only

> #### Description

> This object contains the number of times this process has been restarted.

### beaPmTblRefRestartTime

> #### Syntax

> DisplayString

> #### Access

> read-only

> #### Description

> This object contains the reference timestamp from which `proc_monitor` must determine if a process should be restarted or marked as crashed.

### beaPmTblNumRestartsFromRef

> #### Syntax

> Integer

> #### Access

> read-only

> #### Description

> This object contains the number of restarts that occurred since the `beaPmTblRefRestartTime` timestamp.

### beaPmTblFirstRestartTime

> #### Syntax

> DisplayString

> #### Access

> read-only

> #### Description

> This object contains the timestamp of the first restart of the process.

### beaPmTblLastRestartTime

> #### Syntax

> DisplayString

> #### Access

> read-only

> #### Description

> This object contains the timestamp of the last restart of the process.

### beaPmTblUid

> #### Syntax

> Integer

> #### Access

> read-only

> #### Description

> This object contains the process user ID. This object is saved when the process registers so that the process can be set to the same user ID if it is restarted.

### beaPmTblGid

> #### Syntax

> Integer

> #### Access

> read-only

> #### Description

> This object contains the group ID of the owner of the process. This object is saved when the process registers so that the group ID can be set to the same value if the process is restarted.

### beaPmTblEuid

> #### Syntax

> Integer

> #### Access

> read-only

> #### Description

> This object contains the effective user ID. This object is saved when the process registers so that the process can be set to the same value if it is restarted by `proc_monitor`.

### beaPmTblEgid

> #### Syntax

> Integer

> #### Access

> read-only

> #### Description

> This object contains the effective group ID. This object is saved when the process registers so that the process can be set to the same value if it is restarted by `proc_monitor`.

### beaPmTblSwName

> #### Syntax

> DisplayString

> #### Access

> read-only

> #### Description

> This object contains the software subsystem name of the process. This object is used for configuration management to ensure that a process is an execution of the correct version of the software.

### beaPmTblSwVersion

> #### Syntax

> DisplayString

> #### Access

> read-only

> #### Description

> This object contains the software version of the process. This object is used for configuration management to ensure that a process is an execution of the correct version of the software.

### beaPmTblSwDate

> #### Syntax

> DisplayString

> #### Access

> read-only

> #### Description

> This object contains the software creation date of the process. This object is used for configuration management to ensure that a process is an execution of the correct version of the software.

### beaPmTblSwTime

> #### Syntax

> DisplayString

> #### Access

> read-only

> #### Description

> This object contains the software creation time of the process. This object is used for configuration management to ensure that a process is an execution of the correct version of the software.