New announcements for Serverless, Network, RUM, and more from Dash! New announcements from Dash!

Nomad

Agent Check Agent Check

Supported OS: Linux Mac OS Windows

Overview

Gather metrics from your Nomad clusters to:

  • Visualize and monitor cluster performance
  • Alert on cluster health and availability

Setup

Installation

Nomad emits metrics to Datadog via DogStatsD. To enable the Nomad integration, install the Datadog Agent on each client and server host.

Configuration

Once the Datadog Agent is installed, add a Telemetry stanza to the Nomad configuration for your clients and servers:

telemetry {
  publish_allocation_metrics = true
  publish_node_metrics       = true
  datadog_address = "localhost:8125"
  disable_hostname = true
  collection_interval = "10s"
}

Next, reload or restart the Nomad agent on each host. You should now begin to see Nomad metrics flowing to your Datadog account.

Data Collected

Metrics

nomad.client.allocated.cpu
(gauge)
Amount of CPU allocated for a client.
Shown as megahertz
nomad.client.allocated.disk
(gauge)
Amount of disk allocated for a client.
Shown as mebibyte
nomad.client.allocated.iops
(gauge)
Number of iops allocated for a client.
Shown as operation
nomad.client.allocated.memory
(gauge)
Amount of memory allocated for a client.
Shown as mebibyte
nomad.client.allocated.network
(gauge)
Bandwidth allocatoin for a client.
Shown as mebibyte
nomad.client.allocations.blocked
(gauge)
Number of allocations blocked for a client.
Shown as job
nomad.client.allocations.migrating
(gauge)
Number of allocations migrating for a client.
Shown as job
nomad.client.allocations.pending
(gauge)
Number of allocations pending for a client.
Shown as job
nomad.client.allocations.running
(gauge)
Number of allocations running for a client.
Shown as job
nomad.client.allocations.terminal
(gauge)
Number of allocations terminated for a client.
Shown as job
nomad.client.consul.check_registrations
(gauge)
Number of consul check registrations.
nomad.client.consul.checks
(gauge)
Number of consul checks.
nomad.client.consul.script_checks
(gauge)
Number of consul script checks.
nomad.client.consul.service_registrations
(gauge)
Number of consul service registration.
nomad.client.consul.services
(gauge)
Number of consul services.
nomad.client.host.cpu.idle
(gauge)
Amount of CPU idle for a client.
Shown as megahertz
nomad.client.host.cpu.system
(gauge)
Amount of CPU consumed by the system for a client.
Shown as megahertz
nomad.client.host.cpu.total
(gauge)
Amount of CPU total for a client.
Shown as megahertz
nomad.client.host.cpu.user
(gauge)
Amount of CPU total for a client.
Shown as megahertz
nomad.client.host.disk.available
(gauge)
Disk available for a particular client.
Shown as mebibyte
nomad.client.host.disk.inodes_percent
(gauge)
Disk nodes used as a percentage for a particular client.
Shown as mebibyte
nomad.client.host.disk.size
(gauge)
Disk size for a particular client.
Shown as mebibyte
nomad.client.host.disk.used
(gauge)
Disk used for a particular client.
Shown as mebibyte
nomad.client.host.disk.used_percent
(gauge)
Disk used as a percentage for a particular client.
Shown as mebibyte
nomad.client.host.memory.available
(gauge)
Amount of memory available for a client.
Shown as mebibyte
nomad.client.host.memory.free
(gauge)
Amount of memory free for a client.
Shown as mebibyte
nomad.client.host.memory.total
(gauge)
Total amount of memory for a client.
Shown as mebibyte
nomad.client.host.memory.used
(gauge)
Amount of memory used for a client.
Shown as mebibyte
nomad.client.unallocated.cpu
(gauge)
Amount of unallocated CPU for a client.
Shown as megahertz
nomad.client.unallocated.disk
(gauge)
Amount of unallocated disk for a client.
Shown as mebibyte
nomad.client.unallocated.iops
(gauge)
Number of unallocated iops for a client.
Shown as operation
nomad.client.unallocated.memory
(gauge)
Amount of unallocated memory for a client.
Shown as mebibyte
nomad.client.unallocated.network
(gauge)
Unallocated bandwidth for a client.
Shown as mebibyte
nomad.client.uptime
(gauge)
Uptime of the host running the Nomad client.
Shown as second
nomad.memberlist.gossip.95percentile
(gauge)
95 percentile of members in the gossip pool.
Shown as resource
nomad.memberlist.gossip.avg
(gauge)
Average number of members in the gossip pool.
Shown as resource
nomad.memberlist.gossip.count
(rate)
Number of members in the gossip pool.
Shown as resource
nomad.memberlist.gossip.max
(gauge)
Maximum number of members in the gossip pool.
Shown as resource
nomad.memberlist.gossip.median
(gauge)
Median number of members in the gossip pool.
Shown as resource
nomad.memberlist.msg.alive
(gauge)
Number of message from alive members.
Shown as resource
nomad.memberlist.tcp.accept
(gauge)
Number of accepted TCP connections.
Shown as resource
nomad.nomad.blocked_evals.total_blocked
(gauge)
Number of blocked evaluation.
Shown as job
nomad.nomad.blocked_evals.total_escaped
(gauge)
Number of blocked evaluation that are escaped.
Shown as job
nomad.nomad.blocked_evals.total_quota_limit
(gauge)
Limit quota of evaluations.
Shown as job
nomad.nomad.broker.total_blocked
(gauge)
Evaluations that are blocked until an existing evaluation for the same job completes.
nomad.nomad.broker.total_ready
(gauge)
Number of evaluations ready to be processed.
nomad.nomad.broker.total_unacked
(gauge)
Evaluations dispatched for processing but incomplete.
nomad.nomad.broker.total_waiting
(gauge)
Number of evaluations waiting to be processed.
nomad.nomad.client.get_client_allocs.95percentile
(gauge)
The 95 percentile of nomad client allocated.
nomad.nomad.client.get_client_allocs.avg
(gauge)
The average number of nomad client allocated.
nomad.nomad.client.get_client_allocs.count
(gauge)
The number of nomad cient allocated.
nomad.nomad.client.get_client_allocs.max
(gauge)
The maximum number of nomad client allocated.

Events

The Nomad check does not include any events.

Service Checks

The Nomad check does not include any service checks.

Troubleshooting

Need help? Contact Datadog support.


Mistake in the docs? Feel free to contribute!