Server Events

There are three types of server events:

  • Server command event (ServerCommand)
  • Server status event (ServerStatus)
  • Heartbeat event (Heartbeat)

Server Command Event

A server command event describes a command performed on the server (for example, a user submitted a process). In addition to the common fields defined in this document, a server command event defines the following fields:

Name Description Data type Required
command The command that was initiated Strings Yes

Example:

{
   "command": "cat /etc/passwd",
  "event": "ServerCommand",
  "msgId": "LCCA013I",
  "msgText": "The submit of the process succeeded.",
  "nodeId": "cron/cron123",
  "occurred": "2015-02-05T23:25:31.000+0000",
  "sequence": 0,
  "type": "event"
 }

Sever Status Event

A server status event typically describes status changes of the monitored server (for example, initialization completed). To communicate the status of an individual component or service, populate the "service" or "component" ID before posting this event. In additional to the common fields defined in this document, server status events (and heartbeat events) define the following fields:

Name Description Data type Required
components An array of the names of the current components associated with the server. Component names should be in the format [componentType]/[name] (for example, adapter/xyz123). Any components previously reported will be removed if not present in the new list. Component-specific information can be provided by posting discrete heartbeat events for each component. By definition, a component is a privately-owned/embedded part of a server. In contrast, service is a shared resource used by one or more servers. Array of Strings No
hostname The hostname of the server, service, or component. String No
javaProps Used by IBM Control Center Monitor when displaying properties of a monitored server. A JavaScript object containing the JVM system properties and their values No
jvmDetails JVM installation details. String No
nodeVersion Used by IBM Control Center Monitor when displaying properties of monitored server. String No
osType Used by IBM Control Center Monitor when displaying properties of monitored server. String No
port The TCP port of the server, service, or component. Number No
services An array of the names of the current services associated with the server. Service names should be in the format of [serviceType]/[name] (for example, database/xyz123). Any services previously reported will be removed if not present in the new list. (Service-specific information can be provided by posting discrete heartbeat events for each service.) By definition, a component is a privately-owned/embedded part of a server. In contrast, a service is a shared resource used by one or more servers.
started Last time application started. Date No
status

The status of this event:

  • DOWN
  • ERROR
  • PAUSED
  • READY
  • STARTED
  • STOPPED
  • UNKNOWN
  • UP
  • WARNING
String Yes
udpPort The UDP port of the server, service, or component. Number No
utcOffset Used by IBM Control Center when displaying properties of a monitored server. The configured difference in minutes from UTC for the monitored server Number No
Example:
{
"event": "ServerStatus",
"msgId": "CCNS029I",
"msgText": "CCNS029I Monitor rate back in compliance.",
"nodeId": "cron/cron123",
"occurred": "2015-02-06T14:34:16.661+0000",
"sequence": 0,
"type": "event" }

Heartbeat Event

A heartbeat event must be generated on a regular basis by monitored servers. An absence of a heartbeat is interpreted as the server being down.
Note: The value for heartbeatInterval tells the event processor how long to wait, in milliseconds, before a "server down" alert is generated.
When a monitored server has multiple components (for example, clustered nodes, adapters, and so on), each component should generate its own heartbeat event. Heartbeat events can include all of the fields defined by a server status event in addition to the following field.

Name Description Data type Required
heartbeatInterval Specifies the interval at which heartbeat events are intended to be generated which sets the expectations of the event processor. When the value specified is exceeded the event processor will assume there is a problem with the event generator (i.e. if the next heartbeat event is not received by the event processor within the number of milliseconds specified, it will assume a problem exists with the event producer). Number Yes
Example:
{
"event": "Heartbeat",
"heartbeatInterval": 30000,
"msgId": "GOR999999",
"msgText": "I'm alive!", "nodeId": "cron/cron123", "occurred": "2015-02-06T13:29:34.709+0000", "sequence": 0, "type": "event" }