-
Notifications
You must be signed in to change notification settings - Fork 1.2k
AGENT - GSWTA #32705
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
AGENT - GSWTA #32705
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -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) | ||||||||||||||
|
|
||||||||||||||
|
|
||||||||||||||
| ## What is the Datadog Agent | ||||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Feels weird not to end with a question mark:
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. | ||||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||
|
|
||||||||||||||
| ### 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
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||
|
|
||||||||||||||
| 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]. | ||||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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
|
||||||||||||||
|
|
||||||||||||||
| ### 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. | ||||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||
| - 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. | ||||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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
|
||||||||||||||
|
|
||||||||||||||
|
|
||||||||||||||
|
|
||||||||||||||
|
Comment on lines
+47
to
+49
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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 | ||||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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
|
||||||||||||||
|
|
||||||||||||||
| ### 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
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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
|
||||||||||||||
|
|
||||||||||||||
| ### Data collected | ||||||||||||||
|
|
||||||||||||||
| #### Agent metrics | ||||||||||||||
| ## Data collected by the Agent | ||||||||||||||
|
|
||||||||||||||
| 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. | ||||||||||||||
|
|
||||||||||||||
| ### 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. | ||||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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 |
||||||||||||||
|
|
||||||||||||||
| | Metric | Description | | ||||||||||||||
| | -------------------------------- | -------------------------------------------------------------------------------------------------------------------- | | ||||||||||||||
|
|
@@ -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. | ||||||||||||||
|
|
||||||||||||||
|
|
@@ -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 | ||||||||||||||
|
|
||||||||||||||
| 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**. | ||||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. | ||||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||
|
|
||||||||||||||
| #### 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 | ||||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||
| - **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. | ||||||||||||||
|
|
@@ -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. | ||||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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
|
||||||||||||||
|
|
||||||||||||||
| 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. | ||||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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
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. | ||||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||
|
|
||||||||||||||
| 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. | ||||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||
|
|
||||||||||||||
|
|
@@ -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. | ||||||||||||||
|
|
@@ -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/ | ||||||||||||||
There was a problem hiding this comment.
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":