文章

使用 Elastic 可观测性实现云原生应用监控(3/4)

MetricBeat 是一种轻量型的指标采集器,是 Elastic Stack 的一部分,因此能够与 Elasticsearch 和 Kibana 无缝协作。Metricbeat 能够以一种轻量型的方式,从系统和服务收集指标,输送各种系统和服务统计数据。

Metricbeat 提供多种内部模块,这些模块可从多项服务(诸如 Apache、Jolokia、NGINX、MongoDB、MySQL、PostgreSQL、Prometheus 等等)中收集指标。安装简单,完全零依赖性。只需在配置文件中启用您所需的模块即可。

安装Metricbeat

修改Helm Values,并保存为metricbeat-values.yaml

image-20210728215713417

使用Helm工具安装:

image-20210728215741912

Helm工具隐藏了Kubernetes Yamls细节,下面两个部分是其中非常关键的配置,如下:

ConfigMap配置了其lifecycle以及需要收集的modules:

image-20210728215828232

安装在集群每个worker节点上的Daemonset配置:

image-20210728215916722

Demo ShowCase

可通过不同维度查看数据指标:

image-20210727235152141

大量内置的Dashboard,当然也可以自己定制:

image-20210727235730555

检测Kubernetes Cluster的Dashboard:

image-20210727235352924

检测集群worker节点的Dashboard:

image-20210727235704201

还可以定制很多其他的Dashboard,如MySQL,Redis,Nginx等等,还可以根据这些Metrics进行Alert通知,非常轻量级,易用,上手快。

Notes

使用Metricbeat最需要注意的地方是它的采集的频率,采集的频率越快,如每10s采集一次,每天生成的数据是很庞大的,要提前规划好磁盘大小以及指标数据的 LifeCycle 。

接下来是最后一篇文件,将介绍如何使用 Application Performance Management(APM)工具来监测项目中的应用。

Reference

  1. Elastic 官网:https://www.elastic.co

  2. Elastic 可观测性:https://www.elastic.co/cn/observability

  3. Elastic Metricbeat: https://www.elastic.co/cn/beats/metricbeat

  4. Elastic Metricbeat Modules:https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-modules.html

License:  CC BY 4.0