Prometheus 监控之 Redis

2018/09/29 Prometheus

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

1、安装部署

$ cd /usr/local/src
$ wget https://github.com/oliver006/redis_exporter/releases/download/v0.21.2/redis_exporter-v0.21.2.linux-amd64.tar.gz
$ mkdir /usr/local/redis_exporter
$ tar xf redis_exporter-v0.21.2.linux-amd64.tar.gz -C /usr/local/redis_exporter/

1.1、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

1.2、运行 redis_exporter 服务

定义一个名为 redis-host.conf 的配置文件指明我们要监控的 redis 节点地址和端口,而后在运行 redis_exporter 时,使用 –redis.file 指明从该文件中读取配置。

$ vim /usr/local/redis_exporter/redis-host.conf
# 配置文件中声明了本地 6381 的 Redis 实例
redis://localhost:6381

创建 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.file=/usr/local/redis_exporter/redis-host.conf
Restart=on-failure
[Install]
WantedBy=multi-user.target

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

$ groupadd prometheus
$ useradd -g prometheus -m -d /var/lib/prometheus -s /sbin/nologin prometheus

启动服务:

$ systemctl daemon-reload
$ systemctl start redis_exporter
$ systemctl status redis_exporter
$ ss -tnl|grep 9121

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

$ vim /usr/local/prometheus/prometheus.yml
  - job_name: 'redis'
    scrape_interval: 10s
    static_configs:
      - targets:
        - '10.100.4.213:9121'
        
$ systemctl restart prometheus

1.4、配置 Grafana 的模板

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

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

Search

    Table of Contents