ELK日志监控分析系统的探索与实践(二):利用Metricbeat监控服务器系统资源指标

2022-11-14 14:18:47 浏览数 (1)

写在前面

在ELK日志监控分析系统的探索与实践(一)中,我们介绍了利用ELK Filebeat监控Springboot项目的日志,本篇则是重点介绍如何利用ELk Metricbeat监控服务器系统CPU、内存、磁盘等系统指标。

一、Metricbeat简介

Metricbeat是一个轻量级的托运程序,可以安装在服务器上,定期从操作系统和服务器上运行的服务收集度量。Metricbeat获取它收集的度量和统计数据,并将它们发送到您指定的输出,例如Elasticsearch或Logstash。

Metricbeat通过从服务器上运行的系统和服务收集指标,帮助您监控服务器,例如:

  • Apache
  • HAProxy
  • MongoDB
  • MySQL
  • Nginx
  • PostgreSQL
  • Redis
  • System
  • Zookeeper

二、ELK集成Metricbeat工作原理

三、部署方案

服务器

服务

默认端口号

作用

备注

192.168.16.21

Elasticsearch

9200

日志存储、日志查询、日志解析

192.168.16.22

Logstash

5044

日志收集、日志过滤

192.168.16.4(外网地址:xx.xxx.xx.xx)

Kibana

5601

可视化展示

如需外网访问,Kibana需部署在外网可以访问的服务器上

192.168.16.6192.168.16.11......

Metricbeat

服务器系统指标收集

各个需要采集指标的服务器上都部署

四、Metricbeat部署与配置

官网指南:https://www.elastic.co/guide/en/beats/metricbeat/7.8/metricbeat-getting-started.html

1.下载安装Metricbeat

注意事项:

  • 在安装和配置Metricbeat前,需确保ELK(Elasticsearch、Logstash、Kibana)已正确安装和工作,关于ELK部署安装,请参照我的前一篇文章《ELK日志监控分析系统的探索与实践(一):利用Filebeat监控Springboot日志》
  • Metricbeat版本需和Elasticsearch、Kibana版本保持一致

https://www.elastic.co/cn/downloads/past-releases/metricbeat-7-8-0

2.配置Metricbeat

编辑metricbeat.yml

代码语言:javascript复制
output.elasticsearch:
  hosts: ["192.168.16.21:9200"]  # ES地址
  username: "elastic"  # elasticsearch登录用户名,如有
  password: "elastic"  # elasticsearch登录密码,如有
setup.kibana:  # kibana地址
  host: "192.168.16.4:5601"

注意:Output配置中,ES和Logstash只能配置一个,否则会报错:Error initializing beat: error unpacking config data: more than one namespace configured accessing 'output' (source:'metricbeat.yml')

3.启动system模块

代码语言:javascript复制
./metricbeat modules enable system  # 开启system模块
./metricbeat modules list enable  # 查看已开启的模块

如需配置采集的内容,可以修改modules.d目录下的配置文件system.yml:vi modules.d/system.yml

4.加载索引模板供Kibana可视化

代码语言:javascript复制
./metricbeat setup -e  # 初始化metricbeat,-e 的含义:日志直接命令行输出,而非日志

初始化成功后,会提示“Kibana dashboards successfully loaded.” 如下图所示:

5.启动Metricbeat

代码语言:javascript复制
./metricbeat -e

也可以新建一个后台启动脚本:startup.sh,内容如下:

代码语言:javascript复制
nohup ./metricbeat >/dev/null 2>&1 &

启动成功后,如下所示:

启动成功后,可以通过“检查数据”来确认Metricbeat是否收集到系统数据

6.查看Kibana面板

以上几步操作成功后,可以点击“系统指标面板”进入可视化面板页面

7.监控多台服务器

监控多台服务器和监控一台的原理一致,只需要在想要采集指标的服务器上安装Metricbeat即可,重复上述1-6步。

监控面板效果如下图所示:

五、小结

以上,就是Metricbeat安装和配置的全过程,至此,ELK Filebeat Metricbeat的组合,就已实现了业务 系统(项目日志 系统指标)的监控与分析。当然ELK和Metricbeat的功能远不止以上提到的这些,系统监控也只是服务器运维中的一个小环节,如何实现业务、系统资源预警,并及时通知到相关责任人,才是运维的工作重点。

0 人点赞