关于本文
我想将放置在AWS EC2(操作系统为Amazon Linux 2)上的气流的日志收集留给datadog,当我根据教程进行设置时,它实际上在一瞬间就结束了,因此请留下深刻的注释。 datadog代理使用参考文章 1之后的docker映像版本。
要进行设置,我在官方文档 2中向最简单的脚本添加了一些环境变量。
我做了
只需运行下面的shell脚本。就是这样
init_dd-agent.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #!/bin/bash -eu DOCKER_CONTENT_TRUST=1 \ docker run -d --name datadog-agent -v /var/run/docker.sock:/var/run/docker.sock:ro \ -v /proc/:/host/proc/:ro \ -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \ -e DD_API_KEY=$MY_DD_API_KEY \ -e DD_TAGS="<your-tag1> <your-tag2>" \ -e DD_LOGS_ENABLED=true \ -e DD_LOGS_CONFIG_CONTAINER_COLLECT_ALL=true \ -e DD_AC_EXCLUDE="name:datadog-agent" \ -e SD_BACKEND="docker" \ -e NON_LOCAL_TRAFFIC=false \ datadog/agent:latest |
如果它正在正常运行,则datadog代理容器应该正在运行,因此请运行
另外,请确保在执行该过程后,服务器指标和日志在datadog上运行。
设定点
就个人而言,除了官方文档外,datadog-agent github存储库中还有各种说明 3,因此,让我们根据要监视的目标找到最佳选择。
-
当然,
DD_API_KEY 是必需的设置。从datadog管理屏幕中获取它,并将其放在环境变量中。 -
通过在以空格分隔的
DD_TAGS 中插入标签,可以改善datadog屏幕上的可搜索性。请选择您喜欢的名称,例如部门名称。 -
通过将
DD_LOGS_ENABLED 设置为true ,日志将在Datadog的Logs下发送。如果未设置,则仅服务器指标将被链接。 -
DD_LOGS_CONFIG_CONTAINER_COLLECT_ALL 通过将其设置为true,可以获取所有容器的执行日志。如果您在具有datadog代理的服务器上运行容器应用程序,并且想要收集其日志,请将其设置为true。 -
通过设置
DD_AC_EXCLUDE ,可以指定不收集日志的容器。在这种情况下,进行设置是因为未收集datadog-agent本身的日志。
参考文章
Datadog使Docker监控愉快吗?
Datadog官方文档?
DataDog / docker-dd-agent?