Prometheus监控之Consul监控 [consul-exporter]

1. 简介

Consul有多个组件,但总体而言,它是基础架构中的一款服务发现和配置的工具。 它提供了几个关键功能:
服务发现:Consul client 可以提供服务,例如api或mysql,也可以使用Consul client来发现指定服务的提供者。 使用DNS或HTTP,应用程序可以轻松找到他们所依赖的服务。
健康检查:Consul client 可以提供任何数量的健康检查,或者与给定的服务(“Web服务器是否返回200 OK”),或与本地节点(“内存利用率是否低于90%”)相关联。 可以使用此信息来监控集群运行状况,服务发现组件使用此信息将流量从有问题的主机中移除出去。
KV Store:应用程序可以使用Consul的分层键/值存储,包括动态配置,功能标记,协调,leader选举等等。 简单的HTTP API使其易于使用。
多数据中心:Consul支持多个数据中心。 这意味着Consul的用户不必担心构建额外的抽象层以扩展到多个区域

2. 部署
docker run -tid --restart=always  -p 9107:9107 --name consul-expoter prom/consul-exporter:latest --consul.server=172.19.209.51:8500

动日志如下:

level=info caller=consul_exporter.go:486 msg=“Starting consul_exporter” version=“(version=0.7.1, branch=HEAD, revision=ae46e2ea980ecf1c961bf332b71160be707b5e98)”
zevel=info caller=consul_exporter.go:487 build_context=“(go=go1.14.6, user=root@fdd571c00696, date=20200721-15:34:41)”
level=info caller=consul_exporter.go:538 msg=“Listening on address” address=:9107

默认监听9107端口,访问http://localhost:9107即可看到:
在这里插入图片描述

3.Prometheus抓取metrics
  - job_name: consul-exporter
    static_configs:
      - targets: ['172.19.209.51:9107']
4.导入Dashboard

推荐:Consul Exporter Dashboard

ID是12049

显示服务总数,Consul Peer数量和Leader数量、不健康的Consul服务、Consul服务与服务检测信息。

在这里插入图片描述

5.配置告警规则

Consul是否Down
配置文件consul_exporter_alerting_rules.yml如下:

groups:
- name: consul
  rules:
  - alert: ConsulDown
    annotations:
      description: |-
        Consul instance is down
          VALUE = {{ $value }}
          LABELS: {{ $labels }}
      summary: Consul down (instance {{ $labels.instance }})
    expr: consul_up == 0
    for: 5m
    labels:
      severity: critical

prometheus.yml配置如下:

rule_files:

  • “consul_exporter_alerting_rules.yml”

停掉Consul,可以看到如下告警:

在这里插入图片描述

启动Consul,告警消失。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值