Prometheus动态发现监控targets —— 基于文件的服务发现

为实现Prometheus监控目标配置的动态加载,可通过基于文件的服务发现完成配置

Kafka服务的自动发现配置

Prometheus官方exporter链接:

https://github.com/danielqsj/kafka_exporter

kafka节点上运行dockerkafka-exporter

docker run -d -p 9308:9308 danielqsj/kafka-exporter --kafka.server=kafka:9092

创建targets文件夹:

mkdir -p /etc/promethues/targets/kafka

创建组件targetsyml文件:

vim /etc/promethues/targets/kafka
- targets:
  - "kafka1:9308"
  - "kafka2:9308"
  - "kafka3:9308"

修改/etc/prometheus/prometheus.yml

  ...
  - job_name: 'kafka'
    file_sd_configs:
      - files:
        - targets/kafka/*.yml
        refresh_interval: 5m

MySQL服务的自动发现配置

Prometheus官方exporter链接:

https://github.com/prometheus/mysqld_exporter

mysql节点上运行dockermysql-exporter,并对应双实例

  • 单实例
docker run -d -p 9104:9104  -e DATA_SOURCE_NAME="exporter:pwd@(mysql-1:3306)/"  prom/mysqld-exporter
  • 双实例
docker run -d -p 9105:9104  -e DATA_SOURCE_NAME="exporter:pwd@(mysql-1:13306)/"  prom/mysqld-exporter

创建targets文件夹:

mkdir -p /etc/promethues/targets/mysql

创建组件targetsyml文件:

- targets:
  - "mysql-1:9104"
  - "mysql-1:9105"

修改/etc/prometheus/prometheus.yml

  - job_name: 'mysql'
    file_sd_configs:
      - files:
        - targets/mysql/*.yml
        refresh_interval: 5m

Redis Cluster服务的自动发现配置

Prometheus官方exporter链接:

https://github.com/oliver006/redis_exporter

redis节点上运行dockerredis-exporter

docker run -d --name redis_exporter -p 9121:9121 oliver006/redis_exporter

创建targets文件夹:

mkdir -p /etc/promethues/targets/redis

创建组件targetsyml文件:

- targets:
  - redis://redis-1:16379
  - redis://redis-2:16379
  - redis://redis-3:16379

修改/etc/prometheus/prometheus.yml

  ...
  - job_name: 'redis_exporter_targets'
    file_sd_configs:
      - files:
        - targets/redis/redis.yml
    metrics_path: /scrape
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: redis_exporter:9121

  ## config for scraping the exporter itself
  - job_name: 'redis_exporter'
    static_configs:
      - targets:
        - redis_exporter:9121
上一篇 Prometheus通过Consul动态修改Targets接入
下一篇 Vue proxyTable build打包后访问报404
目录
文章列表
1 Spring Cloud Feign传递map对象和多媒体文件
Spring Cloud Feign传递map对象和多媒体文件
2
Android自动朗读(TTS)的实现
Android自动朗读(TTS)的实现
3
OKHttp3学习之九:文件上传(拦截器获取上传进度)
OKHttp3学习之九:文件上传(拦截器获取上传进度)
4
Flutter带未读消息的底部导航
Flutter带未读消息的底部导航
5
前端 crypto-js 3DES 加解密
前端 crypto-js 3DES 加解密
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。