zoukankan      html  css  js  c++  java
  • 监控Redis集群

    prometheus监控redis需要用到redis_exporter。

    redis_exporter 项目地址:https://github.com/oliver006/redis_exporter

    1、安装部署

    这里则部署在了Prometheus Server之上。

    cd /usr/local/src
    wget https://github.com/oliver006/redis_exporter/releases/download/v1.6.1/redis_exporter-v1.6.1.linux-amd64.tar.gz
    tar -zxv -f redis_exporter-v1.6.1.linux-amd64.tar.gz -C /usr/local/
    cd /usr/local/
    mv redis_exporter-v1.6.1.linux-arm64/ redis_exporter
    

    2、redis_exporter 用法

    解压后只有一个二进制程序就叫 redis_exporter 通过 -h 可以获取到帮助信息,下面列出一些常用的选项:

    -redis.addr:指明一个或多个 Redis 节点的地址,多个节点使用逗号分隔,默认为 redis://localhost:6379
    -redis.password:验证 Redis 时使用的密码;
    -redis.file:包含一个或多个redis 节点的文件路径,每行一个节点,此选项与 -redis.addr 互斥。
    -web.listen-address:监听的地址和端口,默认为 0.0.0.0:9121
    

    3,运行 redis_exporter 服务

    创建 redis_exporter.service 启动脚本

    vim /usr/lib/systemd/system/redis_exporter.service 
    
    [Unit]
    Description=redis_exporter
    Documentation=https://github.com/oliver006/redis_exporter
    After=network.target
    
    [Service]
    Type=simple
    User=prometheus
    ExecStart=/usr/local/redis_exporter/redis_exporter -redis.addr 192.168.0.254:6371 
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    

    注意:关于redis的相关信息,则在ExecStart配置项当中进行定义!
    1.若是需要修改默认的监听端口,则修改成:ExecStart=/usr/local/redis_exporter/redis_exporter -redis.addr 192.168.0.254:6371 -web.listen-address 0.0.0.0:9122
    2.若是redis集群有密码,则修改成:ExecStart=/usr/local/redis_exporter/redis_exporter -redis.addr 192.168.0.254:6371 -redis.password -web.listen-address 0.0.0.0:9122

    若是修改默认监听端口的话,则在prometheus.yml文件中也需要做相应的修改

    之所以要在启动命令中配置一个:-redis.addr 192.168.0.254:6371 也就是集群中的随意一个地址,是因为只要能连接到一个集群的一个节点,自然就能查询其他节点的指标了。否则不配置这个的话,日志中则会报错:level=error msg="Couldn't connect to redis instance"

    redis_exporter 使用 prometheus 用户运行,所以需要创建该用户

    groupadd prometheus
    useradd -g prometheus -m -d /var/lib/prometheus -s /sbin/nologin prometheus
    
    # 若有用户,则直接执行这个
    chown -R prometheus.prometheus /usr/local/redis_exporter
    

    启动服务:

    systemctl daemon-reload
    systemctl start redis_exporter
    systemctl status redis_exporter
    systemctl enable redis_exporter
    ss -tulnp | grep 9121
    

    4、配置 prometheus.yml 添加监控目标

    vim /usr/local/prometheus/prometheus.yml
      - job_name: 'redis_cluster_targets'
        static_configs:
          - targets:
            - redis://192.168.0.254:6371
            - redis://192.168.0.254:6372
            - redis://192.168.0.254:6373
            - redis://192.168.0.254:6374
            - redis://192.168.0.254:6375
            - redis://192.168.0.254:6376
        metrics_path: /scrape
        relabel_configs:
          - source_labels: [__address__]
            target_label: __param_target
          - source_labels: [__param_target]
            target_label: instance
          - target_label: __address__
            replacement: 192.168.0.254:9121
      ## config for scraping the exporter itself
      - job_name: 'redis_cluster'
        static_configs:
          - targets:
            - 192.168.0.254:9121
    

    重启服务。

    systemctl restart prometheus
    

    效果图:

    5,配置 Grafana 的模板

    redis_exporter 在 Grafana 上为我们提供好了 Dashboard 模板:https://grafana.com/dashboards/763

    下载后在 Grafana 中导入 json 模板就可以看到官方这样的示例截图啦:

  • 相关阅读:
    According to TLD or attribute directive in tag file, attribute end does not accept any expressions
    Several ports (8080, 8009) required by Tomcat v6.0 Server at localhost are already in use.
    sql注入漏洞
    Servlet—简单的管理系统
    ServletContext与网站计数器
    VS2010+ICE3.5运行官方demo报错----std::bad_alloc
    java 使用相对路径读取文件
    shell编程 if 注意事项
    Ubuntu12.04下eclipse提示框黑色背景色的修改方法
    解决Ubuntu环境变量错误导致无法正常登录
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/13590440.html
Copyright © 2011-2022 走看看