如何使用proc_name标记gunicorn指标?

时间:2018-01-26 08:28:44

标签: gunicorn datadog

我将多个应用程序中的gunicorn指标从同一主机推送到datadog但是我找不到使用tag或proc_name对statsd指标进行分组的方法。

Datadog gunicorn整合

https://app.datadoghq.com/account/settings#integrations/gunicorn

使用app:proc_name标记自动更新Datadog代理检查。我可以使用它来分组和选择特定服务的数据。

https://github.com/DataDog/dd-agent/blob/5.2.x/checks.d/gunicorn.py#L53

但是对于statsd指标,我看不到如何分配标记或proc_name。这不是自动完成的,我也没有看到指定标签的方法。

https://github.com/benoitc/gunicorn/blob/19.6.0/gunicorn/instrument/statsd.py#L90

Datadog config:

cat /etc/dd-agent/datadog.conf 

[Main]

dd_url: https://app.datadoghq.com
api_key: <KEY>

bind_host: 0.0.0.0
log_level: INFO
statsd_metric_namespace: my_namespace
tags: role:[service, test]

Gunicorn配置:

# cat /etc/dd-agent/conf.d/gunicorn.yaml

init_config:
instances:
-   proc_name: service
-   proc_name: another_service

关于如何实现这一目标的任何想法?

使用笔记本的例子:

在此示例中,我可以在'from'或'avg by'下拉菜单中选择app:service

Timeseries - `gunicorn.workers` - from `app:service`

对于带有my_namespace前缀的指标,我无法引用相同的应用程序名称。只有主机和环境相关的标签可用。

Timeseries - `my_namespace.gunicorn.workers` - from "Not available"
Timeseries - `my_namespace.gunicorn.requests` - from "Not available"

1 个答案:

答案 0 :(得分:1)

使用Datadog支持进行调查。非常有用,但简短的回答是,目前没有选项可以添加其他标签来指定单个gunicorn.yaml文件中的特定proc_name。

作为启用分组的解决方法,我们为每个应用程序启用了唯一的前缀,但权衡的是指标不再共享相同的命名空间。

我已经在Github项目上提交了一个新功能请求,希望可以考虑。

https://github.com/DataDog/integrations-core/issues/1062