Grafana监控 Redis Cluster

Grafana监控 Redis Cluster

主要是使用grafana来实现监控,grafana可以对接多种数据源,在官网中可以找到Redis数据源,需要安装redis data source插件。当然也可以利用Prometheus来做数据源,下面分别记录一下这两种数据源的安装配置过程。

环境:

redis cluster: localhost:9001 - localhost:9006
grafana: localhost:3000
prometheus: localhost:9090
redis_exporter: localhost:9121

Redis data source

grafana的redis 数据源,官方安装手册Redis

安装可以使用grafana-cli,也可以离线下载,解压到/var/lib/grafana/plugins文件夹内。

grafana-cli plugins install redis-datasource

重启grafana之后,添加数据源,搜索Redis

Grafana监控 Redis Cluster_第1张图片

之后选择Redis的模式,我这里选择集群Grafana监控 Redis Cluster_第2张图片

之后导入自带的看板

Grafana监控 Redis Cluster_第3张图片

Redis效果如下

Grafana监控 Redis Cluster_第4张图片
Redis streaming效果如下Grafana监控 Redis Cluster_第5张图片

后续也可以用redis数据源自建看板,监控指定业务数据。

Prometheus + redis exporter

Prometheus支持很多三方的exporter来采集数据,Prometheus Redis Metrics Exporter就是一个比较流行的用来采集redis的工具。

可以使用比较方便的docker镜像启动,如何使用介绍的都比较全面。这里只需要启动一个redis exporter即可,如果要监控多个集群,且redis密码不同才需要部署多个exporter。

docker pull oliver006/redis_exporter

docker run -d --name redis_exporter -p 9121:9121 oliver006/redis_exporter --redis.addr	=redis://localhost:6001,redis://localhost:6002,redis://localhost:6003 --redis.password=123456

启动后可以打开 http://localhost:9121/metrics 可以看到数据。

Grafana监控 Redis Cluster_第6张图片

也可以指定redis地址http://localhost:9121/scrape?target=redis%3A%2F%2Flocalhost%3A6003来查看其他机器上的redis情况

之后,需要编辑prometheus.yml 来配置采集地址。

# redis集群监控
- job_name: 'redis_cluster'
    static_configs:
      - targets:
        - redis://localhost:6001
        - redis://localhost:6002
        - redis://localhost:6003
        - redis://localhost:6004
        - redis://localhost:6005
        - redis://localhost:6006
    metrics_path: /scrape
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: localhost:9121

注意:好多帖子还配置了redis_exporter监控,这个不用配,打开是第一个redis的节点,上面已经包含了。好多帖子也启动了多个exporter,每个节点一个,也没必要。

  # exporter监控 可以不用配,其实它的数据是上面其中一个    
  - job_name: 'redis_exporter'
    scrape_interval: 5s
    static_configs:
    - targets:
      - localhost:9121

这样配置好之后,就会从这样的地址去获取数据了 http://localhost:9121/scrape?target=redis%3A%2F%2Flocalhost%3A6003

之后重新加载Prometheus,可以重启也可以用热加载。

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

然后看一下Prometheus Targets中是否已经正常启动。

Grafana监控 Redis Cluster_第7张图片

最后就是到Grafana Dashboards搜索Redis,选配合适的看板。

Grafana监控 Redis Cluster_第8张图片

redis_exporter作者使用763-redis-dashboard-for-prometheus-redis-exporter-1-x

Grafana监控 Redis Cluster_第9张图片Grafana监控 Redis Cluster_第10张图片

注意:Memory Usage这个图表,一直是N/A。是因为redis_memory_max_bytes 获取的值为0
导致 redis_memory_used_bytes / redis_memory_max_bytes 结果不正常。

可以手动将redis_memory_max_bytes改为服务器内存大小。

sum(100 * (redis_memory_used_bytes{instance=~"$instance"}  / redis_memory_max_bytes{instance=~"$instance"}))

# 假如服务器内存为 1GB  
sum(100 * (redis_memory_used_bytes{instance=~"$instance"}  / 1073741824))

你可能感兴趣的:(Redis,Grafana,Prometheus,grafana,redis,bootstrap)