HTTP/HTTPS command port

The probe is supplied with a command port module that supports commands sent using either HTTP or HTTPS (HTTP over SSL). To enable the HTTP/HTTPS command port module, set either or both of the following properties to true:

  • NHttpd.EnableHTTP
  • NHttpd.SSLEnable

If you set the value of both properties above to FALSE (their default values in the core library) the socket-based command port module starts when probe starts. For details of using the socket-based command port, see Socket-based command port.

Note: The HTTP/HTTPS command port feature relies on sending commands using the following script:

%OMNIHOME%/bin/nco_http

Configuring the probe to process SCOM commands sent using HTTP

To configure the probe to process SCOM commands sent using HTTP, set the following core properties in the scom2012.props file:


NHttpd.EnableHTTP     : true
NHttpd.ListeningPort  : 8080

Configuring the probe to process SCOM commands sent using HTTPS

To configure the probe to process SCOM commands sent using HTTPS, use the following steps:

  1. Configure Netcool/OMNIbus for SSL communication between remote systems and probes. For details of how to do this, refer to the following page in IBM Documentation:

    http://www-01.ibm.com/support/knowledgecenter/SSSHTQ_8.1.0/com.ibm.netcool_OMNIbus.doc_8.1.0/omnibus/wip/probegtwy/task/omn_prb_enableremotessl.html?lang=en

  2. Set the following core properties in the scom2012.props file as shown:
    NHttpd.SSLEnable          : true
    NHttpd.SSLListeningPort   : 7777
    NHttpd.SSLCertificate     : "CA"
    Note: NHttpd.SSLCertificate refers to the label of the SSL certificate, not to the path location of the certificate.

    The values set for NHttpd.SSLListeningPort and NHttpd.SSLCertificate can be any valid values defined by the user. The values 7777 and CA above are just examples.

  3. Set the following property in the nco_http.props file as shown:
    
    NHttpd.SSLEnable: TRUE
  4. Enable the ObjectServer to support SSL using the Netcool/OMNIbus Servers Editor tool. For details of how to do this, refer to the following page in IBM Documentation:

    http://www-01.ibm.com/support/knowledgecenter/SSSHTQ_8.1.0/com.ibm.netcool_OMNIbus.doc_8.1.0/omnibus/wip/install/concept/omn_con_customizingservdefns.html?lang=en

SCOM commands

The following table describes the SCOM commands that you can issue using the HTTP command port.

Table 1. SCOM commands

Command

Description

acknowledge_alarm

Use this command to acknowledge one or more alarms. The command takes a list of alarm identifiers as parameters, in the following format:

nco_http -uri http://localhost:8080/probes/nco_p_scom2012 -datatype application/json -data '{"command":"acknowledge_alarm","params":[alarm_id_01;alarm_id_02;alarm_id_03]}' -method POST

The system returns the identifiers of any alarms that cannot be acknowledged.

Note: You can use the AckedResolutionState property to specify a value for the ResolutionState field of an alarm acknowledged using the SCOM command. The default value is 85.

resolve_alarm

Use this command to resolve alarms in the Microsoft SCOM 2012 server. The command takes a list of alarm identifiers as parameters, in the following format:

nco_http -uri http://localhost:8080/probes/nco_p_scom2012 -datatype application/json -data '{"command":"resolve_alarm","params":[alarm_id_01;alarm_id_02;alarm_id_03]}' -method POST

The system returns the identifiers of any alarms that cannot be resolved.

Note: You can use the ClearedResolutionState property to specify a value for the ResolutionState field of an alarm resolved using the SCOM command. The default value is 255.

set_ticket_id

Use this command to assign a value to the ticket identifier of an alarm on the Microsoft SCOM 2012 server. The command takes the alarm identifier and the value to be assigned as parameters, in the following format:

nco_http -uri http://localhost:8080/probes/nco_p_scom2012 -datatype application/json -data '{"command":"set_ticket_id","params":[alarm_id;ticket_id]}' -method POST

set_field

Use this command to assign values to individual alarm fields on the Microsoft SCOM 2012 server. The command takes a list of alarm identifiers, field names, and field values as parameters, in the following format:

nco_http -uri http://localhost:8080/probes/nco_p_scom2012 -datatype application/json -data '{"command":"set_field", "params":[alarm_id_01(field_name=field_value);alarm_id_02(field_name=field_value)]}' -method POST

Where field_name in each case can be one of the following fields:
  • CustomFieldn (where n is an integer from 1 to 10)
  • Owner
  • ResolutionState
  • TicketId

The system returns the identifiers of any alarms for which field values cannot be assigned.

help

Use this command to display online help about the command port.

nco_http -uri http://localhost:8080/probes/nco_p_scom2012 -datatype application/json -data '{"command":"help","params":[]}' -method POST

version

Use this command to display the version of the probe and the command port.

nco_http -uri http://localhost:8080/probes/nco_p_scom2012 -datatype application/json -data '{"command":"version","params":[]}' -method POST

Note: If you are using HTTPS to send commands instead of HTTP, make the following adjustments to the commands described in the SCOM commands table:
  • In each command, use https in the URI instead of http.
  • For the port number, use the value that you specified for the NHttpd.SSLListeningPort property in the SCOM2012.props file.

The acknowledge and resolve commands across HTTP/HTTPS are also available using the Netcool/OMNIbus EventList GUI. For details about how to set this up, see Desktop and Webtop tools.

Troubleshooting Command Port modes

You can start the probe in one of the following Command Port modes:

  • TELNET
  • HTTP
  • HTTPS

Events generated from the target SCOM system are tagged to the Command Port mode that the probe is running at the time that they are generated. This affects how they can later be acknowledged or resolved.

The @URL column of the Netcool/OMNIbus status table indicates the Command Port mode that each event requires when acknowledging or resolving events using the Netcool/OMNIbus EventList GUI. The acknowledge or resolve command can only be sent using a probe running in the same mode as that tagged for the event in the @URL column.

Example

If five events are generated from SCOM while the probe is running in TELNET Command Port mode, when these events are acknowledged or resolved using the Netcool/OMNIbus EventList GUI, the acknowledge or resolve command must be sent through TELNET. So at that point in time, the probe must be running the TELNET Command Port for the acknowledge or resolve command to be successful.

However, if the probe is restarted in another mode, for example HTTP, and then the acknowledge or resolve commands are sent using the EventList GUI, those commands will fail because the events have been tagged for TELNET mode (the mode in which the probe was running when they were generated).

There are two possible solutions:

  • Either run the probe in the same Command Port mode that it was running when the events were generated, and then issue the acknowledge or resolve command from the Netcool/OMNIbus EventList GUI.
  • Or forward the same events from SCOM to the probe again. This will update the @URL column of the Netcool/OMNIbus status table to the Command Port mode that the probe is currently running.