zoukankan      html  css  js  c++  java
  • prometheus监控redis,redis-cluster

    Prometheus监控redis使用的是redis_exporter, 作者GitHub: https://github.com/oliver006/redis_exporter

    需要说明的是: redis_exporter 对于redis集群的监控表现不是太好, 作者建议为每个redis 实例启动一个 redis_exporter, 如果一个服务器节点启动了多个redis进程, 就需要启动多个 redis_exporter

    如果采用一个redis_exporter 采集多个 redis node 会导致其中一个 redis node 连不上.

    1. redis_exporter安装配置

    # 下载redis_exporter
    wget https://github.com/oliver006/redis_exporter/releases/download/v1.3.4/redis_exporter-v1.3.4.linux-amd64.tar.gz
    # 解压
    tar xzf redis_exporter-v1.3.4.linux-amd64.tar.gz 
    # 删除下载的文件
    rm -f redis_exporter-v1.3.4.linux-amd64.tar.gz 
    # 安装redis_exporter
    mv redis_exporter-v1.3.4.linux-amd64 /usr/local/
    ln -sv /usr/local/redis_exporter-v1.3.4.linux-amd64 /usr/local/redis_exporter

    2. redis_exporter启动

    # 直接启动。
    ## 无密码
    ./redis_exporter redis//192.168.11.110:6379 &
    ## 有密码
    redis_exporter  -redis.addr 192.168.11.111:6379  -redis.password 123456

    启动参数说明:

    • -redis.addr:指明 Redis 节点的地址,默认为 redis://localhost:6379(如果有多个redis实例, redis_exporter作者建议启动多个redis_exporter进程来进行监控数据获取)
    • -redis.password:验证 Redis 时使用的密码;
    • -redis.file:包含一个或多个redis 节点的文件路径,每行一个节点,此选项与 -redis.addr 互斥。
    • -web.listen-address:监听的地址和端口,默认为 0.0.0.0:9121

    3. 配置redis_exporter为系统服务方式启动

    # 添加redis_exporter启动用户
    groupadd prometheus
    useradd -g prometheus -m -d /var/lib/prometheus -s /sbin/nologin prometheus
    # 创建redis_exporter系统服务配置文件及权限调整
    touch /usr/lib/systemd/system/redis_exporter.service
    chown prometheus:prometheus /usr/lib/systemd/system/redis_exporter.service
    chown -R prometheus:prometheus /usr/local/redis_exporter*
    vim /usr/lib/systemd/system/redis_exporter.service 
    
    # 将如下内容写入到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.11.110:6379 -redis.password 0NZcyqRqLUteci7D
    Restart=on-failure
    [Install]
    WantedBy=multi-user.target

    然后执行如下命令:

    # 重载配置
    systemctl daemon-reload
    # 设置开机启动
    systemctl enable redis_exporter
    启动redis_exporter
    systemctl start redis_exporter
    # 查看redis_exporter启动状态
    systemctl status redis_exporter
    ss -tnl|grep 9121
    netstat -tlnp |grep redis_exporte
    tcp6       0      0 :::9121                 :::*                    LISTEN      22566/redis_exporte 

    至此, redis服务器端的redis_exporter已安装配置完成, 接下来配置Prometheus server, 将redis_exporter采集到的数据获取过来, 然后配置到Grafana中展示

    4. 配置Prometheus server

    4.1 加入redis_exporter配置

    vim /usr/local/prometheus/prometheus.yml

    将如下内容加入到Prometheus配置文件中

      - job_name: 'PRO_REDIS_CULSTER'                                                                                        
        static_configs:                                                                                                      
          - targets:                                                                                                         
            - redis://192.168.11.110:6379                                                                                      
        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.11.110:9121                                                                                   
      ## config for scraping the exporter itself                                                                             
      - job_name: 'redis_exporter'                                                                                           
        static_configs:                                                                                                      
          - targets:                                                                                                         
            - 192.168.11.110:9121

    或者添加如下配置到Prometheus配置文件中

      - job_name: 'redis'
        scrape_interval: 10s
        static_configs:
          - targets:
            - ['192.168.11.110:9121']

    4.2 重新加载Prometheus server配置

    curl -X POST http://10.86.78.175:9090/-/reload

    5. 配置Grafana展示

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

     根据文章https://www.cnblogs.com/miaocbin/p/12009974.html中描述的方法, 导入redis看板.

  • 相关阅读:
    js 性能调试
    js 面向对象编程
    js 零碎
    如果遇到二维数组 想取某个字段的和
    昨天写支付接口时遇到支付接口返回数据接收地址,session数据丢失(或者说失效)的问题
    mysql报错: 1548-Cannot load from mysql.proc. The table is probably corrupted 解决办法
    php 时间倒计时代码 个人写法 有好的想法的欢迎贴出来分享
    linux 环境下安装mysql5.6
    关于数据库连接不上 出现错误的问题
    推荐一个不错的css3网站 可以直接调用的
  • 原文地址:https://www.cnblogs.com/miaocbin/p/12028105.html
Copyright © 2011-2022 走看看