forked from DataDog/integrations-core
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Introduce new
container
integrations (DataDog#10577)
* Introduce new `container` integrations * Apply suggestions from code review Co-authored-by: Kaylyn <[email protected]> Co-authored-by: Kaylyn <[email protected]>
- Loading branch information
1 parent
f81e4d1
commit 0ffde1c
Showing
4 changed files
with
106 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
# Agent Check: Container | ||
|
||
## Overview | ||
|
||
This check reports a set of metrics about any running containers, regardless of the runtime used to start them. | ||
|
||
**NOTE**: The `container` check is different from the `containerd` check. The `container` checks will report standardized metrics for all containers found on the system, | ||
regardless of the container runtime. | ||
The `containerd` is dedicated to `containerd` runtime and publishes metrics in the `containerd.*` namespace. | ||
|
||
## Setup | ||
|
||
### Installation | ||
|
||
Container is a core Datadog Agent check and is automatically activated if any supported container runtime is detected. | ||
Configuring access to supported container runtimes (Docker, containerd) may be required depending on your environment. | ||
|
||
#### Installation on containers | ||
|
||
The `container` check requires some folders to be mounted to allow for automatic activation. This is handled by our official Helm Chart, the Datadog Operator, and as documented set ups for Kubernetes, Docker, ECS, and ECS Fargate. | ||
|
||
### Configuration | ||
|
||
Currently, the `container` check does not expose any specific configuration settings. To customize common fields or to force the activation of the `container` check, follow these steps: | ||
|
||
1. Create the `container.d/conf.yaml` file in the `conf.d/` folder at the root of your Agent's configuration directory. | ||
|
||
2. [Restart the Agent][2] | ||
|
||
The `container` check can collect metrics about CPU, Memory, Network and Disks IO. | ||
Some metrics may not be available depending on your environment (Linux / Windows, for instance). | ||
|
||
### Validation | ||
|
||
[Run the Agent's `status` subcommand][2] and look for `container` under the **Checks** section. | ||
|
||
## Data Collected | ||
|
||
### Metrics | ||
|
||
See [metadata.csv][3] for a list of metrics provided by this integration. | ||
|
||
## Troubleshooting | ||
|
||
Need help? Contact [Datadog support][1]. | ||
|
||
[1]: https://docs.datadoghq.com/help/ | ||
[2]: https://docs.datadoghq.com/agent/guide/agent-commands/#start-stop-and-restart-the-agent | ||
[3]: https://github.com/DataDog/integrations-core/blob/master/container/metadata.csv |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
[] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
{ | ||
"maintainer": "[email protected]", | ||
"manifest_version": "1.0.0", | ||
"metric_prefix": "container.", | ||
"metric_to_check": "container.uptime", | ||
"name": "container", | ||
"short_description": "Track your container metrics with Datadog", | ||
"guid": "39d40858-0d56-4623-bd1d-864790d0c894", | ||
"support": "core", | ||
"supported_os": [ | ||
"linux", | ||
"windows" | ||
], | ||
"public_title": "Datadog-Container Integration", | ||
"categories": [ | ||
"containers" | ||
], | ||
"type": "check", | ||
"is_public": false, | ||
"display_name": "Container", | ||
"creates_events": true, | ||
"integration_id": "container", | ||
"assets": { | ||
"monitors": {}, | ||
"dashboards": {}, | ||
"service_checks": "assets/service_checks.json", | ||
"logs": {}, | ||
"metrics_metadata": "metadata.csv" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
metric_name,metric_type,interval,unit_name,per_unit_name,description,orientation,integration,short_name | ||
container.uptime,gauge,,second,,The container uptime,0,container,uptime | ||
container.cpu.usage,rate,,nanosecond,,The container total CPU Usage,0,container,cpu_total | ||
container.cpu.user,rate,,nanosecond,,The container userspace CPU usage,0,container,cpu_user | ||
container.cpu.system,rate,,nanosecond,,The container system CPU usage,0,container,cpu_system | ||
container.cpu.throttled,rate,,nanosecond,,The total cpu throttled time,0,container,cpu_throttled | ||
container.cpu.throttled.periods,rate,,,,The number of periods during which the container was throttled,0,container,cpu_throttled_periods | ||
container.cpu.shares,gauge,,,,The number of CPU shares assigned to the container,0,container,cpu_shares | ||
container.cpu.limit,gauge,,nanosecond,,The maximum CPU time available to the container,0,container,cpu_limit | ||
container.memory.usage,gauge,,byte,,The container total memory usage,0,container,mem_usage | ||
container.memory.kernel,gauge,,byte,,The container kernel memory usage,0,container,mem_kernel_usage | ||
container.memory.limit,gauge,,byte,,The container memory limit,0,container,mem_limit | ||
container.memory.soft_limit,gauge,,byte,,The container memory soft limit,0,container,mem_soft_limit | ||
container.memory.rss,gauge,,byte,,The container RSS usage,0,container,mem_rss | ||
container.memory.cache,gauge,,byte,,The container cache usage,0,container,mem_cache | ||
container.memory.swap,gauge,,byte,,The container swap usage,0,container,mem_swap | ||
container.memory.oom_events,gauge,,byte,,The number of OOM events triggered by the container,0,container,mem_oom_events | ||
container.memory.working_set,gauge,,byte,,The container working set usage,0,container,mem_workingset | ||
container.memory.commit,gauge,,byte,,The container commit memory usage,0,container,mem_commit | ||
container.memory.commit.peak,gauge,,byte,,The container peak commit memory usage,0,container,mem_commit_peak | ||
container.io.read,rate,,byte,,The number of bytes read from disks by this container,0,container,io_read | ||
container.io.read.operations,rate,,,,The number of read operations done by this continer,0,container,io_read_ops | ||
container.io.write,rate,,byte,,The number of bytes written to disks by this container,0,container,io_write | ||
container.io.write.operations,rate,,,,The number of write operations done by this continer,0,container,io_write_ops | ||
container.pid.thread_count,rate,,,,The number of threads running inside this container,0,container,thread_count | ||
container.pid.thread_limit,rate,,,,The maximum number of threads for this container,0,container,thread_limit |