一、Docker Swarm节点服务器负载设置
5分钟的负载报警设置,由于服务器上不同业务种类主机的cpu核算不一致。一个一个节点比较麻烦,而且后续扩容新主机,又的一个个加上麻烦。由于Docker Swarm 节点名称都是有一个某个前缀开通。某个前缀开头的代表同一类型的主机。同一类型的主机CPU,内存配置都一样。
查阅Prometheus官方文档,精确匹配用= 或 !=,模糊匹配用~ 或 !~。这里我的需求肯定是模糊匹配。.代表一个占位符合。.*代表n个占位符合。这里我以我的主机前缀worker开头。所以5分钟负载警戒值统计如下:
node_load5 * on(instance) group_left(node_name) node_meta{node_name=~"worker-.*"}
设置好Metric,在Graphic的Alert分页,加上5分钟内平均的告警大于阀值即可。当然如果是邮箱告警,需要配置邮箱信息。
二、添加Alert,Metric不能有变量问题。
例如:node_load5 * on(instance) group_left(node_name) node_meta{node_id=~"$node_id"}。统计所有节点负载情况。$node_id可以用".+"替换。