如何创建查询以监控一天 docker 容器 运行 的分钟数
how to create query to monitoring how many minutes docker containers ran for a day
我正在尝试监控 docker 个容器,但在查询监控容器 运行 一天中有多少分钟时遇到问题
count(rate(container_last_seen{id=~"/docker/.*",instance=~"$node"}[1d]))
这是我的查询,显示一天有多少容器 运行,但我不知道监控一天有多少分钟容器 运行
如果您知道 container_last_seen
指标(称为 scrape_interval
并且通常在 Prometheus 配置文件中配置)的数据点之间的间隔,则可以使用以下查询来计算持续时间以秒为单位,当容器在最后一天 运行 时:
count_over_time(
(changes(container_last_seen{id=~"/docker/.*",instance=~"$node"}[<3*scrape_interval>])>0)
[1d:<3*scrape_interval>]
)*<3*scrape_interval>
例如,如果 scrape_interval
等于 10s
,则查询将如下所示:
count_over_time(
(changes(container_last_seen{id=~"/docker/.*",instance=~"$node"}[30s])>0)
[1d:30s]
)*30
此查询使用 PromQL subqueries 来计算 30s
个间隔,当 container_last_seen
时间序列至少有一个变化时。
我正在尝试监控 docker 个容器,但在查询监控容器 运行 一天中有多少分钟时遇到问题
count(rate(container_last_seen{id=~"/docker/.*",instance=~"$node"}[1d]))
这是我的查询,显示一天有多少容器 运行,但我不知道监控一天有多少分钟容器 运行
如果您知道 container_last_seen
指标(称为 scrape_interval
并且通常在 Prometheus 配置文件中配置)的数据点之间的间隔,则可以使用以下查询来计算持续时间以秒为单位,当容器在最后一天 运行 时:
count_over_time(
(changes(container_last_seen{id=~"/docker/.*",instance=~"$node"}[<3*scrape_interval>])>0)
[1d:<3*scrape_interval>]
)*<3*scrape_interval>
例如,如果 scrape_interval
等于 10s
,则查询将如下所示:
count_over_time(
(changes(container_last_seen{id=~"/docker/.*",instance=~"$node"}[30s])>0)
[1d:30s]
)*30
此查询使用 PromQL subqueries 来计算 30s
个间隔,当 container_last_seen
时间序列至少有一个变化时。