欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

实战指南:深入理解《Elastic Stack》的Monitoring和Central Management功能(第53章)- 3.5.12版本

最编程 2024-08-09 09:18:59
...

《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 完全是一样的。