使用 Elastic 可观测性实现云原生应用监控(3/4)
MetricBeat
是一种轻量型的指标采集器,是 Elastic Stack 的一部分,因此能够与 Elasticsearch 和 Kibana 无缝协作。Metricbeat
能够以一种轻量型的方式,从系统和服务收集指标,输送各种系统和服务统计数据。
Metricbeat
提供多种内部模块,这些模块可从多项服务(诸如 Apache、Jolokia、NGINX、MongoDB、MySQL、PostgreSQL、Prometheus 等等)中收集指标。安装简单,完全零依赖性。只需在配置文件中启用您所需的模块即可。
安装Metricbeat
修改Helm Values,并保存为metricbeat-values.yaml
:
使用Helm工具安装:
Helm工具隐藏了Kubernetes Yamls细节,下面两个部分是其中非常关键的配置,如下:
ConfigMap配置了其lifecycle以及需要收集的modules:
安装在集群每个worker节点上的Daemonset配置:
Demo ShowCase
可通过不同维度查看数据指标:
大量内置的Dashboard,当然也可以自己定制:
检测Kubernetes Cluster的Dashboard:
检测集群worker节点的Dashboard:
还可以定制很多其他的Dashboard,如MySQL,Redis,Nginx等等,还可以根据这些Metrics进行Alert通知,非常轻量级,易用,上手快。
Notes
使用Metricbeat最需要注意的地方是它的采集的频率,采集的频率越快,如每10s采集一次,每天生成的数据是很庞大的,要提前规划好磁盘大小以及指标数据的 LifeCycle 。
接下来是最后一篇文件,将介绍如何使用 Application Performance Management(APM)工具来监测项目中的应用。
Reference
Elastic 官网:https://www.elastic.co
Elastic 可观测性:https://www.elastic.co/cn/observability
Elastic Metricbeat: https://www.elastic.co/cn/beats/metricbeat
Elastic Metricbeat Modules:https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-modules.html