• /
  • Log in

Windows services integration

BETA FEATURE

This feature is currently in open beta and only applies to the latest version released in September 2021. Check our post for more details.

New Relic's Windows services integration collects data about the services running on your Windows hosts and sends it to our platform. You can check the state and start mode of each service, find out which hosts are running a service, set up alerts for services, and more.

Our integration is bundled with the Windows infrastructure agent. If you're monitoring Windows hosts on New Relic, you only need to enable the integration to get Windows services data into our platform.

Why it matters

Windows services are the Windows equivalent of daemons in Unix and Linux: long-running executables that can be started, stopped, paused, and restarted without a graphical interface. Knowing which services are enabled, or their state or health, is essential when monitoring Windows infrastructure.

With our Windows services integration you can:

  • Check all your Windows services, their state (running, stopped, etc.) and start mode (auto, manual, etc.), including service metadata.
  • See which hosts are running specific Windows services.
  • Set alerts based on any Windows services that you are monitoring using New Relic.
  • Create dashboards to track your Windows services.

New Relic One - Windows services integration - Metric data

one.newrelic.com > Dashboards: You can use the Windows services integration metrics to create tables for your services.

Compatibility and requirements

Our integration is compatible with all Windows versions supported by the New Relic agent.

You must have the New Relic infrastructure agent version 1.12.1 or higher installed on a supported host. The x86 Windows versions are not yet supported.

Install and activate

To install the Windows services integration:

  1. Change the directory to the integrations folder:

    cd C:\Program Files\New Relic\newrelic-infra\integrations.d\
  2. Copy of the sample configuration file:

    copy winservices-config.yml.sample winservices-config.yml
  3. Edit the winservices-config.yml file as described in the configuration settings and save it.

Update your integration

The Windows services integration is bundled with the infrastructure monitoring agent. To update the integration, update the agent to the latest version.

Configure the integration

To enable the integration, edit and save the winservices-config.yml:

  • Uncomment exporter_bind_address: and exporter_bind_port:
  • Add the name of the services you want to monitor to include_matching_entities:

By default, no service is included. To include and filter services, you must edit include_matching_entities:.

Also, the configuration option inventory_source is not compatible with the integration.

Here's an example of the Windows services integration configuration:

Set up an alert

You can create Windows services alerts using NRQL conditions to get notified about state changes of the services you wish to monitor. Below are two examples of alert conditions that use Windows services data:

How it works

To get data from Windows hosts, our Windows services integration uses a reduced version of the Prometheus exporter for Windows, which exposes Prometheus metrics on the port specified in the agent configuration. The integration collects these metrics, transforms them into entities, filters them, and then sent them to New Relic.

Windows services integration architecture

The Windows services integration collects Service Functions data using the Windows Prometheus exporter. It then transforms and filters the data before sending it to New Relic.

Metric data

The Windows services integration provides the following data:

Metric

Description

windows_service_start_mode

Start mode of the service. Possible values are:

  • boot
  • system
  • auto
  • manual
  • disabled

windows_service_state

State of the service. Possible values are:

  • stopped
  • start pending
  • stop pending
  • running
  • continue pending
  • pause pending
  • paused
  • unknown

If you migrate from the old beta, the metric names have changed. The differences are:

Old metric

New metric

windowsService.service.startMode

windows_service_start_mode

windowsService.service.state

windows_service_state

windowsService.service.status

has been removed

Metadata

The Windows services integration sends the following metadata to New Relic:

  • display_name: Name of the service as viewed in the services snap-in.

  • service_name: Unique identifier of the service.

  • process_id: Process identifier of the service.

  • run_as: Account name under which a service runs. Depending on the service type, the format of the account name may be DomainName\Username or Username@DomainName (UPN). The value is taken from the StartName attribute of the Win32_Service class, which can be NULL (in that case, the label is reported as an empty string).

    Important

    If the StartName attribute is NULL, the service is logged on under the LocalSystem account. For kernel or system-level drive, it runs with a default object name created by the I/O system based on the service name, for example, DWDOM\Admin.

If you migrate from the old beta, the metadata names have changed. The differences are:

Old metadata

New metadata

windowsService.displayName

display_name

windowsService.entityName

entity.name

windowsService.hostname

hostname

windowsService.name

service_name

windowsService.processId

process_id

windowsService.runAs

run_as

Source code

The Windows services integration is open source software. That means you can browse its source code and send improvements, or create your own fork and build it. For more information, see the README.

For more help

If you need more help, check out these support and learning resources:

Create issueEdit page
Copyright © 2021 New Relic Inc.