promethus监控Redis

本文详细介绍如何使用Prometheus Exporter监控Redis实例,包括redis_exporter的安装、配置及与Prometheus的集成步骤,最后介绍如何在Grafana中配置模板以可视化监控数据。

一、概述

Prometheus exporter for Redis metrics.

github地址:

https://github.com/oliver006/redis_exporter

 

线上服务器,自建了6台Redis实例,需要进行监控。

 

二、安装redis_exporter

下载最新版本:

https://github.com/oliver006/redis_exporter/releases/download/v1.3.5/redis_exporter-v1.3.5.linux-amd64.tar.gz

 

登录到redis服务器,解压安装

tar zxvf redis_exporter-v1.3.5.linux-amd64.tar.gz -C /data
mv /data/redis_exporter-v1.3.5.linux-amd64 /data/redis_exporter

 

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

 

运行 redis_exporter 服务

## 无密码
nohup ./redis_exporter redis//192.168.111.11:6379 &
## 有密码
nohup ./redis_exporter  -redis.addr 192.168.111.11:6379  -redis.password 123456 &

 

三、配置 prometheus.yml

添加监控目标

vim /data/prometheus/prometheus.yml

最后一行添加

  - job_name: 'redis_exporter'
    static_configs:
    - targets: ['192.168.10.147:9121']
      labels:
        instance: 生产实例1
    - targets: ['192.168.10.148:9121']
      labels:
        instance: 生产实例2
    - targets: ['192.168.10.149:9121']
      labels:
        instance: 生产实例3
    - targets: ['192.168.10.150:9121']
      labels:
        instance: 生产实例4
    - targets: ['192.168.10.151:9121']
      labels:
        instance: 生产实例5
    - targets: ['192.168.10.152:9121']
      labels:
        instance: 生产实例6

重启prometheus

 

四、配置 Grafana 的模板

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

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

 

注意:Memory Usage这个图表,一直是N/A。是因为redis_memory_max_bytes 获取的值为0

导致 redis_memory_used_bytes / redis_memory_max_bytes 结果不正常。

 

解决办法:将redis_memory_max_bytes 改为服务器的真实内存大小。

所以我更改计算公式

redis_memory_used_bytes{instance=~"$instance"}  / 8193428

 

本文参考链接:

http://www.eryajf.net/2497.html

### 配置 Prometheus 和 Nginx Exporter 实现对 Nginx 的监控 为了实现使用 Prometheus 和 Nginx Exporter 对 Nginx 进行监控,以下是详细的配置方法: #### 1. 确认 Nginx 已启用 `http_stub_status_module` 模块 在开始之前,需验证当前使用的 Nginx 版本是否启用了 `with-http_stub_status_module` 模块。可以通过运行以下命令来检查: ```bash nginx -V 2>&1 | grep -- '--with-http_stub_status_module' ``` 如果输出中包含该选项,则表示模块已启用[^3]。 #### 2. 修改 Nginx 配置文件以暴露状态页面 编辑 Nginx 配置文件(通常位于 `/etc/nginx/nginx.conf` 或站点特定的配置路径),添加如下内容以开启 `stub_status` 页面: ```nginx server { listen 80; server_name localhost; location /nginx_status { stub_status on; # 开启状态报告功能 access_log off; # 关闭访问日志记录 allow 127.0.0.1; # 允许本地访问 deny all; # 拒绝其他 IP 地址访问 } } ``` 保存更改后重新加载 Nginx 配置: ```bash sudo systemctl reload nginx ``` #### 3. 安装并启动 Nginx Prometheus Exporter Nginx Prometheus Exporter 是一个用于将 Nginx 的性能指标转换为 Prometheus 可识别格式的小型工具。以下是几种常见的安装方式: ##### 方法一:使用 nohup 启动 下载对应版本的 exporter 并解压到指定目录,执行以下命令启动服务: ```bash nohup ./nginx-prometheus-exporter -web.listen-address=":9113" \ -nginx.scrape-uri="http://localhost/nginx_status" & ``` ##### 方法二:使用 Docker Run 启动 推荐在容器化环境中使用此方法。拉取官方镜像并运行容器: ```bash docker run -d --name nginx-exporter \ -p 9113:9113 \ quay.io/prometheus/nginx-exporter:v1.4.1 \ -nginx.scrape-uri=http://host.docker.internal/nginx_status ``` ##### 方法三:使用 Docker Compose 启动 创建 `docker-compose.yml` 文件,内容如下: ```yaml version: '3' services: nginx-exporter: image: quay.io/prometheus/nginx-exporter:v1.4.1 ports: - "9113:9113" command: ["-nginx.scrape-uri=http://host.docker.internal/nginx_status"] ``` 然后通过以下命令启动服务: ```bash docker-compose up -d ``` #### 4. 配置 Prometheus 抓取指标 编辑 Prometheus 的配置文件(通常是 `prometheus.yml`),新增一个 job 来抓取 Nginx 出口器的数据: ```yaml scrape_configs: - job_name: 'nginx' static_configs: - targets: ['localhost:9113'] ``` 重启 Prometheus 生效新配置: ```bash sudo systemctl restart prometheus ``` #### 5. 使用 Grafana 展示监控数据 完成上述步骤后,在 Grafana 中导入预定义仪表盘即可直观查看 Nginx 的各项性能指标。Grafana 提供了丰富的可视化组件支持自定义展示效果。 --- ### 示例代码片段 以下是一个完整的脚本样例,演示如何快速部署环境: ```bash #!/bin/bash # 步骤 1: 下载并启动 Nginx Prometheus Exporter wget https://github.com/nginxinc/nginx-prometheus-exporter/releases/download/v1.4.1/nginx-prometheus-exporter-linux-amd64.tar.gz tar xf nginx-prometheus-exporter-linux-amd64.tar.gz cd nginx-prometheus-exporter-v* # 启动 Exporter nohup ./nginx-prometheus-exporter -web.listen-address=":9113" \ -nginx.scrape-uri="http://localhost/nginx_status" & # 步骤 2: 更新 Prometheus 配置 cat <<EOF >> /path/to/prometheus.yml scrape_configs: - job_name: 'nginx' static_configs: - targets: ['localhost:9113'] EOF # 重载 Prometheus sudo systemctl reload prometheus ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值