前言
当运行环境机器数量众多,要进行资源监控,一个集中、统一的监管平台是十分必要的。恰好ElasticSearch+Kibana+Metricbeat可以提供类似的解决方案,并且由于它的灵活性与开放性,使得能够对其进行二次开发以满足实际需求。不仅可以帮助探索海量结构化、非结构化数据,按需创建可视化报表,对监控数据设置报警阈值,甚至通过使用机器学习技术,自动识别异常状况。
那么,在具体部署这样一套平台之前,我们需要对该方案的核心技术有一个初步了解。
因此,一定就有三问资源监控:
1.三问资源监控:
一问:什么是ElasticSearch、Kibana&MetricBeat?
ElasticSearch:是一个分布式、高扩展、高实时的开源搜索与数据分析引擎。
Kibana:是用于数据可视化的web UI界面;能自定义数据图表、数据视图;能根据参数字段对输出内容进行过滤;能将机器性能、资源指标以图表形式呈现。
MetricBeat:是用于从系统和服务中收集指标的轻量型采集器;能将采集结果发送给ElasticSearch,经分析后通过Kibana呈现。
二问:什么是资源监控?
Q:资源监控可以做什么?
A:资源监控可以实现各种操作系统下机器性能指标的监控,并以图表的方式实时呈现。
Q:资源监控可以监控哪些性能指标?
A:可实现机器的CPU、内存、文件系统、网络、进程、磁盘IO、服务等性能指标的实时监控。
Q:资源监控对系统环境的要求?
A:监控机器与采集机器之间的时间不同步、浏览器版本过旧都会导致采集图表显示异常。
Q:资源监控的优势与特点?
A:资源监控能够将性能指标以实时的图表呈现给用户,用户可以轻易观测出某项指标在一段时间内的走势。将轻量级的Metricbeat部署到所有linux、windows主机下,并将它连接到Elasticsearch就大功告成了。
三问:资源监控的架构是怎么样的?
2.资源监控前的准备-环境部署
环境要求:
①操作系统:Ubuntu 18.04 Server
②浏览器版本:Chrome 81.0或FireFox-ESR-full
③软件版本:ElasticSearch-7.6.2、Kibana-7.6.2、MetricBeat-7.6.2(可前往官网https://www.elastic.co/cn/elasticsearch/自行下载)
其他要求:
①用于时间同步的NTP服务器(也可自行手动同步)
3.资源监控前的准备-网络配置
①局域网ip配置
安装完毕Ubuntu18.04 Server后,前往/etc/netplan/50-cloud-init.yaml修改网络配置文件,根据环境要求,手动添加相应网卡与配置信息。
在下图示例中,共添加了两个网卡/网段,分别用于ElasticSearch与Kibana的ip寻址。(如果将Elasticsearch与Kibana分开部署,则将两个ip分别配置于两台Ubuntu18.04 Server虚拟机中)
完成更改后保存修改并使用命令”sudo netplan apply”重置网络(若无效则直接reboot命令重启机器)。
②防火墙配置
为保证网络正常连通,需关闭宿主机与虚拟机的防火墙,Ubuntu下使用命令”sudo ufw disable”关闭防火墙
③elasticsearch.yml配置
编辑elasticsearch.yml,修改network配置如下:
④kibana.yml配置
编辑kibana.yml,修改Kibana服务器ip地址:
修改elasticsearch服务器ip地址与elasticsearch.yml一致:
修改Kibana显示语言为中文:
执行命令curl+ip+port对elasticsearch进行测试,当显示以下结果时表示配置成功:
也可用浏览器进行测试:
⑤配置MetricBeat.yml
编辑MetricBeat.yml,修改Kibana服务器ip地址与kibana.yml配置的host信息保持一致:
修改ElasticSearch服务器ip地址与elasticsearch.yml配置的host信息保持一致:
4.资源监控过程示例-linux系统下的资源采集
执行资源采集:
①在服务器中启动elasticsearch、kibana
②启动system模块
③配置输出
④启动采集器
⑤前往Kibana查看结果
5.资源监控过程示例-windows系统下的监控
①配置MetricBeat.yml
编辑MetricBeat.yml,修改Kibana服务器ip地址与kibana.yml配置的host信息保持一致:
修改ElasticSearch服务器ip地址与elasticsearch.yml配置的host信息保持一致:
执行资源采集:
①在服务器中启动elasticsearch、kibana
②安装MetricBeat相关服务组件
③启动system模块
④配置输出
⑤启用MetricBeat服务
⑥前往Kibana查看结果
6.资源监控过程示例-结果展示
采集效果总体展示:
在总体效果展示图中,我们可以通过自定义Kibana视图,构建自己想要的指标信息。并能通过过滤器对数据进行筛选,比如CPU、内存、进程指标:
比如系统负载、网络流量等指标可通过此类趋势图观察到系统资源在某端时间内的走势,且从图中也能明显看到在某个时间区段系统负载达到了较高的峰值:
以上各项指标均是通过假脱机传输方式输送至磁盘,这样数据管道不会错过任何一个数据点,即使发生中断(例如网络问题),也勿需担心。Metricbeat 会保留传入的数据,并在重新上线后将这些指标输送至 Elasticsearch。