redis-exporter监控

article/2025/8/15 1:05:36

文章目录

        • 启动redis-export服务
        • 启动prometheus服务
        • 启动granfana服务
        • 测试报警

使用redis-exporter监控redis服务,并且使用prometheus收集数据,使用grafana展示数据。
监控报警利用alertmanager插件,报警信息发送钉钉消息。所使用的安装包可以 点击下载,提取码为: wdy3
下面简单说明监控操作。

启动redis-export服务

因为安装包是二进制形式,因此可以直接进行启动,启动指定如下两个参数:

/usr/local/redis_exporter/redis_exporter -redis.addr 10.9.68.46:6381 -web.listen-address :3389
-redis.addr: 指定redis服务的ip地址和端口号
-web.listen-address: 指定当前redis-exporter启动使用的端口信息
-redis.password: redis服务若是有密码的话,可用此参数指定redis的密码

启动prometheus服务

上面的安装包中prometheus是二进制形式,先解压,然后可以直接执行启动:
配置prometheus自动发现服务,这里配置prometheus自动发现targets目录下面的json文件,设置如下:

# my global config
global:scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.# scrape_timeout is set to the global default (10s).# Alertmanager configuration  # 配置报警插件端口,
alerting:alertmanagers:- static_configs:- targets:- 10.9.68.202:9093# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:- "/usr/local/prometheus/rules/*.rule"# - "first_rules.yml"# - "second_rules.yml"# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: 'file_ds'file_sd_configs:- files:- targets/*.jsonrefresh_interval: 1m# metrics_path defaults to '/metrics'# scheme defaults to 'http'.# static_configs:# - targets: ['localhost:9090']

上面定义了一个任务名字file_ds,自动发现targets目录下面的json文件,自动发现的间隔为1分钟;在rules目录下面定义相应的监控信息,会在后面说明;在targets目录下面json文件格式如下:

cat ceshi.json  
[{"labels": {"instance": "股票k线","addr": "10.9.68.46:6381"},"targets": ["10.9.68.202:3389"]},{"labels": {"instance": "股票k线","addr": "10.9.68.41:6381"},"targets": ["10.9.68.202:6382"]}
]

配置文件说明: instance和addr的参数会在grafana的界面上显示用于表示不同的redis服务,targets表示监听addr指向的redis服务的redis-exporter服务ip和端口信息,然后启动prometheus服务。

cd /usr/local/prometheus
./prometheus --config.file=prometheus.yml --web.external-url='http://10.9.68.202:9090' &

启动granfana服务

压缩包中的rpm包直接安装即可,然后启动granfana服务

systemctl start grafana-server

在grafana中导入压缩包中redis-exporter的模板文件,然后设定数据源为上面的prometheus的数据源,即可看到如下redis的监控信息。
在这里插入图片描述#### 添加监控和钉钉报警
需要用到两个插件alertmanager和prometheus-webhook-dingtalk,安装包在上面的压缩包中含有。
1、启动dingtalk插件,直接解压对应的压缩包即可,然后启动即可,下面token为钉钉群机器人token。

[root@estest1 alertmanager]# cd /usr/local/prometheus-webhook-dingtalk/
(python27) [root@estest1 prometheus-webhook-dingtalk]#  ./prometheus-webhook-dingtalk --ding.profile='webhook1=https://oapi.dingtalk.com/robot/send?access_token=2f9aa0c7cc2bc28cd63c@@@@@@@@@@@@@@@@@@@@@@2e55bca72' --web.listen-address='10.9.68.202:8060' &
[1] 30100
(python27) [root@estest1 prometheus-webhook-dingtalk]# level=info ts=2021-05-07T02:16:39.894Z caller=main.go:62 msg="Starting prometheus-webhook-dingtalk" version="(version=1.4.0, branch=HEAD, revision=02fe8265a98ab4caaa78ebbed209d3f06b87b4a6)"
level=info ts=2021-05-07T02:16:39.894Z caller=main.go:63 msg="Build context" (gogo1.13.5,userroot@eb9f8d8f0437,date20191211-03:00:38)=(MISSING)
level=warn ts=2021-05-07T02:16:39.894Z caller=main.go:105 msg="DEPRECATION: Detected one of the following flags: --ding.profile, --ding.timeout, --template.file"
level=warn ts=2021-05-07T02:16:39.894Z caller=main.go:106 msg="DEPRECATION: Now working in compatibility mode, please consider upgrading your configurations"
level=info ts=2021-05-07T02:16:39.894Z caller=main.go:117 component=configuration msg="Loading templates" templates=
ts=2021-05-07T02:16:39.895Z caller=main.go:133 component=configuration msg="Webhook urls for prometheus alertmanager" urls=http://10.9.68.202:8060/dingtalk/webhook1/send
level=info ts=2021-05-07T02:16:39.896Z caller=web.go:210 component=web msg="Start listening for connections" address=10.9.68.202:8060

2、配置alertmanager服务,配置文件如下:

global:resolve_timeout: 5mroute:group_by: ['alertname']group_wait: 10sgroup_interval: 10srepeat_interval: 1mreceiver: 'DingDing'
receivers:
- name: 'DingDing'webhook_configs:- url: 'http://10.9.68.202:8060/dingtalk/webhook1/send'
inhibit_rules:- source_match:altername: 'redis'severity: 'critical'target_match:severity: 'warning'equal: ['alertname', 'dev', 'instance']

在prometheus的配置文件中指定了rule的位置,在rules目录下面定义告警的阈值及告警信息如下,创建一个redis.rule文件,内容如下:

cat redis.rule 
groups:- name: redisrules:- alert: "内存报警"expr: (redis_memory_used_bytes /redis_memory_max_bytes) > 0.80for: 15slabels:severity: 1annotations:summary: "{{ $labels.addr }} 内存使用率超过80%"description: "内存使用百分比: {{ $value }}"

配置完成之后,启动alertmanager服务,如下:

(python27) [root@estest1 alertmanager]# cd /usr/local/alertmanager/
(python27) [root@estest1 alertmanager]# ./alertmanager --config.file alertmanager.yml --web.external-url=http://10.9.68.202:9093 &

测试报警

若是redis的内存使用率超过上面设置的阈值,则会自动发送告警信息,测试结果如下[为了触发报警,改变了阈值]:
在这里插入图片描述#### 后续l
利用prometheus的自动发现,只要我们把相应exporter信息写入到对应targets目录下面,就可以自动发现监控的服务;redis-exporter和redis服务一一对应,可以写个web界面去管理这样的对应关系。


http://chatgpt.dhexx.cn/article/XGd3Sh2g.shtml

相关文章

Zabbix实现对Redis的监控

Zabbix实现对Redis的监控 环境准备 五台机器&#xff1a; zabbix_agent 5.0 被动模式&#xff08;已安装&#xff09; Zabbix_java_gateway 5.0 &#xff08;已安装&#xff09; 10.0.0.7 MariaDB-10.4.22&#xff08;已安装&#xff09; zabbix_server 5.0&#xff08;已安…

zabbix配置redis监控

1 redis监控需要用到zabbix_agent2的版本&#xff0c;该版本涵盖了zabbix_agent1的全部功能。安装zabbix_agent2 yum install zabbix-agent2-5.0.13-1.el7.x86_64 -y 2 配置zabbix_agent2.conf的脚本&#xff0c;将redis的相关信息配置。vi /etc/zabbix/zabbix_agent2.conf …

【中间件】Redis监控以及指标

一、监控指标 1.1、性能指标&#xff1a;Performance Name Description latency Redis响应一个请求的时间 instantaneous_ops_per_sec 平均每秒处理请求总数 hi rate(calculated) 缓存命中率&#xff08;计算出来的 1.2、内存指标: Memory Name Description used_m…

Redis监控和预警

1.摘要 本人从事Java Web开发&#xff0c;在项目开发中会用到很多中间件&#xff0c;本文主要介绍Redis监控的一点心得和使用&#xff0c;公司DBA也有相应的监控&#xff0c;但是我们的业务比较重要&#xff0c;想做一个备份监控&#xff0c;对Redis监控需要做监控和预警&#…

如何完善Redis监控告警?

本文字数&#xff1a;3940字 预计阅读时间&#xff1a;20分钟 一、背景二、监控指标分类三、监控指标说明四、总结 一、背景 Redis监控告警实践是基于开发CacheCloud云平台过程中不断实践和总结出来&#xff0c;随着Redis实例规模不断变大&#xff0c;会遇到各种各样的问题&…

redis集群监控

通过Prometheus监控redis集群 一、promethus安装 下载地址&#xff1a; https://github.com/prometheus/prometheus/releases 1、下载 wget https://github.com/prometheus/prometheus/releases/download/v2.32.1/prometheus-2.32.1.linux-amd64.tar.gz 2、安装、配置 ta…

Linux安装Redis监控工具RedisInsight

文章目录 1.简介2.安装RedisInsight2.1下载RedisInsight2.2配置RedisInsight2.3运行RedisInsight 3.使用RedisInsight3.1添加Redis3.1.1添加单机Redis 3.2自动发现Redis3.3以编程方式添加Redis3.4性能指标3.5集群管理3.6命令行3.7内存分析3.7.1在实例上运行内存分析3.7.2内存概…

RedisInsight:Redis监控工具部署(linux)

RedisInsight 部署流程 简介一、下载二、安装1.准备工作2.配置及介绍3.运行4.访问 总结 简介 RedisInsight提供以下功能&#xff1a; 易于使用基于浏览器的界面来搜索键、查看和编辑数据唯一支持Redis集群的GUI工具支持基于SSL/TLS的连接运行内存分析 一、下载 下载地址: R…

redis监控工具

redis-monitor 项目github地址&#xff1a;https://github.com/NetEaseGame/redis-monitor &#xff08;看作者名称&#xff0c;应该是华科的&#xff09; # 安装 pip install redis-monitor#初始化redis-monitor init#启动 nohup redis-monitor start > redis-monitor.l…

Redis性能监控

redis_exporter prometheus grafana监控Redis服务指标 1.redis_exporter2.prometheus3.grafana 本文使用 redis_exporter prometheus grafana 实现对Redis服务进行监控,原因:成本低,人工干预少,直接下载对应的组件,只需添加配置即可互相通信,可视化指标也比较全面。 下面是在…

性能测试:Redis性能监控(redis-stat工具)

redis 监控 redis 监控一共有两种方式&#xff0c;一种是通过info命令&#xff0c;还有一种是使用redis-stat工具。两者其实本质是一样的&#xff0c;不过一个是命令行的模式下查看监控数据&#xff0c;而另外一种是图形化页面查看。但是实际上&#xff0c;我们性能测试主要更…

Redis监控利器---Redis State

强烈推荐一个大神的人工智能的教程&#xff1a;http://www.captainai.net/zhanghan 【前言】 在之前的博文《Redis百万级别数据迁移》中分享我们系统为降低服务器成本&#xff0c;从亚马逊云迁至阿里云的一次生产迁移过程中Redis部分迁移&#xff1b;去年迁移Redis时数据量500…

【Redis监控】

方法1&#xff1a;redis-stat 下载地址&#xff1a;https://github.com/junegunn/redis-stat 可以直接下载安装jar包 Usage usage: redis-stat [HOST[:PORT][/PASS] ...] [INTERVAL [COUNT]] -a, --authPASSWORD Password -v, --verbose …

redis监控

上篇我们将redis安装好了&#xff0c;但是自己搭建的服务监控起来比较麻烦&#xff0c;我们每次都需要跑到redis-cli使用info命令查看redis的状态。 所以我们需要一个可视化的redis监控工具&#xff0c;这里我们为了方便使用docker进行安装&#xff0c;毕竟依赖这个东西是要搞…

性能测试之Redis和Nginx 性能监控

redis 监控 redis 监控一共有两种方式&#xff0c;一种是通过info命令&#xff0c;还有一种是使用redis-stat工具。两者其实本质是一样的&#xff0c;不过一个是命令行的模式下查看监控数据&#xff0c;而另外一种是图形化页面查看。但是实际上&#xff0c;我们性能测试主要更…

redis基础监控

redis监控 redis server 监控&#xff1a; redis存活判断&#xff1a;ping判断&#xff0c;如果指定时间返回PONG表示存活&#xff0c;否则redis不能响应请求&#xff0c;可能阻塞或死亡 机器端口检查&#xff1a;nc 判断端口是否正常。 连接数&#xff1a;connected_clients …

【23种设计模式】设计模式介绍与分类

前言 本文为 【23种设计模式】设计模式介绍与分类 相关知识介绍&#xff0c;下边将对什么是设计模式&#xff0c;设计模式的分类与23种设计模式的关键点进行详尽介绍~ &#x1f4cc;博主主页&#xff1a;小新要变强 的主页 &#x1f449;Java全栈学习路线可参考&#xff1a;【…

Java之美[从菜鸟到高手演变]之设计模式

设计模式&#xff08;Design Patterns&#xff09; ——可复用面向对象软件的基础 设计模式&#xff08;Design pattern&#xff09;是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可…

23 种设计模式详解(全23种)

设计模式的分类 总体来说设计模式分为三大类&#xff1a; 创建型模式&#xff0c;共五种&#xff1a;工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式&#xff0c;共七种&#xff1a;适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合…

23种设计模式汇总整理

设计模式分为三大类&#xff1a; 创建型模式&#xff0c;共五种&#xff1a;工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式 结构型模式&#xff0c;共七种&#xff1a;适配器模式、装饰者模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模…