首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Node_exporter node_systemd_unit_state

Node_exporter node_systemd_unit_state
EN

Stack Overflow用户
提问于 2022-03-25 09:22:06
回答 1查看 1.1K关注 0票数 2

我希望通过node_exporter监视特定的服务,而不需要用--collector.systemd.unit-include="(foo|bar)\\.service"在node_exporter服务中指向它们。

如何在prometheus配置中定义这一点?

我在试着

代码语言:javascript
运行
复制
- name: Services monitoring
rules:
- alert: Service is down
 expr: node_systemd_unit_state{name="ubrokerd|besclient|boksm|collectd|crond|ldapauth|network|NetworkManager|sshd|tomcat|ubrokerd|nginx|node_exporter\\.service", state="inactive"} == 1
 for: 0m
 labels:
   severity: warning
 annotations:
   summary: service is down on host {{ $labels.instance }}
   description: "Service is down"

但这似乎不起作用--如果任何服务出现故障,警报就不会启动。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-25 10:15:56

您的expr有两个问题

使用文字匹配运算符( (=~).

  • You )代替regex匹配(regex

  • )需要将列表放在括号内,否则\\.service只适用于最后一项。

试试这个:

代码语言:javascript
运行
复制
 expr: node_systemd_unit_state{name=~"(ubrokerd|besclient|boksm|collectd|crond|ldapauth|network|NetworkManager|sshd|tomcat|ubrokerd|nginx|node_exporter)\\.service", state="inactive"} == 1
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71614631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档