Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
197 changes: 90 additions & 107 deletions content/en/getting_started/agent/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,32 +13,61 @@
text: 'Why should I install the Datadog Agent on my cloud instances?'
---

This guide provides an introduction to the Agent and how you can use it to send system-level metrics to the Datadog platform. It walks through an example Agent installation on Ubuntu. It covers:
## Overview

- Agent installation
- Verifying that the Agent is running
- Configuring Agent features
- Troubleshooting resources
This guide introduces the Datadog Agent and covers:

## Overview
- [Introduction to the Agent](#the-datadog-agent)
- [Installing the Agent](#installing-the-agent)
- [Data collected by the Agent](#data-collected-by-the-agent)
- [Advanced configurations and features](#advanced-configurations-and-features)
- [Troubleshooting the Agent](#troubleshooting)
Comment on lines +20 to +24
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To reduce repetition of "the Agent":

Suggested change
- [Introduction to the Agent](#the-datadog-agent)
- [Installing the Agent](#installing-the-agent)
- [Data collected by the Agent](#data-collected-by-the-agent)
- [Advanced configurations and features](#advanced-configurations-and-features)
- [Troubleshooting the Agent](#troubleshooting)
- [Introduction to the Agent](#the-datadog-agent)
- [Installation](#installing-the-agent)
- [Data collected by the Agent](#data-collected-by-the-agent)
- [Advanced configurations and features](#advanced-configurations-and-features)
- [Troubleshooting](#troubleshooting)



## What is the Datadog Agent
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feels weird not to end with a question mark:

Suggested change
## What is the Datadog Agent
## What is the Datadog Agent?


The Datadog Agent is a software that runs on your hosts. It collects events and metrics from hosts and sends them to Datadog, where you can analyze your monitoring and performance data.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The Datadog Agent is a software that runs on your hosts. It collects events and metrics from hosts and sends them to Datadog, where you can analyze your monitoring and performance data.
The Datadog Agent is software that runs on your hosts. It collects events and metrics from hosts and sends them to Datadog, where you can analyze your monitoring and performance data.


### About the Agent
The Agent can run on:
- Your local hosts (Windows, MacOS),
- A containerized environments (Docker, Kubernetes),
- In on-premises data centers.
Comment on lines +32 to +34
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Your local hosts (Windows, MacOS),
- A containerized environments (Docker, Kubernetes),
- In on-premises data centers.
- Local hosts (Windows, macOS)
- Containerized environments (Docker, Kubernetes)
- On-premises data centers


The Datadog Agent is software that runs on your hosts. It collects events and metrics from hosts and sends them to Datadog, where you can analyze your monitoring and performance data. It can run on your local hosts (Windows, MacOS), containerized environments (Docker, Kubernetes), and in on-premises data centers. You can install and configure it using configuration management tools (Chef, Puppet, Ansible).
You can also install and configure the Agent using configuration management tools like Chef, Puppet, or Ansible.

The Agent is able to collect 75 to 100 system-level metrics every 15 to 20 seconds. With additional configuration, the Agent can send live data, logs, and traces from running processes to the Datadog Platform. The Datadog Agent is open source and its source code is available on GitHub at [DataDog/datadog-agent][1].
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know you didn't work on this part, but there's a few things worth changing here for editorial style:

Suggested change
The Agent is able to collect 75 to 100 system-level metrics every 15 to 20 seconds. With additional configuration, the Agent can send live data, logs, and traces from running processes to the Datadog Platform. The Datadog Agent is open source and its source code is available on GitHub at [DataDog/datadog-agent][1].
The Agent can collect 75-100 system-level metrics every 15-20 seconds. With additional configuration, it can send live data, logs, and traces from running processes to Datadog. The Datadog Agent is open source, and its source code is available on GitHub at [DataDog/datadog-agent][1].


### Agent overhead
### The Agent configuration file

The amount of space and resources the Agent takes up depends on the configuration and what data the Agent is configured to send. At the onset, you can expect around 0.08% CPU used on average with a disk space of roughly 880MB to 1.3GB.
The Agent's main configuration file is `datadog.yaml`. The required parameters are:
- Your [Datadog API key][16], which is used to associate your Agent's data with your organization.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Your [Datadog API key][16], which is used to associate your Agent's data with your organization.
- Your [Datadog API key][16], which is used to associate the Agent's data with your organization.

- Your [Datadog site][41] ({{< region-param key="dd_site" code="true" >}}).

See [Agent Overhead][2] to learn more about these benchmarks.
See the [sample `config_template.yaml` file][23] for all available configuration options. You can adjust the Agent configuration files to take advantage of other Datadog features including tags.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think originally, "including tags" was a transition to the next section about setting up tagging, but that content's been moved around now. Probably just omit here:

Suggested change
See the [sample `config_template.yaml` file][23] for all available configuration options. You can adjust the Agent configuration files to take advantage of other Datadog features including tags.
See the [sample `config_template.yaml` file][23] for all available configuration options. You can adjust the Agent configuration files to take advantage of other Datadog features.




Comment on lines +47 to +49
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Housekeeping nit: just one empty line here, not three.

## How to install the Agent
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd go with a simpler heading because this section doesn't actually explain how to install the Agent, it just links to other docs.

Suggested change
## How to install the Agent
## Installation


### Prerequisites
1. Create a [Datadog account][15].

2. Have your [Datadog API key][16] on hand.

### Setup

Use [Fleet Automation][39], the Datadog in-app workflow, to install, upgrade, configure, and troubleshoot the Datadog Agent at scale.

See the [Agent documentation][40] for how to get started with the Agent for your specific platform.
Comment on lines +59 to +61
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider swapping the order here. Someone just getting started probably won't start with deploying a whole fleet of Agents at scale; they'll probably first install it on one machine to try it out.

Suggested change
Use [Fleet Automation][39], the Datadog in-app workflow, to install, upgrade, configure, and troubleshoot the Datadog Agent at scale.
See the [Agent documentation][40] for how to get started with the Agent for your specific platform.
See the [Agent documentation][40] for how to get started with the Agent for your specific platform.
Use [Fleet Automation][39], the Datadog in-app workflow, to install, upgrade, configure, and troubleshoot the Datadog Agent at scale.


### Data collected

#### Agent metrics
## Data collected by the Agent

Check warning on line 64 in content/en/getting_started/agent/_index.md

View workflow job for this annotation

GitHub Actions / vale

Datadog.headings

'Data collected by the Agent' should use sentence-style capitalization.

The following Agent metrics are information the Agent sends to Datadog about itself, so that you can determine things like what hosts or containers have running Agents, when an Agent starts, and what version of Python it's running.
To give you full visibility into your infrastructure, the Datadog Agent reports metrics about its own health and configuration, as well as metrics gathered from your hosts and services through its default checks.

Check notice on line 66 in content/en/getting_started/agent/_index.md

View workflow job for this annotation

GitHub Actions / vale

Datadog.sentencelength

Suggestion: Try to keep your sentence length to 25 words or fewer.

### Agent metrics

The Agent reports the following metrics to Datadog about itself. These metrics provide information about which hosts or containers have running Agents, when each Agent started, and the Python version the Agent is using.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: Reorder either the list of metrics in this paragraph, or the order in the table below, so they both follow the same order. (Paragraph is running, started, Python; table is Python, running, started.)


| Metric | Description |
| -------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
Expand All @@ -48,7 +77,7 @@

See the [Agent Metrics][3] integration for a full list of Agent metrics.

#### Checks
### Checks

Depending on your platform, the Agent has several core checks enabled by default that collect metrics.

Expand All @@ -68,113 +97,42 @@

To collect metrics from other technologies, see the [Integrations][9] page.

## Differences between Agents for hosts and containers

This guide walks you through installing and configuring an Agent on a host. If you plan to eventually install Agents in a containerized environment, there are a few differences you should know about.

1. On a host, the Agent is configured using a YAML file (as you will see later in this guide), whereas Agent configuration options for a container's Agent are passed in with [environment variables][10], for example:
- `DD_API_KEY` for the Datadog API key
- `DD_SITE` for the Datadog site

2. Similarly, while on a host, [integrations][9] are identified through the Agent configuration file, in a container environment, integrations are automatically identified through Datadog's Autodiscovery feature. See [Basic Agent Autodiscovery][11] to learn more.

See the [Docker Agent][12] or [Kubernetes][13] for a walkthrough on running the Agent in a containerized environment.

## Why should I install the Agent?

The Agent needs to be installed to send data from any one of the many Agent based Integrations. The Agent is not necessarily required to forward data to the Datadog Platform, for example, you can send Logs and Metrics through the Datadog API. However, the Agent is the recommended method to forward your data to the Datadog Platform.

The Agent collects host data every 15 seconds to provide an accurate understanding of what is happening across your environments. As previously mentioned in the [Checks][14] section, the Agent has several checks enabled which collect over 50 default metrics to provide greater insight on system-level data.

## Setup

### Prerequisites

1. Create a [Datadog account][15].

2. Have your [Datadog API key][16] on hand.

3. Have the Datadog UI open.

**Note**: This walkthrough uses the Ubuntu operating system. See the [Supported Platforms][17] page for a full list of supported platforms.

### Installation

In the Datadog UI, navigate to the [Agent Installation page][18] and click on **Ubuntu**. To install the Datadog Agent on a host, use the one-line installation command from that page (example shown below), updated with your [Datadog API key][16].

Example Ubuntu one-line installation command:

```shell
DD_API_KEY=<DATADOG_API_KEY> DD_SITE="{{< region-param key="dd_site" >}}" bash -c "$(curl -L https://install.datadoghq.com/scripts/install_script_agent7.sh)"
```

Use the [Agent Installation page][18] to see the most up-to-date installation instructions for your operating system.

### Validation

#### Terminal command

Run the Agent's [status command][19] to verify installation.

```shell
sudo datadog-agent status
```
A successful installation returns an Agent Status report that begins with Agent information like this:

```text
===============
Agent (v7.36.1)
===============
Status date: 2022-06-15 15:54:48.364 EDT / 2022-06-15 19:54:48.364 UTC (1655322888364)
Agent start: 2022-06-15 15:54:29.85 EDT / 2022-06-15 19:54:29.85 UTC (1655322869850)
Pid: 9801
Go Version: go1.17.6
Python Version: 3.8.11
Build arch: amd64
Agent flavor: agent
Check Runners: 6
Log Level: info
```

#### Events

In the Datadog UI, go to the [Events Explorer Page][20]. When an Agent is started or restarted, it sends events to Datadog. The following message displays if your Agent successfully installs:

```text
Datadog agent (v. 7.XX.X) started on <Hostname>
```

#### Service checks
### Service checks

Check warning on line 102 in content/en/getting_started/agent/_index.md

View workflow job for this annotation

GitHub Actions / vale

Datadog.headings

'Service checks' should use sentence-style capitalization.

The Agent is set up to provide the following service checks:

- `datadog.agent.up`: Returns `OK` if the Agent connects to Datadog.
<div class="alert alert-danger">AIX Agents do not report the <code>datadog.agent.up</code> service check. You can use the metric <code>datadog.agent.running</code> to monitor the uptime of an AIX Agent. The metric emits a value of <code>1</code> if the Agent is reporting to Datadog.</div>
- `datadog.agent.check_status`: Returns `CRITICAL` if an Agent check is unable to send metrics to Datadog, otherwise returns `OK`.

- `datadog.agent.up`: Returns **OK** if the Agent connects to Datadog.
- `datadog.agent.check_status`: Returns **CRITICAL** if an Agent check is unable to send metrics to Datadog, otherwise returns **OK**.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- `datadog.agent.check_status`: Returns **CRITICAL** if an Agent check is unable to send metrics to Datadog, otherwise returns **OK**.
- `datadog.agent.check_status`: Returns **CRITICAL** if an Agent check is unable to send metrics to Datadog; otherwise returns **OK**.


These checks can be used in the Datadog Platform to visualize the Agent status through monitors and dashboards at a quick glance. See [Service Check Overview][21] to learn more.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
These checks can be used in the Datadog Platform to visualize the Agent status through monitors and dashboards at a quick glance. See [Service Check Overview][21] to learn more.
These checks can be used in Datadog to visualize the Agent status through monitors and dashboards at a quick glance. See [Service Check Overview][21] to learn more.


#### Metrics

In the Datadog UI, go to the [Metrics Summary page][22] and search for the metric `datadog.agent.started` or the metric `datadog.agent.running`. If these metrics are not visible right away, it may take a few minutes for the Agent to send the data to the Datadog Platform.
## Advanced configurations and features

Click on either of the metrics and a Metric panel opens up. This panel shows additional metadata about where these metrics are collected from and any associated tags. Because so far in this walkthrough no tags are configured on this host, you should see only the default tags that Datadog assigns to the metrics including `version` and `host`. See the following section on Agent Configuration Files to learn more about how to add tags.
{{% collapse-content title="Differences between Agent for hosts and containers" level="h4" expanded=false id="id-for-anchoring" %}}

Explore other default metrics such as `ntp.offset` or `system.cpu.idle`.
There are key differences between installing Agents on a host and in a containerized environment:

## Agent configuration files
- **Configuration differences**:
- **Host**: The Agent is configured using a YAML file.
- **Container**: Configuration options are passed using [environment variables][10], for example:

```sh
`DD_API_KEY` # Datadog API key
`DD_SITE` # Datadog site
```

The Agent's main configuration file is `datadog.yaml`. The required parameters are:
- your [Datadog API key][16], which is used to associate your Agent's data with your organization, and
- the Datadog site ({{< region-param key="dd_site" code="true" >}}).
- **Integrations detection**:
- **Host**: [Integrations][9] are identified through the Agent configuration file
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- **Host**: [Integrations][9] are identified through the Agent configuration file
- **Host**: [Integrations][9] are identified through the Agent configuration file.

- **Container**: Integrations are automatically identified using Datadog's Autodiscovery feature. See [Basic Agent Autodiscovery][11] to learn more.
See the [sample `config_template.yaml` file][23] for all available configuration options.
Additionally, see the [Docker Agent][12] or [Kubernetes][13] for a walkthrough on running the Agent in a containerized environment.
{{% /collapse-content %}}
You can adjust the Agent configuration files to take advantage of other Datadog features including tags.
#### Setting tags through the Agent configuration file
{{% collapse-content title="Setting tags through the Agent configuration file" level="h4" expanded=false id="id-for-anchoring" %}}
Tags add an additional layer of metadata to your metrics and events. They allow you to scope and compare your data in Datadog visualizations. When data is sent to Datadog from multiple hosts, tagging this information allows you to scope down to the data you are most interested in visualizing.
Expand Down Expand Up @@ -227,7 +185,26 @@

6. Go to the [Events Explorer page][20] and find the custom tags displayed with the latest Agent Event.

#### Other configuration options
{{% /collapse-content %}}

{{% collapse-content title="Finding metrics in the Datadog UI" level="h4" expanded=false id="id-for-anchoring" %}}

In the Datadog UI, go to the [Metrics Summary page][22] and search for the metric `datadog.agent.started` or the metric `datadog.agent.running`. If these metrics are not visible right away, it may take a few minutes for the Agent to send the data to the Datadog Platform.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section starts a little abruptly and could use an intro. Something like:

Suggested change
In the Datadog UI, go to the [Metrics Summary page][22] and search for the metric `datadog.agent.started` or the metric `datadog.agent.running`. If these metrics are not visible right away, it may take a few minutes for the Agent to send the data to the Datadog Platform.
You can confirm the Agent is running correctly by checking its default metrics in the Datadog UI. Go to the [Metrics Summary page][22] and search for the metric `datadog.agent.started` or the metric `datadog.agent.running`. If these metrics are not visible right away, it may take a few minutes for the Agent to send the data to Datadog.


Click on either of the metrics and a Metric panel opens up. This panel shows additional metadata about where these metrics are collected from and any associated tags. Because so far in this walkthrough no tags are configured on this host, you should see only the default tags that Datadog assigns to the metrics including `version` and `host`. See the following section on Agent Configuration Files to learn more about how to add tags.

Check notice on line 194 in content/en/getting_started/agent/_index.md

View workflow job for this annotation

GitHub Actions / vale

Datadog.sentencelength

Suggestion: Try to keep your sentence length to 25 words or fewer.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This isn't really a walkthrough anymore, so need to adjust that. A few editorial tweaks too:

Suggested change
Click on either of the metrics and a Metric panel opens up. This panel shows additional metadata about where these metrics are collected from and any associated tags. Because so far in this walkthrough no tags are configured on this host, you should see only the default tags that Datadog assigns to the metrics including `version` and `host`. See the following section on Agent Configuration Files to learn more about how to add tags.
Click on either of the metrics and a Metric panel opens. This panel shows additional metadata about where these metrics are collected and any associated tags. If no tags are configured on a host, you should see only the default tags that Datadog assigns to the metrics including `version` and `host`. See the section above on setting tags through the Agent configuration files to learn more about how to add tags.

For this last sentence a direct link to the section would be ideal, but unfortunately I don't think that's possible with expandable sections. This might be a decent alternative.


Explore other default metrics such as `ntp.offset` or `system.cpu.idle`.
{{% /collapse-content %}}


{{% collapse-content title="Agent overhead" level="h4" expanded=false id="id-for-anchoring" %}}

The amount of space and resources the Agent takes up depends on the configuration and what data the Agent is configured to send. At the onset, you can expect around 0.08% CPU used on average with a disk space of roughly 880MB to 1.3GB.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The amount of space and resources the Agent takes up depends on the configuration and what data the Agent is configured to send. At the onset, you can expect around 0.08% CPU used on average with a disk space of roughly 880MB to 1.3GB.
The amount of space and resources the Agent takes up depends on the configuration and what data the Agent is sending. At the onset, you can expect around 0.08% CPU used on average with a disk space of roughly 880MB to 1.3GB.


See [Agent Overhead][2] to learn more about these benchmarks.
{{% /collapse-content %}}

{{% collapse-content title="Additional configuration options" level="h4" expanded=false id="id-for-anchoring" %}}

The collection of [logs][27], [traces][28], and [processes][29] data can be enabled through the Agent configuration file. These are not features that are enabled by default. For example, in the configuration file, the `logs_enabled` parameter is set to false.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The collection of [logs][27], [traces][28], and [processes][29] data can be enabled through the Agent configuration file. These are not features that are enabled by default. For example, in the configuration file, the `logs_enabled` parameter is set to false.
The collection of [logs][27], [traces][28], and [processes][29] data can be enabled through the Agent configuration file. These features are not enabled by default. For example, in the configuration file, the `logs_enabled` parameter is set to false.


Expand All @@ -250,6 +227,9 @@

Throughout your setup, when the documentation refers to the `datadog.yaml` file or the Agent configuration file, this is the file you need to configure.

{{% /collapse-content %}}


## Commands

See [Agent Commands][33] to [Start][34], [Stop][35] or [Restart][26] your Agent.
Expand Down Expand Up @@ -315,3 +295,6 @@
[36]: /agent/troubleshooting/
[37]: /agent/configuration/agent-log-files/
[38]: /help/
[39]: /agent/fleet_automation/
[40]: /agent/?tab=Host-based
[41]: /getting_started/site/
Loading