Infrastructure Integration


  1. Configure the agent by editing /etc/netsil-dd-agent/conf.d/wmi_check.yamlin the collectors. Example:

      # Each WMI query has 2 required options, `class` and `metrics` and six
      # optional options, `host`, `namespace`, `filters`, `tag_by`, `constant_tags` and `tag_queries`.
      # `host` is the optional target of the WMI query, `localhost` is assumed by default
      # if you set this option, make sure that Remote Management is enabled on the target host
      # see for more information
      # `class` is the name of the WMI class, for example Win32_OperatingSystem
      # or Win32_PerfFormattedData_PerfProc_Process. You can find many of the
      # standard class names on the MSDN docs at
      # The Win32_FormattedData_* classes provide many useful performance counters
      # by default.
      # `namespace` is the optionnal WMI namespace to connect to (default to `cimv2`).
      # `provider` is the optional WMI provider (default to `32` on dd-agent Agent 32-bit or `64`).
      # It is used to request WMI data from the non-default provider. Available options are: `32` or `64`.
      # For more information:
      # `metrics` is a list of metrics you want to capture, with each item in the
      # list being a set of [WMI property name, metric name, metric type].
      # - The property name is something like `NumberOfUsers` or `ThreadCount`.
      #   The standard properties are also available on the MSDN docs for each
      #   class.
      # - The metric name is the name you want to show.
      # - The metric type is from the standard choices for all agent checks, such
      #   as gauge, rate, histogram or counter.
      # `filters` is a list of filters on the WMI query you may want. For example,
      # for a process-based WMI class you may want metrics for only certain
      # processes running on your machine, so you could add a filter for each
      # process name. You can also use the '%' character as a wildcard.
      # See below for examples.
      # `tag_by` optionally lets you tag each metric with a property from the
      # WMI class you're using. This is only useful when you will have multiple
      # values for your WMI query. The examples below show how you can tag your
      # process metrics with the process name (giving a tag of "name:app_name").
      # `constant_tags` optionally lets you tag each metric with a set of fixed values.
      # `tag_queries` optionally lets you specify a list of queries, to tag metrics
      # with a target class property. Each item in the list is a set of
      # [link source property, target class, link target class property, target property]
      # where:
      # - 'link source property' contains the link value
      # - 'target class' is the class to link to
      # - 'link target class property' is the target class property to link to
      # - 'target property' contains the value to tag with
      # It translates to a WMI query:
      # SELECT 'target property' FROM 'target class'
      #                 WHERE 'link target class property' = 'link source property'
      # Note: setting this will cause any instance number to be removed from tag_by values
      # i.e. name:process#1 => name:process
      # This feature is available starting with version 5.3 of the agent
      # Fetch the number of processes and users.
      - class: Win32_OperatingSystem
          - [NumberOfProcesses, system.proc.count, gauge]
          - [NumberOfUsers, system.users.count, gauge]
      # Fetch metrics for a single running application, called myapp, tagging with 'role:test'.
      - class: Win32_PerfFormattedData_PerfProc_Process
          - [ThreadCount, my_app.threads.count, gauge]
          - [VirtualBytes, my_app.mem.virtual, gauge]
          - Name: myapp
          - 'role:test'
      # Fetch process metrics for a set of processes, tagging by app name.
      - class: Win32_PerfFormattedData_PerfProc_Process
          - [ThreadCount, proc.threads.count, gauge]
          - [VirtualBytes, proc.mem.virtual, gauge]
          - [PercentProcessorTime, proc.cpu_pct, gauge]
          - Name: app1
          - Name: app2
          - Name: app3
        tag_by: Name
      # Fetch process metrics for a set of processes, tagging by app name, and command line params.
      - class: Win32_PerfFormattedData_PerfProc_Process
          - [IOReadBytesPerSec,, gauge]
          - Name: 'app%'
        tag_by: Name
          - [IDProcess, Win32_Process, Handle, CommandLine]
  2. Check and make sure that all yaml files are valid with following command:

    /etc/init.d/netsil-collectors configcheck
  3. Restart the Agent using the following command:

    /etc/init.d/netsil-collectors restart
  4. Execute the info command to verify that the integration check has passed:

    /etc/init.d/netsil-collectors info

The output of the command should contain a section similar to the following:



          - instance #0 [OK]
          - Collected 8 metrics & 0 events