Configuring Microsoft System Center - Operations Manager integrations

To collect disk, memory, network, processor metrics, and events from Microsoft System Center - Operations Manager using a REST API, install the Microsoft System Center - Operations Manager integration.

Gathering data

The Microsoft System Center - Operations Manager integration uses a remote-only sensor that connects to a Microsoft System Center - Operations Manager instance and collects the following information:
  • Metrics (measurable values of the performance of monitored entities)

    • For hosts: disk, memory, network, processor
  • Monitored entities (hosts)

  • Events

Verifying prerequisites

You must have your username, password, Kerberos realm, and Key distribution center for your Microsoft System Center - Operations Manager endpoint handy to complete the integration.

Installing

  1. Verify the public GA image path of the integration for Microsoft System Center - Operations Manager (for example: cp.icr.io/cp/cp4waiops/ibm-mm-cdc-conn:4.3-latest).
  2. Log in as a root user on a Linux® host machine that has network access to Microsoft System Center - Operations Manager. The Microsoft System Center - Operations Manager integration pulls information from Microsoft System Center - Operations Manager by using a remote TCP connection.
  3. To log in before downloading the public image of integration for Microsoft System Center - Operations Manager, run the podman login <cdc-mm ga-image-path> command.
  4. Create a new directory to store the integration-related configuration file and bash script.
    mkdir -p /root/cdc
    cd /root/cdc
  5. To define connection information to the Metric Manager API, create a Metric Manager backend configuration file with the name: com.instana.cdc.metricmanager.sender.MetricManagerBackend-1.cfg.
    # Metric Manager configuration file
    # Metric Manager's URL
    host=http://<metricManagerHost>.ibm.com
    
    # Metric Manager's port
    port=18080
    
    # Metric Manager's username for REST API
    username=system
    
    # Metric Manager's password for REST API 
    # password has been mask ****
    password=**********
    
    # Metric Manager's tenant id
    tenant_id=APM
  6. Create the configuration-scom.yaml sensor configuration file. Define the Microsoft System Center - Operations Manager endpoint, API key, and the metric entities information as in the following example configuration-scom.yaml file for a Microsoft System Center - Operations Manager sensor.
    com.instana.plugin.scom:
      enabled: true
      endpoint: '<scom-endpoint>' 
      username: '<scom-username>' 
      password: '<scom-password>' 
      kerberos_realm: '<scom-realm>' 
      kdc: '<scom-kdc>' 
      metrics:
        enabled: true      
        data_fill_duration: 120 
        poll_rate: 300    
        entities:
          System.Computer:  
            classname: 'System.Library!System.Computer'   
            metrics:
            - objectname: 'Logical Disk'   
              metric_list:   
              - '% Used Inodes'   
              - '% Used Space'   
            - objectname: 'Memory'
              metric_list: 
              - '% Available Memory'
            - objectname: 'Network Adapter'
              metric_list: 
              - 'Bytes Received/Sec'
            - objectname: 'Processor'
              metric_list: 
              - '% Idle Time'
            poll_rate: 450   
          Microsoft.Windows.InternetInformationServices.WebServer:
            classname: 'Microsoft.Windows.InternetInformationServices.CommonLibrary!Microsoft.Windows.InternetInformationServices.WebServer'
            metrics:
            - objectname: 'Web Service'
              metric_list: 
              - 'Bytes Received/sec'
              - 'Bytes Sent/sec'
              - 'Bytes Total/sec'
              - 'Connection Attempts/sec'
              - 'Current Connections'
              - 'Total Method Requests/sec'
            poll_rate: 300  
          Microsoft.SQLServer.Core.DBEngine: 
            classname: 'Microsoft.SQLServer.Core.Library!Microsoft.SQLServer.Core.DBEngine'
            metrics:
            - objectname: 'SQL Database'
              metric_list: 
              - 'DB Active Connections'
              - 'DB Active Requests'
              - 'DB Active Sessions'
              - 'DB Allocated Space (MB)'
              - 'DB Allocated Space Unused (MB)'
              - 'DB Available Space Total (%)'
            - objectname: 'SQL DB Engine'
              metric_list: 
              - 'CPU Utilization (%)'
              - 'Thread count'
            - objectname: 'SQL DB Engine:Buffer Manager'
              metric_list: 
              - 'Buffer cache hit ratio'
              - 'Page life expectancy'
            - objectname: 'SQL DB Engine:Databases'
              metric_list: 
              - 'Transactions/sec'
            - objectname: 'SQL DB Engine:Locks'
              metric_list: 
              - 'Average Wait Time (ms)'
              - 'Lock Requests/sec'
              - 'Lock Timeouts/sec'
              - 'Lock Waits/sec'
              - 'Number of Deadlocks/sec'
            poll_rate: 600    
  7. Create a bash script with execution permission, as in the following example bash script for a Microsoft System Center - Operations Manager sensor.
    podman run \
      -itd \
      --name instana-agent-metric-manager-ga \
      --volume /var/run:/var/run \
      --volume /run:/run \
      --volume /dev:/dev:ro \
      --volume /sys:/sys:ro \
      --volume /var/log:/var/log \
      --volume <cdc-root-path>/configuration-scom.yaml:/opt/instana/agent/etc/instana/configuration-scom.yaml \
      --mount type=bind,source=<cdc-root-path>/com.instana.cdc.metricmanager.sender.MetricManagerBackend-1.cfg,target=/opt/instana/agent/etc/instana/com.instana.cdc.metricmanager.sender.MetricManagerBackend-1.cfg \
      --privileged \
      --net=host \
      --pid=host \
      --env INSTANA_PRODUCT_NAME="metric-manager" \
      --env AGENT_MAX_MEM=6G \
      --env INSTANA_AGENT_MODE="APM" <IBM-CDC-Public-GA-Image-Path>/ibm-mm-cdc-conn:4.6-latest
  8. If you want to use vault, complete the following steps:
    1. Add the app secret information to the vault server.
    2. Mount the vault PEM file in the image.
    3. Run the bootstrap script to start up the docker image.
    4. Run the docker ps command to check the container id and access to the container by the docker exec -ti <container_id> bash command.
    5. In the container, add the vault IP address into the /etc/hosts file.
      9.x.x.159 Vault
    6. Check the connection to the vault server.
      ping vault
      Note: If ping isn't available, run the dnf install iputils -y command.
    7. Go to the path where the Microsoft System Center - Operations Manager configuration YAML file is located.
    8. Edit the configuration.yaml to add the vault configuration.
      com.instana.configuration.integration.vault:
        connection_url: 'https://Vault:8200' # Mapping through hosts file since PEM ca cert does not contain hostname
        token: '<vault_token>'
        path_to_pem_file: '/root/agentdev/agent-installer/instana-agent/etc/instana/vault-ca.pem'
        secret_refresh_rate: 24
        kv_version: 2
    9. Modify the sensor configuration to use the vault type in the configuration-scom.yaml file. ...
      com.instana.plugin.scom:
        enabled: true
        endpoint: '<scom-endpoint>' 
        username: '<scom-username>' 
        password: 
          configuration_from:
            type: vault
            secret_key:
              path: cem/scom
              password: password
        kerberos_realm: 
          configuration_from:
            type: vault
            secret_key:
              path: cem/scom
              kerberos_realm: kerberos_realm
    10. Restart the integration and check whether the Microsoft System Center - Operations Manager sensor can connect and receive metrics.
  9. Run the bash script to set up and configure the instance for the integration.
Note: If you don't want to monitor everything in your Microsoft System Center - Operations Manager integration, or if you have a large number of management zones, you might want to specify the zones that you do want to monitor in your configuration file. If you have a large number of zones, you may encounter an Out of Memory error when the integration reports on every one of your Microsoft System Center - Operations Manager zones. You can set the zones when you configure your integration by adding values to the zone field of your configuration. For more information about zones, or if you want to make other changes to the default configuration, see the Configuring section. For example, if you monitor approximately 200 hosts, you might not need to specify zones in your configuration. Conversely, if you monitor 5000 hosts that are grouped into hundreds of management zones, it's likely worthwhile to narrow them down.
The Microsoft System Center - Operations Manager integration is installed and set up on the Linux host.

Verifying the installation

  1. Verify whether the integration instance is up and running.
    $ podman ps
    CONTAINER ID   IMAGE                                                                                                                                 COMMAND                  CREATED        STATUS        PORTS     NAMES
    3c75a6d23ca8   cp.icr.io/cp/cp4waiops/ibm-mm-cdc-conn:4.3-latest   "/usr/local/bin/tini…"   2 weeks ago  Up 2 weeks ago             instana-agent-metric-manager-ga     
  2. Check the logs to confirm that Microsoft System Center - Operations Manager metrics are forwarded to Metric Manager.
    $ podman logs -f <container_id>
    Example logs, which show that the metrics are forwarded:
    2023-10-05T12:12:09.543+00:00 | INFO  | tana-agent-scheduler-thread-13-2 | icManagerBackend | cdc-metricmanager-sender - 1.0.0 | MetricManager : MetricManagerConfig{Host=http://test.ibm.com, Port=18080, Username=system 
    2023-10-05T12:12:09.544+00:00 | INFO  | tana-agent-scheduler-thread-13-2 | icManagerBackend | cdc-metricmanager-sender - 1.0.0 | MetricManager : metricManagerURL : http://test.ibm.com:18080/metrics/api/1.0/metrics
    2023-10-05T12:12:10.026+00:00 | INFO  | tana-agent-scheduler-thread-13-2 | icManagerBackend | cdc-metricmanager-sender - 1.0.0 | Successfully sent payload to Metric Manager
    2023-10-05T12:12:10.026+00:00 | WARN  | tana-agent-scheduler-thread-13-2 | SensorTicker     | com.instana.agent - 1.1.697 | Sending metrics with 1260411 chars took 255815 ms

Configuring

You can edit the configuration-.yaml file to further configure your Microsoft System Center - Operations Manager integration.
  1. Navigate to your configuration-.yaml file on the Linux host machine where you installed your Microsoft System Center - Operations Manager integration.
  2. Open the file with your preferred text editor and find the Microsoft System Center - Operations Manager section. By default, it should look like the following example, except optional fields are empty. ...
    # Microsoft SCOM
    com.instana.plugin.scom:
      enabled: true                  # Required
      endpoint: '<scom-endpoint>'    # Required
      username: '<scom-username>'    # Required
      password: '<scom-password>'    # Required
      kerberos_realm: '<scom-realm>' # Required
      kdc: '<scom-kdc>'              # Required
      metrics:
        enabled: true                # Required
        data_fill_duration: 120      # Optional
        poll_rate: 300               # Optional
        entities:
        ...
  3. Edit the values that you want to change, and save the file. The following table lists the options that can be configured for Microsoft System Center - Operations Manager.
    Variable Description Type Default value Required or optional
    enabled Set to true or false depending on whether you want the integration to collect data. Boolean true Required
    endpoint The URL for the Microsoft System Center - Operations Manager HTTP API endpoint. For example, http://1.2.3.4/OperationsManager String N/A Required
    username The username that you use to access your Microsoft System Center - Operations Manager service. String N/A Required
    password The password that you use to access your Microsoft System Center - Operations Manager service. String N/A Required
    kerberos_realm The location of your Kerberos realm from your Active Directory server. For example: int.ibm.com String N/A Required
    kdc The location of your key distribution center for your Active Directory server. For example: scomadl.fyre.ibm.com String N/A Required
    metrics Metrics configuration for the sensor. Node N/A Required
    metrics: enabled Set to true or false to enable or disable the metrics integration. Boolean true Optional
    metrics: data_fill_duration The duration (in minutes) to fill the missed data, if the metric data is missed longer than this time, then leave it as empty. Integer 120 Required
    metrics: poll_rate The frequency (in seconds) with which the Microsoft System Center - Operations Manager API endpoint is polled for metric data. Integer 300 Optional
    metrics: entities A list of entities for metric integration. String N/A Required