阿里云 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并实现搜索。  
相关文章
|
9月前
|
存储 NoSQL Redis
阿里云高性能数据库Tair(兼容 Redis)收费价格,稳定可靠成本低
阿里云高性能云数据库Tair兼容Redis,提供Redis开源版和Tair企业版,支持多种存储介质与灵活扩展,适用于高并发场景。Tair具备亚毫秒级稳定延迟,保障业务连续性。价格方面,Redis开源版年费从72元起,Tair企业版年费从1224元起,具体费用根据配置不同有所变化。
NoSQL 数据可视化 关系型数据库
209 0
|
存储 机器学习/深度学习 人工智能
Elasticsearch:使用阿里云 AI 服务进行向量化和重新排名
本文介绍了如何将阿里云 AI 功能与 Elasticsearch 集成,以提高语义搜索的相关性。
862 0
|
机器学习/深度学习 人工智能 运维
阿里云技术公开课直播预告:基于阿里云 Elasticsearch 构建 AI 搜索和可观测 Chatbot
阿里云技术公开课预告:Elastic和阿里云搜索技术专家将深入解读阿里云Elasticsearch Enterprise版的AI功能及其在实际应用。
783 2
阿里云技术公开课直播预告:基于阿里云 Elasticsearch 构建 AI 搜索和可观测 Chatbot
|
存储 人工智能 API
(Elasticsearch)使用阿里云 infererence API 及 semantic text 进行向量搜索
本文展示了如何使用阿里云 infererence API 及 semantic text 进行向量搜索。
701 8
|
存储 人工智能 自然语言处理
Elasticsearch Inference API增加对阿里云AI的支持
本文将介绍如何在 Elasticsearch 中设置和使用阿里云的文本生成、重排序、稀疏向量和稠密向量服务,提升搜索相关性。
707 14
Elasticsearch Inference API增加对阿里云AI的支持
|
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时可能遇到的问题和解决方案。
2046 1
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
|
监控 NoSQL Redis
开发者如何使用阿里云Redis
【10月更文挑战第2天】开发者如何使用阿里云Redis
2093 0
|
运维 监控
elasticsearch 监控
elasticsearch 监控
|
数据可视化 Java Windows
Elasticsearch入门-环境安装ES和Kibana以及ES-Head可视化插件和浏览器插件es-client
本文介绍了如何在Windows环境下安装Elasticsearch(ES)、Elasticsearch Head可视化插件和Kibana,以及如何配置ES的跨域问题,确保Kibana能够连接到ES集群,并提供了安装过程中可能遇到的问题及其解决方案。
Elasticsearch入门-环境安装ES和Kibana以及ES-Head可视化插件和浏览器插件es-client

热门文章

最新文章

相关产品

  • 检索分析服务 Elasticsearch版