Infrastructure List

Overview

The Infrastructure list shows all of your hosts monitored by Datadog with activity during the last two hours (default) and up to one week. Search your hosts or group them by tags. In Datadog, navigate to Infrastructure > Hosts to view the Infrastructure list. This list should not be used to estimate your infrastructure host billing. See the billing page to learn about billing.

Hosts

The following information is displayed in the infrastructure list for your hosts:

Hostname
The preferred hostname alias (use the Options menu to view Cloud Name or Instance ID).
Cloud Name
A hostname alias.
Instance ID
A hostname alias.
Status
Displays ACTIVE when the expected metrics are received and displays INACTIVE if no metrics are received.
CPU
The percent of CPU used (everything but idle).
IOWait
The percent of CPU spent waiting on the IO (not reported for all platforms).
Load 15
The system load over the last 15 minutes.
Apps
The Datadog integrations reporting metrics for the host.
Operating System
The tracked operating system.
Cloud Platform
Cloud platform the host is running on (for example, AWS, Google Cloud, or Azure).
Datadog Agent
Agent version that is collecting data on the host.
OpenTelemetry
OpenTelemetry Collector version that is collecting data on the host.

Hostname

The Datadog Agent collects potential hostnames from several different sources. For more details, see How does Datadog determine the Agent hostname?.

Note: Hostnames should be unique within a Datadog account, otherwise you may experience some inconsistencies on your host graphs.

Inspect

Click on any host to view more details including:

Infrastructure list host details

Aliases

Datadog creates aliases for host names when there are multiple uniquely identifiable names for a single host. The names collected by the Agent are added as aliases for the chosen canonical name. For example, a single host running in EC2 might have an instance ID (i-abcd1234), a generic hostname provided by EC2 based on the host’s IP address (ip-192-0-0-1), and a meaningful host name provided by an internal DNS server or a config-managed hosts file (myhost.mydomain).

Host aliases

Agent configuration

The Agent can send its own configuration to Datadog to be displayed in the Agent Configuration section of the host detail panel.

The Agent configuration is scrubbed of any sensitive information and only contains configuration you’ve set using the configuration file or environment variables. The configuration changes are updated every 10 minutes.

The Agent configuration view is enabled by default in Agent version >= 7.47.0/6.47.0. In Agent versions >= 7.39/6.39, you can enable it manually:

To enable or disable the configuration view:

  • Set the value of inventories_configuration_enabled in your Agent configuration file to true to enable the configuration view, or false to disable it.
  • Alternatively, use the DD_INVENTORIES_CONFIGURATION_ENABLED environment variable to enable or disable the configuration view.
The Agent configuration view

Export

For a JSON formatted list of your hosts reporting to Datadog, use one of the following:

Agent version

At times it may also be prove useful to audit your Agent versions to ensure you are running the latest version. To accomplish this, use the get_host_agent_list script, which leverages the JSON permalink to output the current running Agents with version numbers. There is also a json_to_csv script to convert the JSON output into a CSV file.

No Agent

Another use case of the JSON export would be to get a list of Amazon EC2 (excluding RDS) instances with no Agent installed. These instances appear in the infrastructure list by setting up your AWS account in the Datadog AWS integration tile. See the Python3 script below:

# 3p
import requests

# stdlib
import json
import pprint
import os

api_key = os.environ['DD_API_KEY']
app_key = os.environ['DD_APP_KEY']

url = "https://app.datadoghq.com/reports/v2/overview?\
window=3h&with_apps=true&with_sources=true&with_aliases=true\
&with_meta=true&with_tags=true&api_key=%s&application_key=%s"

infra = json.loads(requests.get(url %(api_key,app_key)).text)

for host in infra['rows']:
    if (('aws' in host['apps']) and ('rds' not in host['apps']) and ('agent' not in host['apps'])):
        try:
            print(f'HOST: {host["name"]} - TAGS: {host["tags_by_source"]}')
        except:
            pass

Further Reading