我想在Datadog中创建一个图表来显示每个用户的iddle连接。
以下示例:http://www.miketheman.net/tag/postgres/我将postgres.yaml配置更改为:
init_config:
instances:
- host: 127.0.0.1
port: 5432
username: datadog
password: '**************'
tags:
- environment:qa
- role:db
custom_metrics:
- # Postgres Connection state
descriptors:
- [datname, database]
- [usename, user]
- [state, state]
metrics:
COUNT(state): [postgresql.connection_state, GAUGE]
query: >
SELECT datname, usename, state, %s FROM pg_stat_activity
GROUP BY datname, usename, state HAVING COUNT(state) > 0;
relation: false
我可以在Datadog中看到度量,但我只能看到应该出现的一行(我的PostgreSQL中有几个数据库吗)。
Here is the datadog connection graph
我是不是缺了一步?postgres.yaml是否缺少任何配置?
在psql中运行该查询时,我得到以下结果(修改名称而不是数据):
postgres=# SELECT datname, usename, state, COUNT(state) FROM pg_stat_activity GROUP BY datname, usename, state HAVING COUNT(state) > 0;
datname | usename | state | count
---------------------+-------------+---------------------+-------
compan_strawberr_qa | compan | idle in transaction | 1
compan_qa | compan | idle | 130
pineappplee_qa | compan | idle | 10
compan_strawberr_qa | compan | idle | 29
compan_qa | watermel | active | 1
pineappplee_qa | pineappplee | idle | 10
pear_qa | pear | idle | 6
postgres | postgres | active | 1
postgres | datadog | idle | 1
apple_qa | apple_qa | idle | 1
bblluebberrriiess | compan | idle | 3
compan_ser_qa | ser_qa | idle | 4
compan_service_qa | compan | idle | 26
(13 rows)
最佳答案
我找到了解决方案:用户datadog
无权读取与他无关的连接。所以只是一排而已。
我授予该用户阅读pg_stat_activity
关于postgresql - Datadog:PostgreSQL custom_metrics返回一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51323878/