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

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 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/大禹
出处链接:https://elasticstack.blog.csdn.net/.


image.png

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

相关活动


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

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


image.png

image.png

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
1月前
|
Arthas 弹性计算 运维
阿里云ECS监控服务
阿里云ECS监控服务
401 2
|
4月前
|
存储 监控 开发工具
ELasticSearch监控之Cerebro
ELasticSearch监控之Cerebro
35 0
|
2月前
|
NoSQL Redis Docker
在docker中安装redis,并且阿里云服务器配置
在docker中安装redis,并且阿里云服务器配置
181 1
|
1月前
|
弹性计算 NoSQL Redis
阿里云ECS使用docke搭建redis服务
阿里云ECS使用docke搭建redis服务
150 1
|
1月前
|
NoSQL 数据可视化 Unix
一款开源、免费、跨平台的Redis可视化管理工具
一款开源、免费、跨平台的Redis可视化管理工具
|
1月前
|
弹性计算 NoSQL 测试技术
倚天使用|Redis性能高30%,阿里云倚天ECS性能摸底和迁移实践
Redis在倚天ECS环境下与同规格的基于 x86 的 ECS 实例相比,Redis 部署在基于 Yitian 710 的 ECS 上可获得高达 30% 的吞吐量优势。成本方面基于倚天710的G8y实例售价比G7实例低23%,总性价比提高50%;按照相同算法,相对G8a,性价比为1.4倍左右。
137500 3
|
2月前
|
NoSQL Java Redis
Elasticsearch redis netty 报错
Elasticsearch redis netty 报错
13 0
|
2月前
|
NoSQL 关系型数据库 Linux
阿里云RDS购买Linux——安装redis服务
阿里云RDS购买Linux——安装redis服务
90 0
|
3月前
|
NoSQL Java 微服务
前后端分离项目知识汇总(阿里云Oss,EasyExcel,视频点播,SpringCloud,Redis,Nuxt)-3
前后端分离项目知识汇总(阿里云Oss,EasyExcel,视频点播,SpringCloud,Redis,Nuxt)
121 1
|
3月前
|
前端开发 NoSQL easyexcel
前后端分离项目知识汇总(阿里云Oss,EasyExcel,视频点播,SpringCloud,Redis,Nuxt)-2
前后端分离项目知识汇总(阿里云Oss,EasyExcel,视频点播,SpringCloud,Redis,Nuxt)
101 0

相关产品

  • 检索分析服务 Elasticsearch版