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

本文涉及的产品
Elasticsearch Serverless检索通用型,资源抵扣包 100CU*H
日志服务 SLS,月写入数据量 50GB 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.6

192.168.16.11

......

Metricbeat

服务器系统指标收集

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

四、Metricbeat部署与配置

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

1.下载安装Metricbeat

注意事项:

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

2.配置Metricbeat

编辑metricbeat.yml

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模块

./metricbeat modules enable system # 开启system模块 ./metricbeat modules list enable # 查看已开启的模块

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

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

./metricbeat setup -e# 初始化metricbeat,-e 的含义:日志直接命令行输出,而非日志

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

5.启动Metricbeat

./metricbeat -e

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

nohup ./metricbeat >/dev/null 2>&1 &

启动成功后,如下所示:

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

6.查看Kibana面板

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

7.监控多台服务器

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

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

五、小结

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

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6月前
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL的服务器日志文件
本文介绍了PostgreSQL数据库的物理存储结构,重点讨论了服务器日志文件。通过`pg_ctl`命令启动PostgreSQL实例时,使用`-l`参数指定日志文件位置,记录数据库启动、运行及关闭过程中的关键信息。附有相关视频讲解和日志文件示例。
222 0
|
1月前
|
存储 弹性计算 安全
阿里云服务器ECS实例选购参考:vCPU到云盘IOPS等指标详解
阿里云服务器ECS实例可以分为多种实例规格族,而根据CPU、内存等配置的不同,一种实例规格族又进一步细分为多种实例规格。这些实例规格包含了众多关键的性能指标,如 vCPU、处理器、内存、vTPM、本地存储、网络带宽、网络收发包 PPS、连接数、弹性网卡、云盘带宽、云盘 IOPS 等。深入理解这些性能指标,对于用户在阿里云服务器购买过程中选择最适合自己业务需求的实例规格至关重要。
|
2月前
|
监控 测试技术 Go
告别传统Log追踪!GOAT如何用HTTP接口重塑代码监控
本文介绍了GOAT(Golang Application Tracing)工具的使用方法,通过一个Echo问答服务实例,详细展示了代码埋点与追踪技术的应用。内容涵盖初始化配置、自动埋点、手动调整埋点、数据监控及清理埋点等核心功能。GOAT适用于灰度发布、功能验证、性能分析、Bug排查和代码重构等场景,助力Go项目质量保障与平稳发布。工具以轻量高效的特点,为开发团队提供数据支持,优化决策流程。
283 89
|
2月前
|
消息中间件 运维 监控
智能运维,由你定义:SAE自定义日志与监控解决方案
通过引入 Sidecar 容器的技术,SAE 为用户提供了更强大的自定义日志与监控解决方案,帮助用户轻松实现日志采集、监控指标收集等功能。未来,SAE 将会支持 istio 多租场景,帮助用户更高效地部署和管理服务网格。
299 51
|
2月前
|
存储 人工智能 项目管理
2025年GitHub平台上的十大开源MCP服务器汇总分析
本文深入解析了GitHub上十个代表性MCP(Model Context Protocol)服务器项目,探讨其在连接AI与现实世界中的关键作用。这些服务器实现了AI模型与应用程序、数据库、云存储、项目管理等工具的无缝交互,扩展了AI的应用边界。文中涵盖Airbnb、Supabase、AWS-S3、Kubernetes等领域的MCP实现方案,展示了AI在旅行规划、数据处理、云存储、容器编排等场景中的深度应用。未来,MCP技术将向标准化、安全性及行业定制化方向发展,为AI系统集成提供更强大的支持。
619 2
2025年GitHub平台上的十大开源MCP服务器汇总分析
|
3月前
|
数据采集 运维 监控
数据采集监控与告警:错误重试、日志分析与自动化运维
本文探讨了数据采集技术从“简单采集”到自动化运维的演进。传统方式因反爬策略和网络波动常导致数据丢失,而引入错误重试、日志分析与自动化告警机制可显著提升系统稳定性与时效性。正方强调健全监控体系的重要性,反方则担忧复杂化带来的成本与安全风险。未来,结合AI与大数据技术,数据采集将向智能化、全自动方向发展,实现动态调整与智能识别反爬策略,降低人工干预需求。附带的Python示例展示了如何通过代理IP、重试策略及日志记录实现高效的数据采集程序。
161 7
数据采集监控与告警:错误重试、日志分析与自动化运维
|
2月前
|
存储 监控 API
【Azure App Service】分享使用Python Code获取App Service的服务器日志记录管理配置信息
本文介绍了如何通过Python代码获取App Service中“Web服务器日志记录”的配置状态。借助`azure-mgmt-web` SDK,可通过初始化`WebSiteManagementClient`对象、调用`get_configuration`方法来查看`http_logging_enabled`的值,从而判断日志记录是否启用及存储方式(关闭、存储或文件系统)。示例代码详细展示了实现步骤,并附有执行结果与官方文档参考链接,帮助开发者快速定位和解决问题。
101 23
|
3月前
|
存储 监控 算法
基于 PHP 语言的滑动窗口频率统计算法在公司局域网监控电脑日志分析中的应用研究
在当代企业网络架构中,公司局域网监控电脑系统需实时处理海量终端设备产生的连接日志。每台设备平均每分钟生成 3 至 5 条网络请求记录,这对监控系统的数据处理能力提出了极高要求。传统关系型数据库在应对这种高频写入场景时,性能往往难以令人满意。故而,引入特定的内存数据结构与优化算法成为必然选择。
62 3
|
6月前
|
运维 监控 Cloud Native
一行代码都不改,Golang 应用链路指标日志全知道
本文将通过阿里云开源的 Golang Agent,帮助用户实现“一行代码都不改”就能获取到应用产生的各种观测数据,同时提升运维团队和研发团队的幸福感。
399 96
|
3月前
|
消息中间件 运维 监控
智能运维,由你定义:SAE自定义日志与监控解决方案
SAE(Serverless应用引擎)是阿里云推出的全托管PaaS平台,致力于简化微服务应用开发与管理。为满足用户对可观测性和运维能力的更高需求,SAE引入Sidecar容器技术,实现日志采集、监控指标收集等功能扩展,且无需修改主应用代码。通过共享资源模式和独立资源模式,SAE平衡了资源灵活性与隔离性。同时,提供全链路运维能力,确保应用稳定性。未来,SAE将持续优化,支持更多场景,助力用户高效用云。
186 2

热门文章

最新文章