我希望了解是否有人可以指导我如何在我的 AWS EKS 集群上安装 Datadog 代理作为 pod。我可以使用 kubectl 命令完成我的要求。
但是在这里,我正在寻找一种可能的解决方案来从 Terraform 脚本中执行相同的工作,或者是否有人可以建议任何其他自动化方式来在我的 eks 集群上部署 Datadog 代理。
我希望了解是否有人可以指导我如何在我的 AWS EKS 集群上安装 Datadog 代理作为 pod。我可以使用 kubectl 命令完成我的要求。
但是在这里,我正在寻找一种可能的解决方案来从 Terraform 脚本中执行相同的工作,或者是否有人可以建议任何其他自动化方式来在我的 eks 集群上部署 Datadog 代理。
我的 Debian 8 服务器上安装了 datadog-agent。它已经配置好并且可以很好地报告有关 postgres、nginx、系统等的指标。
我想监控我的 gunicorn 守护进程(我在这台服务器上有 2 个 Django 网站)。据我了解,datadog-agent 已经集成了一个 statsd 服务器,所以我不必安装一个:
# ps ax | grep datadog
18816 ? Ss 0:00 /opt/datadog-agent/embedded/bin/python /opt/datadog-agent/bin/supervisord -c /etc/dd-agent/supervisor.conf
18822 ? Sl 0:01 /opt/datadog-agent/embedded/bin/python /opt/datadog-agent/agent/dogstatsd.py --use-local-forwarder
18824 ? S 0:01 /opt/datadog-agent/embedded/bin/python /opt/datadog-agent/agent/ddagent.py
18825 ? S 0:01 /opt/datadog-agent/embedded/bin/python /opt/datadog-agent/agent/agent.py foreground --use-local-forwarder
我认为“dogstatsd.py”是 statsd 服务器,但也许我错了?
然后,我修改了我的 gunicorn 启动脚本以集成--name
选项来为我的进程设置名称并--statsd-host
指示将指标发送到何处。
# ps ax | grep gunicorn
18588 ? Ss 0:00 /var/projects/my_project/venv/bin/python3 /var/projects/my_project/venv/bin/gunicorn --name my_project --statsd-host=localhost:8125 --workers 2 --bind unix:/var/tmp/my_project.sock core.wsgi:application
18630 ? S 0:00 /var/projects/my_project/venv/bin/python3 /var/projects/my_project/venv/bin/gunicorn --name my_project --statsd-host=localhost:8125 --workers 2 --bind unix:/var/tmp/my_project.sock core.wsgi:application
18632 ? S 0:00 /var/projects/my_project/venv/bin/python3 /var/projects/my_project/venv/bin/gunicorn --name my_project --statsd-host=localhost:8125 --workers 2 --bind unix:/var/tmp/my_project.sock core.wsgi:application
现在我从 /etc/dd-agent/conf.d/ 中的示例创建 gunicorn.yaml 如下
# NB: This check requires the python environment on which gunicorn runs to
# have the `setproctitle` module installed (https://pypi.python.org/pypi/setproctitle/)
init_config:
instances:
# The name of the gunicorn process. For the following gunicorn server ...
#
# gunicorn --name my_web_app my_web_app_config.ini
#
# ... we'd use the name `my_web_app`.
#
- proc_name: my_project
重新启动代理后,我等待几秒钟并检查其状态:
# sudo service datadog-agent info
# [...]
Checks
======
gunicorn
--------
- instance #0 [ERROR]: 'Found no master process with name: gunicorn: master [my_project]'
- Collected 0 metrics, 0 events & 1 service check
- Dependencies:
- psutil: 4.4.1
我找不到我无法配置它的地方。有人可以帮助我吗?
我的环境是 4 台运行 Nginx 的 Ubuntu 14.04 服务器,位于 F5 负载均衡器后面。他们正在向 Datadog 发送指标,并通过 SNMP 从 F5 中提取指标以发送到 Datadog。
开发团队需要能够监控 HTTP 代码。我无法从服务器端的 Nginx 中提取它们,因为只有 Nginx Plus 才有可能。我曾考虑通过阅读访问日志和其他内容来构建一些内部解决方案,但我真的不想走那条路。所以接下来我看了看 F5,但都无法抓住它们。
此 OID 返回值 0:sysStatHttpRequests::1.3.6.1.4.1.3375.2.1.1.2.1.56
我知道这是不正确的,因为我每秒向 VIP 发送大约 1000 个 HTTP 请求。以下还返回值 0:
sysFastHttpStatResp2xxCnt 1.3.6.1.4.1.3375.2.1.1.2.14.16
sysFastHttpStatResp3xxCnt 1.3.6.1.4.1.3375.2.1.1.2.14.17
sysFastHttpStatResp4xxCnt 1.3.6.1.4.1.3375.2.1.1.2.14.18
sysFastHttpStatResp5xxCnt 1.3.6.1.4.1.3375.2.1.1.2.14.19
SNMP 正在工作,因为我能够提取其他指标,例如吞吐量、连接等……有人对如何在此环境中提取 HTTP 代码指标有任何想法吗?或者也许我完全错过了我需要在 F5 上设置的东西才能做到这一点。
编辑:解决了我自己的问题。必须在 F5 上配置 AVR,然后将 HTTP 配置文件应用到虚拟服务器。
datadog插件已安装在 Jenkins 上。安装后,必须在 Jenkins 中输入 Datadog API 密钥和主机名。两项测试均已通过。但是,当向 Datadog 添加新检查时,查询詹金斯检查不会返回任何詹金斯检查。
期望的情况
目的是使用 Datadog 监控 Jenkins 构建:
尝试