• prometheus监控redis集群


    【1】利用 redis_exporter 监控 redis 集群

    (1.0)redis_exporter

    以前都是用傻办法,一个实例一个采集器;

    redis_exporter 支持的参数很多,对我们有用的就几个。
    
    ./redis_exporter --help
    Usage of ./redis_exporter:
        -redis.addr string
            Address of the Redis instance to scrape (default "redis://localhost:6379")
        -redis.password string
            Password of the Redis instance to scrape
        -web.listen-address string
            Address to listen on for web interface and telemetry. (default ":9121")

    本来想采取最low 的方法,一个实例启一个 redis_exporter。这样子的话,集群那里很多语句都用不了,比如 cluster_slot_fail。放弃该方法

    nohup ./redis_exporter -redis.addr 172.18.11.139:7000  -redis.password xxxxxx  -web.listen-address 172.18.11.139:9121 > /dev/null 2>&1 &
    nohup ./redis_exporter -redis.addr 172.18.11.139:7001  -redis.password xxxxxx  -web.listen-address 172.18.11.139:9122 > /dev/null 2>&1 &
    nohup ./redis_exporter -redis.addr 172.18.11.140:7002  -redis.password xxxxxx  -web.listen-address 172.18.11.139:9123 > /dev/null 2>&1 &
    nohup ./redis_exporter -redis.addr 172.18.11.140:7003  -redis.password xxxxxx  -web.listen-address 172.18.11.139:9124 > /dev/null 2>&1 &
    nohup ./redis_exporter -redis.addr 172.18.11.141:7004  -redis.password xxxxxx  -web.listen-address 172.18.11.139:9125 > /dev/null 2>&1 &
    nohup ./redis_exporter -redis.addr 172.18.11.141:7005  -redis.password xxxxxx  -web.listen-address 172.18.11.139:9126 > /dev/null 2>&1 &

    (1.1)redis集群情况

    #redis集群IP和端口,集群配置了密码

    136.xxx.102.112:7000
    136.xxx.102.112:7001
    136.xxx.102.112:7002
    136.xxx.102.113:7000
    136.xxx.102.113:7001
    136.xxx.102.113:7002

    (1.2)redis_exporter部署,配置prometheus

    #将文件解压并修改文件夹名称,插件不一定安装redis端

    tar -zxvf redis_exporter-v1.3.5.linux-amd64.tar.gz
    mv redis_exporter-v1.3.5.linux-amd64 redis_exporter

    修改prometheus配置,注意文件格式,如果文件有问题会导致prometheus无法启动

    vi prometheus.yml

    #将文件解压并修改文件夹名称,插件不一定安装redis端
    tar -zxvf redis_exporter-v1.3.5.linux-amd64.tar.gz
    mv redis_exporter-v1.3.5.linux-amd64 redis_exporter
    #修改prometheus配置,注意文件格式,如果文件有问题会导致prometheus无法启动
    vi prometheus.yml
      - job_name: 'redis_exporter_targets'
        static_configs:
          - targets:
            - redis://136.127.102.112:7000
            - redis://136.127.102.112:7001
            - redis://136.127.102.112:7002
            - redis://136.127.102.113:7000
            - redis://136.127.102.113:7001
            - redis://136.127.102.113:7002
        params:
          check-keys: ["metrics:*"]
        metrics_path: /scrape
        relabel_configs:
          - source_labels: [__address__]
            target_label: __param_target
          - source_labels: [__param_target]
            target_label: instance
          - target_label: __address__
            replacement: 136.127.102.112:9122
      - job_name: 'redis_exporter'
        static_configs:
          - targets:
            - 136.127.102.112:9122

    相关参考:

    其实官方文档已经写了。
    
    scrape_configs:
      ## config for the multiple Redis targets that the exporter will scrape
      - job_name: 'redis_exporter_targets'
        static_configs:
          - targets:
            - redis://first-redis-host:6379
            - redis://second-redis-host:6379
            - redis://second-redis-host:6380
            - redis://second-redis-host:6381
        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-HOSTNAME>>:9121
      
      ## config for scraping the exporter itself
      - job_name: 'redis_exporter'
        static_configs:
          - targets:
            - <<REDIS-EXPORTER-HOSTNAME>>:9121

    (1.3)采集器(探针)启动

    #启动探针,因为是集群只需要写清楚密码即可,默认监听端口为9121,由于有密码需要将端口设置为9122
    nohup ./redis_exporter -redis.password passwd123 -web.listen-address 0.0.0.0:9122 &
    #prometheus需要重启 或者 reload 重载

    (1.4)效果

      

    【参考文档】

    转自:https://blog.csdn.net/weixin_43135696/article/details/122258105

  • 相关阅读:
    try,except,finally的用法
    python实现蓝牙通信
    分布式全局ID的几种生成方案
    为什么要两次调用encodeURI来解决乱码问题
    jenkins配置到gitlab拉代码
    查看IOS-app证书到期时间
    使用SSH方式实现Git远程连接GitHub/gitlab
    Git 分支
    jenkins构建后操作archive the artfacts的用法
    MAC 安装jenkins
  • 原文地址:https://www.cnblogs.com/gered/p/16497441.html
Copyright © 2020-2023  润新知