《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.12.Monitoring及Central Management (2) https://developer.aliyun.com/article/1228350
3.5.12.Monitoring及Central Management
创作人:高冬冬
审稿人:刘帅
Management
Monitoring
Monitoring 就是跟踪和监控 Elastic Stack 各个组件的实时运行状况和性能指标;当监控一个集群时,不仅要采集 Elasticsearch 节点的指标,而且要采集集群相关的 Logstash 节点,
Kibana 实例以及各种 Beats 节点的性能指标甚至还要通过 Filebeat 采集集群日志,存储在 Elasticsearch 集群中,以便可以通过 Kibana 可视化,实时监控各种组件和节点的实时运行状态。
两种监控方案
l 组件自身监控
l Metricbeat 监控
组件自身监控
开启快捷简单,无需额外组件,收集采集指标会占用组件自身资源;
默认情况下,每一个 Elastic Stack 组件自身都包含一个内置的 agent 负责采集数据。
配置方式
Elasticsearch
在 Elasticsearch 集群中监控采集配置默认关闭的 xpack.monitoring.collection.enabled :
false
1、通过 Kibana 开启
l 打开 Kibana
l 进入 Management-->Stack Monitoring
l 点击 Turn on monitoring
2、通过 API 开启
GET _cluster/settings PUT _cluster/settings { "persistent": { "xpack.monitoring.collection.enabled": true } }
3、Elasticsearch 的其他配置
在节点的配置文件 elasticsearch.yml 更多配置
参考文献:https://www.elastic.co/guide/en/elasticsearch/reference/7.10/monitoring-settings.html
Kibana
在配置文件 kibana.yml 开启
#是否开启Kibana NodeJS server指标采集
monitoring.kibana.collection.enabled: true
#采集频率(ms),默认10s
monitoring.kibana.collection.interval: 10000
#指定监控指标存储远程ES集群
monitoring.ui.elasticsearch.hosts: ["https://es1:9200", "https://es2:9200"]
#远程ES集群的账号和密码
monitoring.ui.elasticsearch.username: elasticsearch
monitoring.ui.elasticsearch.password: changeme
#控制monitoring后端的运行和kibana运行状态的监控
monitoring.enabled: true
#在kibana中隐藏Stack Monitoring功能。
monitoring.ui.enabled: true
参考文档:https://www.elastic.co/guide/en/kibana/7.10/monitoring-settings-kb.html#monitoring-general-settings
Logstash
在配置文件 logstash.yml 开启
# X-Pack Monitoring # https://www.elastic.co/guide/en/logstash/current/monitoring-logstash.html xpack.monitoring.enabled: true xpack.monitoring.elasticsearch.hosts: ["https://es1:9200", "https://es2:9200"] xpack.monitoring.elasticsearch.username: elasticsearch xpack.monitoring.elasticsearch.password: password
Beats:Filebeat、Metricbeat
在配置文件 filebeat.yml 或 metricbeat.yml 中开启
monitoring.enabled: true #monitoring.cluster_uuid: monitoring.elasticsearch.hosts: ["https://es1:9200"] monitoring.elasticsearch.username: filebeat_system monitoring.elasticsearch.password: password
APM
在配置文件 apm-server.yml 中开启
monitoring.enabled: true monitoring.elasticsearch.hosts: ["https://es1:9200"] monitoring.elasticsearch.username: filebeat_system monitoring.elasticsearch.password: password
从某种程度上讲 AMP Server 其实就是另外一种 Beat。对于它的监控和 Beats 完全是一样的。