阿里云 Elasticsearch 通过 Beats 实现对 Redis 可视化监控

简介: Redis 以其易用性的特性而被广泛使用,但管理Redis服务器或集群同样带来诸多挑战——如磁盘故障或内存不足,都可能导致失败,而采集、分析、监控 Redis 日志,可以更好的帮助我们管理Redis服务器。
Redis 以其易用性的特性而被广泛使用,但管理Redis服务器或集群同样带来诸多挑战——如磁盘故障或内存不足,都可能导致失败,而采集、分析、监控 Redis 日志,可以更好的帮助我们管理Redis服务器。

最受好评的数据库--Redis


Redis是一个非常快速的NoSQL数据存储。 尽管它主要用作缓存,但它可以应用于各种形式,例如图形表示和搜索。 客户端库可使用所有主要的编程语言提供,并且所有顶级云服务提供商均将其作为托管服务提供。 在过去的几年中,Redis被Stack Overflow开发人员调查评为最受好评的数据库。如果大家对Redis想有更多的认识,请参照链接tutorialspoint

准备工作


本文将为大家介绍,如何通过阿里云Beats插件采集Redis服务器日志数据,并通过阿里云 Elasticsearch 的Kibana实现可视化监控,方便大家更好的管理并了解 Redis 的运行情况。

准备centos7.4版本 ECS 环境,关闭 selinux、firewall。
准备阿里云elasticsearch 6.7 版本环境,并使用创建的账号密码登录Kibana
• 安装 Filebeat以及Metricbeat

在阿里云 ECS环境中安装 Redis 服务器

由于 Remi 源提供了目前最新版本的 Redis,我们可以通过该源 YUM 安装目前最新版本的 Redis。

注:redis默认端口为6379,对外提供服务,请提前在ecs上开启安全组。
#####通过epel源安装remi源#####
# yum -y install epel-release
# yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
#####通过指定--enablerepo安装redis
# yum --enablerepo=remi install -y redis

#####查看redis版本########
# redis-cli --version
redis-cli 5.0.9

####启动redis服务 #######
# systemctl start redis
####设置开机自启动######
# systemctl enable redis
# systemctl status redis

####测试是否正常ping###
# redis-cli ping
PONG
####查看redis进程####
# ps -ef | grep redis
redis    20777     1  0 11:18 ?        00:00:00 /usr/bin/redis-server 127.0.0.1:6379
root     20805 20430  0 11:23 pts/0    00:00:00 grep --color=auto redis

安装/配置 Redis 采集日志目录

通过 yum 安装的 Redis,配置文件默认路径是 /etc/redis.conf,通过以下方式定义Redis日志输出文件名称。

bind 127.0.0.1
logfile /var/log/redis/redis-server.log
说明:
bind: Redis 监听的地址。
logfile:Redis 日志文件名称,指定为redis-server.log。

你可以通过以下指令重启 Redis
systemctl restart redis

你可以通过以下指令测试 Redis

# redis-cli
127.0.0.1:6379> set name dayu
OK
127.0.0.1:6379> get name
"dayu"
127.0.0.1:6379> del  name
(integer) 1

上面的示例显示了如何将名为dayu的键的值设置为1,检索该值,然后将其删除。 完成后,按Ctrl + C退出redis-cli。

安装Filebeat

Filebeat的Redis模块非常容易将Redis日志运送到Elasticsearch并在Kibana中可视化它们。 它为Filebeat设置默认配置(包括日志文件的路径和Redis服务器端点),设置摄取管道以自动将Redis日志的结构解析为Elasticsearch字段,并部署可视化和仪表板以方便日志分析 Kibana中的数据。

我们打开Kibana界面,并点击界面上左上角的Kibana图标:

image.png

选择“Redis日志”

image.png

进入安装说明流程,我们可以按照图中显示的命令安装 Filebeat

 curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.7.0-x86_64.rpm
# sudo rpm -vi filebeat-6.7.0-x86_64.rpm

配置/filebeat.yml。

setup.kibana:

  # Kibana Host
  # Scheme and port can be left out and will be set to the default (http and 5601)
  # In case you specify and additional path, the scheme is required: http://localhost:5601/path
  # IPv6 addresses should always be defined as: https://[2001:db8::1]:5601
  host: "https://es-cn-0pp19tb17****jc8p.kibana.elasticsearch.aliyuncs.com:5601"

output.elasticsearch:
  # Array of hosts to connect to.
  hosts: ["es-cn-0pp19tb17****jc8p.elasticsearch.aliyuncs.com:9200"]

  # Enabled ilm (beta) to use index lifecycle management instead daily indices.
  #ilm.enabled: false

  # Optional protocol and basic auth credentials.
  #protocol: "https"
  username: "elastic"
  password: "Elastic@432"

无需进行任何配置我们就可以完成对redis的监控, 但是如果需要自定义设置,可以通过以下指令,让Filebeat 启动并配置 Redis模块

# sudo filebeat modules enable redis
Enabled redis

在阿里云平台,我们可以通过以下指令,来启动 Filebeat

注:在安装或升级filebeat时,或在启用新模块后,必须执行setup命令。
# sudo filebeat setup
# sudo service filebeat start
Starting filebeat (via systemctl):                         [  OK  ]

我们可以在Kibana的 Dashboard 中查看 Redis 的 logs

image.png

我们可以看到 Redis 的 overview:

image.png

安装 Metribeat


我们可以使用 Metricbeat 的 Redis 模块周期性地从redis服务器来收集数据。

Metricbeat由模块和指标集组成。 Metricbeat模块定义了从特定服务(例如Redis,MySQL等)收集数据的基本逻辑。 该模块指定有关服务的详细信息,包括如何连接,收集度量的频率以及收集哪些度量。

每个模块都有一个或多个指标集。 度量集是模块的一部分,用于获取和构建数据。 指标标准集不是将每个指标标准收集为单独的事件,而是在对远程系统的单个请求中检索多个相关指标标准的列表。 因此,例如,Redis模块提供了一个信息指标集,该信息指标集通过运行INFO命令并解析返回的结果来从Redis收集信息和统计信息。

image.png

接下来我们来安装Metricbeat。我们先打开Kibana:

image.png

选择“Add metric data”,按照截图中下信息做操作:

image.png

我们可以按照图中显示的命令安装 Metricbeat

# curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-6.7.0-x86_64.rpm
# sudo rpm -vi metricbeat-6.7.0-x86_64.rpm

在完成相应安装步骤后,通常情况下,我们不需要做任何特殊,如有需求,可以通过以下指令配置 Metricbeat Redis模块。

# vim /etc/metricbeat/metricbeat.yml
setup.kibana:

   host: "https://es-cn-4591jumei****1zp5.kibana.elasticsearch.aliyuncs.com:5601"
output.elasticsearch:
  # Array of hosts to connect to.
  hosts: ["es-cn-4591jumei****1zp5.elasticsearch.aliyuncs.com:9200"]

  # Enabled ilm (beta) to use index lifecycle management instead daily indices.
  #ilm.enabled: false
  #protocol: "https"
  username: "elastic"
  password: "Elastic@432"

启动 Redis 模块

# sudo metricbeat modules enable redis
Enabled redis

#####启动metricbeat服务########
# sudo metricbeat setup
# sudo service metricbeat start

进入Kibana Dashboard,我们可以看到 Redis 的指标信息。
image.png

总结


Redis 是许多企业体系结构的重要组成部分,确保平稳运行是DevOps工程师优先考虑的事情。 而从Redis日志中获得的相关指标分析,可以提高问题解决能力(例如,通过配置解决警告),但是更重要的是,它们可以帮助员工轻易的了解影响应用程序稳定性的关键问题。

当存在影响应用程序稳定性的关键问题时,将日志传送到阿里云Elastic Stack 做快速分析,对于快速找到相关问题,并以最小的中断代价,将系统恢复到正常运行至关重要。

声明:本文由“Beats:使用Elastic Stack对Redis监控”基于阿里云服务环境授权改编
原文作者:Elastic 中国社区布道师——刘晓国
合作编辑:Lettie/大禹

image.png

阿里云Elastic Stack】100%兼容开源ES,独有9大能力

相关活动


更多折扣活动,请访问阿里云 Elasticsearch 官网

阿里云 Elasticsearch 商业通用版,1核2G ,SSD 20G首月免费
阿里云 Logstash 2核4G首月免费


image.png

image.png

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
7月前
|
存储 NoSQL Redis
阿里云高性能数据库Tair(兼容 Redis)收费价格,稳定可靠成本低
阿里云高性能云数据库Tair兼容Redis,提供Redis开源版和Tair企业版,支持多种存储介质与灵活扩展,适用于高并发场景。Tair具备亚毫秒级稳定延迟,保障业务连续性。价格方面,Redis开源版年费从72元起,Tair企业版年费从1224元起,具体费用根据配置不同有所变化。
NoSQL 数据可视化 关系型数据库
184 0
|
运维 监控 NoSQL
【赵渝强老师】监控Redis
Redis 实例的监控是运维管理中的关键内容,主要包括内存、吞吐量、运行时信息和延时的监控。 1. **监控内存**:使用 `info memory` 可查看 Redis 内存使用情况,包括已用内存、峰值内存等。 2. **监控吞吐量**:通过 `info stats` 获取每秒处理命令数(OPS)、网络输入输出流量等。 3. **监控运行时信息**:利用 `info` 命令结合 `grep` 过滤出客户端连接数、拒绝连接数等重要信息。 4. **监控延时**:可以通过客户端手动监控或服务器内部延迟监控来检测延时问题。
412 3
|
NoSQL 数据可视化 Linux
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
本文介绍了Redis的两个可视化管理工具:付费的Redis Desktop Manager和免费的Another Redis DeskTop Manager,包括它们的下载、安装和使用方法,以及在使用Another Redis DeskTop Manager连接Redis时可能遇到的问题和解决方案。
1989 1
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
|
监控 NoSQL Redis
开发者如何使用阿里云Redis
【10月更文挑战第2天】开发者如何使用阿里云Redis
2049 0
|
运维 监控
elasticsearch 监控
elasticsearch 监控
|
NoSQL 安全 容灾
阿里云DTS踩坑经验分享系列|Redis迁移、同步
阿里云数据传输服务DTS在帮助用户迁移Redis数据、同步数据时,在某些复杂场景下会出现报错,或者源库与目标库数据不一致的问题,给用户带来困扰。本文介绍了DTS Redis到Redis迁移、同步过程中的典型问题,以帮助用户更好地使用DTS。
1660 2
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
缓存 监控 NoSQL
【Azure Redis 缓存】Redis的监控方式? 是否有API接口调用来获取监控值
【Azure Redis 缓存】Redis的监控方式? 是否有API接口调用来获取监控值
180 0
|
NoSQL 数据可视化 Linux
一文教会你如何在Linux系统中使用Docker安装Redis 、以及如何使用可视化工具连接【详细过程+图解】
这篇文章详细介绍了如何在Linux系统中使用Docker安装Redis,并提供了使用可视化工具连接Redis的步骤。内容包括安装Redis镜像、创建外部配置文件、映射文件和端口、启动和测试Redis实例、配置数据持久化存储,以及使用可视化工具连接和操作Redis数据库的过程。

热门文章

最新文章

相关产品

  • 检索分析服务 Elasticsearch版