Page tree
Skip to end of metadata
Go to start of metadata

Overview

Oracle Enterprise Manager (OEM) is a set of web-based tools aimed at managing software and hardware produced by Oracle Corporation as well as by some non-Oracle entities.

OEM LAM and OEM Connector extracts event data from OEM (Oracle Enterprise Manager), then formats it and sends it to Moogsoft AIOps.

The OEM LAM and OEM Connector perform the following actions:

  • Data collection: OEM event connector collects the event data from OEM and sends it to an external application e.g. Moogsoft AIOps
  • Data normalization: OEM LAM formats and normalizes the retrieved data into an event that can be sent to Moogsoft AIOps
  • Emit the events: OEM LAM sends the normalized event to Moogsoft AIOps

Process Workflow

The LAM workflow is as follows:

  1. LAM reads the configuration from the oem_lam.conf file.
  2. The OEM Connector pushes the events via the configured mechanism (http/https etc.) to the OEM LAM in XML format.
  3. The OEM LAM parses the events and converts it into JSON using Org.json library and submits it to an Extractor.
  4. The Extractor extracts the events from the JSON Strings.
  5. The events are parsed and converted into normalized Moogsoft AIOps events.
  6. The normalized events are then published to MooMS bus.

Installing and Configuring the OEM Connector

The OEM application must be installed before installing the OEM Connector


To install and configure the connector, proceed as follows:

  1. Copy the connector_moog.oem file into the bin folder of OEM application. Open a Command Prompt and enter the below command to login to OEM OMS, then enter the password.

    ../oms/bin/emcli login -username=sysman
    

    The user must know the password of the default user sysman. This user is created during OEM installation

  2. Import the connector_moog.oem connector by entering the below command.

    ../oms/bin/emcli import_update -file=<full path>/connector_moog.oem -omslocal
    
  3. Import the Moogsoft certificate into the OEM b64LocalCertificate.txt file by copying the below certificate in the file. The file can be found at the path C:\app\oracleoem\gc_inst\em\EMGC_OMS1\sysman\config.

    -----BEGIN CERTIFICATE-----
    MIIFIzCCBAugAwIBAgIHA/gmQhAaODANBgkqhkiG9w0BAQsFADCBtDELMAkGA1UE
    BhMCVVMxEDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAY
    BgNVBAoTEUdvRGFkZHkuY29tLCBJbmMuMS0wKwYDVQQLEyRodHRwOi8vY2VydHMu
    Z29kYWRkeS5jb20vcmVwb3NpdG9yeS8xMzAxBgNVBAMTKkdvIERhZGR5IFNlY3Vy
    ZSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjAeFw0xNDEyMDkxMzUxMDFaFw0x
    NjEyMDkxMzUxMDFaMDwxITAfBgNVBAsTGERvbWFpbiBDb250cm9sIFZhbGlkYXRl
    ZDEXMBUGA1UEAwwOKi5tb29nc29mdC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IB
    DwAwggEKAoIBAQCPNzKoJoKyDkA3lwWgsXzKuy4wWlYRkuhvg49Bxx+0pi4oiwhr
    jHrhvFiYVNQCP+mjG7nvISqjrqaJfKGJGAIN5sbfXbxyFzwKgPlyTKHaGXdQE6lw
    muKrvkGhmX7OBh+CWlEGIoxlY4+gpwUGN9kkF7X1keBl8sMlNdfxTeIHnGcaD8Ov
    teijEuEXSKVJtddCDf8fTeVNC8h5+HCsocuMN3p0UHy1JfvGWhm6mgeLJ+dqXgjO
    9i0qg9Tefzu7ko3ViZNADEp+3hiGhn65ShaznnR6FUdxA4ogSCWoTDropGEg37jq
    NQKu74L4vClyuVDqg1kCpq/MhtrT4WoFbFgtAgMBAAGjggGvMIIBqzAMBgNVHRMB
    Af8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAOBgNVHQ8BAf8E
    BAMCBaAwNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nb2RhZGR5LmNvbS9n
    ZGlnMnMxLTg3LmNybDBTBgNVHSAETDBKMEgGC2CGSAGG/W0BBxcBMDkwNwYIKwYB
    BQUHAgEWK2h0dHA6Ly9jZXJ0aWZpY2F0ZXMuZ29kYWRkeS5jb20vcmVwb3NpdG9y
    eS8wdgYIKwYBBQUHAQEEajBoMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5nb2Rh
    ZGR5LmNvbS8wQAYIKwYBBQUHMAKGNGh0dHA6Ly9jZXJ0aWZpY2F0ZXMuZ29kYWRk
    eS5jb20vcmVwb3NpdG9yeS9nZGlnMi5jcnQwHwYDVR0jBBgwFoAUQMK9J47MNIMw
    ojPX+2yz8LQsgM4wJwYDVR0RBCAwHoIOKi5tb29nc29mdC5jb22CDG1vb2dzb2Z0
    LmNvbTAdBgNVHQ4EFgQURjfBe6qQ5+AoBaTBKJQ23fQd1bIwDQYJKoZIhvcNAQEL
    BQADggEBAGn2llRPNqBB7ywxBUlNUEL8agat6xSqH6YARQJ2opBfN3jZQ7nojhQm
    ekuO5U6XZMvWWVPBEixs4rBnowHZzhaNJ/Kh8FYdziO8cKYyj+0u5PIWjAzzgOyi
    Ncq2E7M0o0z0nrttWovuDDXAsD25Lze5JMWgrw8uVqz5CpCTwIq7aN3yiRDNx/nQ
    vkZWzZQ3QklFnn4EnhhdHOtAnr6XR2QO1er4vRzdlFY2AiQL2Xem1fOUuqxFu7zf
    jtrddqjImrHT21vp0FSWtPrk8ehgSqbFq0Zhgol1narGZXW7ujP3A0eZwl2BbRpN
    Dep11LWZCqorhTQr0xlJxB2LhxXZNIk=
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    MIIE0DCCA7igAwIBAgIBBzANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx
    EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT
    EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp
    ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTExMDUwMzA3MDAwMFoXDTMxMDUwMzA3
    MDAwMFowgbQxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH
    EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjEtMCsGA1UE
    CxMkaHR0cDovL2NlcnRzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkvMTMwMQYDVQQD
    EypHbyBEYWRkeSBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IC0gRzIwggEi
    MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC54MsQ1K92vdSTYuswZLiBCGzD
    BNliF44v/z5lz4/OYuY8UhzaFkVLVat4a2ODYpDOD2lsmcgaFItMzEUz6ojcnqOv
    K/6AYZ15V8TPLvQ/MDxdR/yaFrzDN5ZBUY4RS1T4KL7QjL7wMDge87Am+GZHY23e
    cSZHjzhHU9FGHbTj3ADqRay9vHHZqm8A29vNMDp5T19MR/gd71vCxJ1gO7GyQ5HY
    pDNO6rPWJ0+tJYqlxvTV0KaudAVkV4i1RFXULSo6Pvi4vekyCgKUZMQWOlDxSq7n
    eTOvDCAHf+jfBDnCaQJsY1L6d8EbyHSHyLmTGFBUNUtpTrw700kuH9zB0lL7AgMB
    AAGjggEaMIIBFjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV
    HQ4EFgQUQMK9J47MNIMwojPX+2yz8LQsgM4wHwYDVR0jBBgwFoAUOpqFBxBnKLbv
    9r0FQW4gwZTaD94wNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8v
    b2NzcC5nb2RhZGR5LmNvbS8wNQYDVR0fBC4wLDAqoCigJoYkaHR0cDovL2NybC5n
    b2RhZGR5LmNvbS9nZHJvb3QtZzIuY3JsMEYGA1UdIAQ/MD0wOwYEVR0gADAzMDEG
    CCsGAQUFBwIBFiVodHRwczovL2NlcnRzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkv
    MA0GCSqGSIb3DQEBCwUAA4IBAQAIfmyTEMg4uJapkEv/oV9PBO9sPpyIBslQj6Zz
    91cxG7685C/b+LrTW+C05+Z5Yg4MotdqY3MxtfWoSKQ7CC2iXZDXtHwlTxFWMMS2
    RJ17LJ3lXubvDGGqv+QqG+6EnriDfcFDzkSnE3ANkR/0yBOtg2DZ2HKocyQetawi
    DsoXiWJYRBuriSUBAA/NxBti21G00w9RKpv0vHP8ds42pM3Z2Czqrpv1KrKQ0U11
    GIo/ikGQI31bS/6kA1ibRrLDYGCD+H1QQc7CoZDDu+8CL9IVVO5EFdkKrqeKM+2x
    LXY2JtwE65/3YR8V3Idv7kaWKK2hJn0KCacuBKONvPi8BDAB
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    MIIEfTCCA2WgAwIBAgIDG+cVMA0GCSqGSIb3DQEBCwUAMGMxCzAJBgNVBAYTAlVT
    MSEwHwYDVQQKExhUaGUgR28gRGFkZHkgR3JvdXAsIEluYy4xMTAvBgNVBAsTKEdv
    IERhZGR5IENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQwMTAx
    MDcwMDAwWhcNMzEwNTMwMDcwMDAwWjCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
    B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHku
    Y29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1
    dGhvcml0eSAtIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv3Fi
    CPH6WTT3G8kYo/eASVjpIoMTpsUgQwE7hPHmhUmfJ+r2hBtOoLTbcJjHMgGxBT4H
    Tu70+k8vWTAi56sZVmvigAf88xZ1gDlRe+X5NbZ0TqmNghPktj+pA4P6or6KFWp/
    3gvDthkUBcrqw6gElDtGfDIN8wBmIsiNaW02jBEYt9OyHGC0OPoCjM7T3UYH3go+
    6118yHz7sCtTpJJiaVElBWEaRIGMLKlDliPfrDqBmg4pxRyp6V0etp6eMAo5zvGI
    gPtLXcwy7IViQyU0AlYnAZG0O3AqP26x6JyIAX2f1PnbU21gnb8s51iruF9G/M7E
    GwM8CetJMVxpRrPgRwIDAQABo4IBFzCCARMwDwYDVR0TAQH/BAUwAwEB/zAOBgNV
    HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9BUFuIMGU2g/eMB8GA1Ud
    IwQYMBaAFNLEsNKR1EwRcbNhyz2h/t2oatTjMDQGCCsGAQUFBwEBBCgwJjAkBggr
    BgEFBQcwAYYYaHR0cDovL29jc3AuZ29kYWRkeS5jb20vMDIGA1UdHwQrMCkwJ6Al
    oCOGIWh0dHA6Ly9jcmwuZ29kYWRkeS5jb20vZ2Ryb290LmNybDBGBgNVHSAEPzA9
    MDsGBFUdIAAwMzAxBggrBgEFBQcCARYlaHR0cHM6Ly9jZXJ0cy5nb2RhZGR5LmNv
    bS9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAWQtTvZKGEacke+1bMc8d
    H2xwxbhuvk679r6XUOEwf7ooXGKUwuN+M/f7QnaF25UcjCJYdQkMiGVnOQoWCcWg
    OJekxSOTP7QYpgEGRJHjp2kntFolfzq3Ms3dhP8qOCkzpN1nsoX+oYggHFCJyNwq
    9kIDN0zmiN/VryTyscPfzLXs4Jlet0lUIDyUGAzHHFIYSaRt4bNYC8nY7NmuHDKO
    KHAN4v6mF56ED71XcLNa6R+ghlO773z/aQvgSMO3kwvIClTErF0UZzdsyqUvMQg3
    qm5vjLyb4lddJIGvl5echK1srDdMZvNhkREg5L4wn3qkKQmw4TRfZHcYQFHfjDCm
    rw==
    -----END CERTIFICATE-----
  4. Restart the OEM by entering the following commands:

    emctl stop oms all
    emctl start oms
  5. Login into the OEM management UI, by entering https://<hostname>:7799/em in a browser. The <hostname> here is the host name/IP Address of the OEM Server

  6. Enter Sysman in the User Name field and its password in the Password field.
  7. Click on Setup, then navigate to Extensibility and clcik on Self Update. The Self Update page opens.
  8. Select Management Connector in the Type column of the Self Update page. The Management Connector Updates view opens
  9. In the Management Connector Updates view select Moogsoft Connector and click on Apply .
  10. Click on Setup, then navigate to Extensibility and click on Management Connectors. The Management Connectors page opens.
  11. Select Moogsoft Connector in the Create Connector dropdown and click on Go. The Moogsoft Connector is added.

  12. Select the radio button in the Select column against the added connector and click on Configure.

  13. Enter the following configurations and click on OK:
    • Create Event and Update Event: The IP address of the OEM LAM along with the port on which it communicates.
    • User name and Password: Enter the web service username and password as provided by your Moogsoft account manager.
    • Retry: Select the Enable Retry checkbox to enable a retry attempt to establish communication.
    • Expiration Hours: The number of hours till which the connector will retry to establish connection.
  14. Click on Setup, then navigate to Extensibility and click on Self Update.

  15. Click on Setup, then navigate to Incidents and click on Incident Rules. The Incident Rules - All Enterprise Rules page opens.

  16. Click on the Create Rule Set in the Incident Rules - All Enterprise Rules page. The Create Rule Set view opens.

  17. Enter the following details in the Create Rule Set page:

    • In the Create Rule Set section enter the Name and Description of the rule and select the checkbox Enabled
    • In the Targets section select the radio button All targets

  18. In the Rules section click on Create.The Select Type of Rule to Create dialog box opens.
  19. Select the option Incoming events and updates to events, and click on Continue. The Create Rule Set - Moog-events dialog opens

  20. In the Select Events view, in the Type field select Metric Alert and select the option All events of type Metric Alert. Click on Next.
  21. In the Add Actions view, click on Add. The Add Actions page opens.
  22. Perform the following steps in the Add Actions page.
    • Select the option Always Execute the Action in the Conditions for actions section
    • In the Forward to Event Connectors section, select Moog Connector(Moogsoft Connector) in the Available Connectors column and move it to the Selected Connectors column. Click on Continue.
  23. The added action is displayed in the Add Actions view. Click on Next.
  24. Enter the rule name in the Name field and click on Next.
  25. Click on Continue in the Review view. The rule is added and can be viewed in the Rules section of the Incident Rules - All Enterprise Rules page.

The Moogsoft Connector is now available to be used as an event forwarding target for any Incident Rules.

OEM LAM Configuration

The OEM LAM is used to communicate with the Moogsoft OEM Connector. Therefore, the events/alerts received from the Moogsoft OEM Connector are processed according to the configurations in the oem_lam.conf file.

The configuration file contains a JSON object. At the first layer of the object, LAM has a parameter called config, and the object that follows config has all the necessary information to control the LAM.

The following sections are available for configuration in the oem_lam.conf file:

Monitor

The OEM LAM takes its input from the OEM Connector. The details of the connection with the OEM Connector is defined in the monitor section of the configuration file. The user can configure the parameters here to establish the connection with OEM Connector.

monitor:
        {

            name                          : "OEM Lam Monitor",
 
            class                         : "COemMonitor",

            port                          : 48002,

            address                       : "localhost",

            #use_ssl                      : false,

            #path_to_ssl_files            : "config",

 			#ssl_key_filename             : "server.key",

 			#ssl_cert_filename            : "server.pem",

 			#use_client_certificates      : false,
 
            #client_ca_filename           : "ca.crt",

            #auth_token                   : "my_secret",

		    #encrypted_auth_token         : "dfJtTQMGiFHfiq7sCmxguBt6Jv+eytkoiKCquSB/7iWxpgGsG2aez3z2j7SuBtKj",
 
            #header_auth_token            : "my_secret",

			#encrypted_header_auth_token  : "dfJtTQMGiFHfiq7sCmxguBt6Jv+eytkoiKCquSB/7iWxpgGsG2aez3z2j7SuBtKj",

            #ssl_protocols                : 
                                            #[
                                            #    "TLSv1.2"
                                            #]

			authentication_type           : "none",

            authentication_cache          : true,

            accept_all_json               : true,

            lists_contain_multiple_events : false,

            num_threads                   : 5,

            rest_response_mode            : "on_receipt",

            rpc_response_timeout          : 20,
 
            event_ack_mode                : "queued_for_processing"
        },

The above example specifies the configurations done in the monitor section of the configuration file. The configurations that can be made are as follows:

  • name and class: These fields are reserved and should not be changed. The default values are OEM Lam Monitor and COemMonitor respectively
  • port: The port on the server that listens for alarms/events from OEM. It is an optional value that defaults to 48002
  • address: The host name or the IP address of the Windows Machine where the OEM LAM is running
  • use_ssl : An optional boolean indicating whether the server should use HTTPS ( true ). The default value is false

  • ssl_protocols: Only applicable if use_ssl = true. This configuration dictates which SSL protocols are enforced by the OEM LAM, the following protocols are allowed to be specified:

    • SSLv3
    • TLSv1
    • TLSv1.1
    • TLSv1.2

    If SSL is in use and no value is specified for this configuration then only TLSv1.2 is allowed by default

  • ssl_key_filename and ssl_cert_filename : The key and certificate files are both used by HTTPS and must be created with the standard openssl command

  • path_to_ssl_files : The location of the key and certificate files. If the path begins with ‘.’ or ‘/’ then the path is used as then the path is used as specified (as in the example code above). Otherwise, MOOGSOFT_HOME is prepended to the path. For example, if MOOGSOFT_HOME is /opt/moogsoft/ and path_to_ssl is set to config, the location is defined as /opt/moogsoft/config
  • auth_token : A shared secret token in the request body used to authenticate requests. If not defined or empty then authentication via this means is disabled. If defined then all requests must contain this token in the body otherwise the request will be rejected
  • encrypted_auth_token: Use this option to specify the 'shared secret' body token in encrypted form in the configuration file. The 'shared secret' can be encrypted using the $MOOGSOFT_HOME/bin/moog_encryptor utility
  • encrypted_header_auth_token: Use this option to specify the 'shared secret' header token in encrypted form in the configuration file. The 'shared secret' can be encrypted using the $MOOGSOFT_HOME/bin/moog_encryptor utility
  • authentication_type: When set to basic, authentication uses the graze login. If set to none (default) or configuration is not specified, then basic authentication does not occur
  • authentication_cache: Valid only when authentication_type is set to basic . When set to true (default), an encrypted version of a user's password is kept in the internal cache for the duration of their session. This speeds request handling, but may be a security issue for some users. If set to false, the basic authentication internal cache is disabled. Users are authenticated with each request, which slows request handling. For example, in tests with 10,000 requests sent as one of 5 graze users, request handling times were over 20x faster
  • num_threads: The number of threads that should be used to handle incoming connections. It is an optional value that defaults to the number of CPUs available (up to a maximum of 8)
  • accept_all_json: A boolean indicating whether the OEM LAM should expect and process incoming requests using any form of JSON (true), or only incoming requests using the Moogsoft AIOps OEM LAM protocol (false).
    • When accept_all_json is set to true, an event sender does not conform to the Moogsoft AIOps OEM LAM protocol. Together with list_contains_multiple_events set to true, an event sender (such as a third party commercial off-the-shelf product which defines its own rigid output of events) can be accepted into the OEM LAM and be converted into Moogsoft AIOps  events. Events are then sent out to MooMS
    • When accept_all_json is set to false, the event sender sends events that must conform to the Moogsoft AIOps OEM LAM protocol. This is done when you do not want to make changes to the default OEM LAM config or to the lambot, and it is possible to make changes at the events sender side to send alarms/events conforming to the JSON that can be received at Moogsoft AIOps
  • lists_contain_multiple_events : If this is set to True, then this means that the received JSON object will contain multiple events.
  • rest_response_mode: Defines when the OEM response is sent during the event ingestion lifecycle. This defines the level of feedback on how far Events are processed in Moogsoft AIOps. The following parameters can be entered in this field:
    • on_receipt: Instructs the OEM LAM to reply to the OEM request as soon as the incoming data has been validated as an Event
    • event_forwarded: Instructs the OEM LAM to reply to the OEM request as soon as it has confirmed that MooMS has received the valid Event
    • event_processed: Instructs the OEM LAM to reply to the OEM request as soon as the valid Event has been processed by an AlertBuilder. The OEM connection will remain open until a response is received by an AlertBuilder or until the configured timeout has been reached

      Use event_forwarded or event_processed to provide more detail as to how far an Event has been processed in Moogsoft AIOps and act accordingly, such as re-sending the event if a failure occurs

  • rpc_response_timeout: It defines how long the OEM LAM will wait (in seconds) for a response from an AlertBuilder when the oem_response_mode is set to event_processed (see above)
  • event_ack_mode: The event_ack_mode determines when an Event from this LAM should be acknowledged by the receiving process, i.e. Farmd. A mode must be specified, if not then the default mode queued_for_processing is used. The following two modes are defined here:
    • queued_for_processing: Acknowledge Event once it has been added to the Moolet queue.

    • event_processed: Acknowledge Event once it has been processed by a Moolet

Unlike other LAM configuration files, oem_lam.conf only uses JSON, so the mapper is set internally and is not configurable. Other source identification components of the configuration file such as Regex are not used

Agent

Agent allows the user to define two parameters:

agent:
    {
      name : "OEM",
      #log  : "/var/log/moogsoft/oem_lam.log"
    }

The above example specifies:

name: This is the agent name, the events sent to MooMS by the OEM LAM are identified by the agent name in the log. In this example the agent name is OEM

log: In this instance the OEM LAM will write its ingress contents to oem_lam.log located at /var/log/moogsoft

HA Configuration

Refer to HA Configuration of LAM

Mapping

Variables section is not required in OEM LAM; a user can directly map the alert field of OEM events/alerts with moogsoft fields.

mapping :
        {
            builtInMapper:  "CJsonDecoder",
            catchAll: "overflow",
            rules:
            [
                { name: "signature", rule:      "host1::oem::cpu" },
                { name: "source_id", rule:      "FQDN" },
                { name: "external_id", rule:    "OEM" },
                { name: "manager", rule:        "OEM" },
                { name: "source", rule:         "Hostname" },
                { name: "class", rule:          "$Description.content"},
                { name: "agent", rule:          "$LamInstanceName"},
                { name: "agent_location", rule: "OEM Data Centre" },
                { name: "type", rule:           "$Priority.content" },
                { name: "severity", rule:       "$Severity.content" },
                { name: "description", rule:    "$Summary.content" },
                { name: "agent_time", rule:     "$moog_now"}
            ]
        },
        filter:
        {
            presend: "OemLam.js"
        }

The above example specifies the mapping of the OEM alarm fields with the Moogsoft AIOps fields.

To map the sub-field values of a field in an OEM alarm the “. “operator is used e.g. "$Summary.content”. Here “content” is the subfield of the field "Summary". So to map the subfield the "." operator is used.

Example of an event on OEM

Constants and conversions

Constants and Conversions allow the user to convert formats of the received data defined users.

 constants:
    {
           severity:
           {
                "CLEAR"                : 0,
                "INDETERMINATE"        : 1,
                "WARNING"              : 2,
                "MINOR"                : 3,
                "MAJOR"                : 4,
                "CRITICAL"             : 5
            } 
    }
conversions:
    {
           sevConverter:
                    {
                     lookup: "severity",
                     input:  "STRING",
                     output: "INTEGER"
                 },
           stringToInt:
                    {
                     input:      "STRING",
                     output:     "INTEGER"
                },
     
    }

The above example specifies:

  • Severity and sevConverter: The severity field has a conversion defined as sevConverter in the Conversions section, this looks up the value of severity defined in the severity section of constants and returns back the mapped integer corresponding to the severity
  • stringToInt: It is used in a conversion, which forces the system to turn a string token into an integer value

catchALL

The attribute that is never referenced in a rule is collected and placed as a JSON object in a variable called overflow defined here and passed as part of the event.

mapping :
        {
            builtInMapper:  "CJsonDecoder",
            catchAll: "overflow",
            rules:
            [
                { name: "signature", rule:      "host1::oem::cpu" },
                { name: "source_id", rule:      "FQDN" },
                { name: "external_id", rule:    "OEM" },
                { name: "manager", rule:        "OEM" },
                { name: "source", rule:         "Hostname" },
                { name: "class", rule:          "$Description.content"},
                { name: "agent", rule:          "$LamInstanceName"},
                { name: "agent_location", rule: "OEM Data Centre" },
                { name: "type", rule:           "$Priority.content" },
                { name: "severity", rule:       "$Severity.content" },
                { name: "description", rule:    "$Summary.content" },
                { name: "agent_time", rule:     "$moog_now"}
            ]
        },
        filter:
        {
            presend: "OemLam.js"
        }

The OEM field xmlns is sent to OEM LAM. Since it is not mapped to a field in the oem_lam.conf file, it is placed in the overflow JSON object. The fields that are placed in the overflow variable can be viewed in the OEM LAM log file.

Example of an overflow JSON object created in the OEM LAM log file:

overflow":"{\"xmlns\":\"https://moogsoft.com\",\"xmlns:emcf\":\"http://xmlns.oracle.com/sysman/connector\",\"Description\":{\"xmlns\":\"https://moogsoft.com\"},\"Priority\":{\"xmlns\":\"https://moogsoft.com\"},\"Summary\":{\"xmlns\":\"https://moogsoft.com\"},\"Severity\":{\"xmlns\":\"https://moogsoft.com\"},\"LamInstanceName\":\"DATA_SOURCE\"}

Quotes

In some instances, the attribute strings are quoted. Our JSON parser ignores it, but the standard requires quoting for all strings, so Moogsoft recommends that user quote all strings.

Comments

A user can comment out lines by prefixing them with a hash.

Starting the OEM LAM

To start the OEM LAM enter the following command:

service oemlamd start

To stop the OEM LAM, enter the following command:

service oemlamd stop


To view the status of OEM LAM, enter the following command:

service oemlamd status

Command line attributes

The OEM_lam is a command line executable that can be run as a service daemon, and takes four attributes, which can be viewed by typing:


OEM_lam --help

Option

Description

--config

Points to a pathname to find the configuration file for the LAM. This is where the entire configuration for the LAM is specified

--help

Displays all the command line options

--version

Displays the components version number

--log level

Specifies the level of debug. By default, User gets everything. In common with all executables in MOOG, having it set at that level can result in a lot of output (many messages per event message processed).

In all production implementations, it is recommended that log level is set to WARN, which only informs user of matters of importance

Version Information

LAM Version

Tool Version

Tested?

Expected to Work

1.0

OEM version 12c

Yes

Yes

1.1

OEM version 12c

Yes

Yes

1.2

OEM version 12c

Yes

Yes

System Information

This LAM was tested on a system with the following configurations:

CPU2 core
RAM4 GB
Operating SystemCentOS Linux release 6.7

The system must at least have the above mentioned system requirements to run the LAM.

  • No labels