监控elasticsearch集群方案

摘要:
PUT_cluster/settings{"persistent":{"xpack.monitoring.elasticsearch.collection.enabled":false}}9、在Kibana中查看监视数据。如果启用跨ElasticStack的监视,则基于其持久性UUID,每个Elasti

1、监控组件

X-Pack是一个Elastic Stack的扩展,包括安全,警报,监控,报告和图形等功能。

es5.x以后可以安装X-Pack,5.x以前需要安装多个组件(Shield,Watcher,Marvel,Graph,Reporting)(这些组件现已集成到X-Pack中),sense也已集成到kibana中。

6.x以后的版本无需单独安装X-Pack,es已集成。

其中5.x-6.8的免费版基本没有安全功能,需要破解或升至黄金版,白金版。6.8以及以后安全功能免费。

2、es API

elasticsearch API

3、监控es集群方法

生产中建议使用一个单独的集群作为监控集群,存储生产集群的监控信息。

分为低版本和高版本:

3.1、低版本:5.x以前

使用es API获取监控数据并存至监控集群

3.2、高版本:5.x以后

3.2.1、X-Pack监控集群,收集数据并导出(collectors and exporters)

数据默认存在本地集群,可以设置X-Pack的导出方式为http-exporter,将监控数据导出到一个专门的监控集群

索引格式样例:

监控elasticsearch集群方案第1张

此方法没有每个节点系统级别的信息,比如系统cpu利用率

可以导出的监控指标包括:

Collector(收集器)数据类型描述
Cluster Statscluster_stats

只在被选举的master节点上收集。产生一个cluster_stats类型的document。

5.5x以前由三个单独的collector收集三种类型的信息(cluster_stats,cluster_state, andcluster_info),5.5x以后这三种类型的信息结合进cluster_stats(其中包括部分集群实际状态GET /_cluster/state和集群统计信息GET /_cluster/stats)。

Node Statsnode_stats在每个节点上进行收集,每个节点产生一个node_stats类型的document。
Index Statsindices_stats, index_stats在被选举的master节点上进行,产生一个indices_stats类型的document,每个索引产生一个index_stats类型的document。
Shardsshards
Jobsjob_stats
Index Recoveryindex_recovery

解决5.5之前X-Pack导出的数据格式与5.5之后的数据格式不一样:

监控elasticsearch集群方案第2张

3.2.2、使用metricbeat收集并导出(6.5及以后可用)

索引格式样例:

监控elasticsearch集群方案第3张

此方法还可以导出系统信息,比如cpu,memory,network相关信息,并在kibana上进行可视化

metric目录下:

es集群中有2个host:

监控elasticsearch集群方案第4张

点击view metrics:

监控elasticsearch集群方案第5张

metricbeat安装包下运行:

监控elasticsearch集群方案第6张

kibana dashboard目录下:

监控elasticsearch集群方案第7张

监控elasticsearch集群方案第8张

4、配置高版本集群收集监控数据(主要包括2种方式)

官网文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/monitor-elasticsearch-cluster.html

4.1、使用collectors and exporters收集数据,导出数据

1、

a、es配置文件中 xpack.monitoring.enabled 设为 true

b、es配置文件中 xpack.monitoring.elasticsearch.collection.enabled 设为 true

c、es配置文件中xpack.monitoring.collection.enabled 设为 true

d、Optional: Specify which indices you want to monitor.

默认情况下,监视代理程序从所有Elasticsearch索引收集数据。要从特定索引收集数据,

请配置xpack.monitoring.collection.indices设置。您可以将多个索引指定为以逗号分

隔的列表,也可以使用索引模式来匹配多个索引。

比如:

xpack.monitoring.collection.indices: logstash-*, index1, test2

e、Optional: Specify how often to collect monitoring data.

2、指明将数据存在哪里
默认使用local exporter存在本地集群,也可以使用http exporter将数据存到专门的监控集群

note:The Elasticsearch monitoring features use ingest pipelines, therefore the

cluster that stores the monitoring data must have at least one ingest node.
ingest node:在索引之前预处理文档
ingest node:拦截批量和索引请求,应用转换,然后将文档传递回索引或批量API。
3、选择是否使用http exporter并设置相关安全选项。

4、配置您的集群以将监视数据从Kibana,Beats和Logstash等来源路由到监视集群。

5、如果您在生产集群上的elasticsearch.yml文件中更新了设置,请重新启动Elasticsearch。

6、可选:配置用于存储监视数据的索引。

7、在Kibana中查看监视数据。

4.2、使用Metricbeat收集Elasticsearch监视数据并导出

在6.5及更高版本中,您可以使用Metricbeat收集有关Elasticsearch的数据并将其发送到监视集群,而不是按照4.1中所述通过导出器进行路由。

1、Enable the collection of monitoring data

GET _cluster/settings

PUT _cluster/settings
{
"persistent": {
"xpack.monitoring.collection.enabled": true
}
}

2、在生产集群中的每个Elasticsearch节点上安装Metricbeat。
3、在每个Elasticsearch节点上的Metricbeat中启用Elasticsearch X-Pack模块。
4. 在每个Elasticsearch节点上的Metricbeat中配置Elasticsearch X-Pack模块。
5、可选:在Metricbeat中禁用系统模块。
6、确定将监视数据发送到哪里。
7、在每个节点上启动Metricbeat。
8、禁用Elasticsearch监控指标的默认集合。

PUT _cluster/settings
{
"persistent": {
"xpack.monitoring.elasticsearch.collection.enabled": false
}
}

9、在Kibana中查看监视数据。

5、Stack监控

kibana监控功能包括2个:
1、可视化来自Elastic Stack的监视数据。您可以实时查看Elasticsearch,Logstash和Beats的运行状况和性能数据,以及分析过去的性能。
2、监视Kibana本身并将该数据路由到监视集群。

如果启用跨Elastic Stack的监视,则基于其持久性UUID,每个Elasticsearch节点,Logstash节点,Kibana实例和Beat都被认为是唯一的,该UUID在节点或实例启动时被写入path.data目录。

note:必须启用观察程序才能查看群集警报。
如果您具有基本许可证,则不会显示“热门群集警报”。

6、监控生产集群

监控7.x的Elasticsearch生产集群, 监控集群必循在7.x以后。

监视集群中必须至少有一个ingest node摄取节点(预处理节点);它不必是专用的摄取节点。

1、设置要用作监视集群的Elasticsearch集群。
例如,您可以使用节点es-mon-1和es-mon-2设置两个主机群集。

  • 如果计划使用Metricbeat收集有关Elasticsearch或Kibana的数据,请创建一个具有

remote_monitoring_collector内置角色的用户和一个具有remote_monitoring_agent

内置角色的用户。或者,使用remote_monitoring_user内置用户。

  • 如果计划使用HTTP导出程序通过生产集群路由数据,请创建一个具有

remote_monitoring_agent内置角色的用户。

例如:

POST /_security/user/remote_monitor
{
"password" : "changeme",
"roles" : [ "remote_monitoring_agent"],
"full_name" : "Internal Agent For Remote Monitoring"
}

2、配置生产集群以收集数据并将其发送到监视集群。
Use Metricbeat.
Use HTTP exporters.

3、(可选)将Logstash配置为收集数据并将其发送到监视群集。
4、(可选)将Beats配置为收集数据并将其发送到监视群集。

5、(可选)配置Kibana以收集数据并将其发送到监视集群:

6、(可选)创建用于监视的专用Kibana实例,而不是使用单个Kibana实例来访问生产集群和监视集群。
(可选)在此Kibana实例中禁用监视数据收集。
将kibana.yml文件中的xpack.monitoring.kibana.collection.enabled设置设置为false。

7、配置Kibana以检索和显示监视数据。

每种数据类型仅来自一个收集器。换句话说,对于创建的任何监视文档,它都来自单个收集器,而不是来自多个收集器。当前,Elasticsearch的X-Pack监视有几个收集器,因为目标是最大程度地减少它们之间的重叠以实现最佳性能。

对于监视在所有节点上禁用了node.ingest的群集,可以禁用使用摄取管道功能。但是,这样做会阻止其目的,即随着我们的映射随着时间的推移而改进,它会升级较旧的监视数据。

从6.0开始,摄取群集功能是监视集群的一项要求;您必须至少在一个节点上启用node.ingest。

免责声明:文章转载自《监控elasticsearch集群方案》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇phpmyadmin误删表后的恢复过程(心惊胆跳啊)Mac 如何彻底删除 Anaconda?下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SpringData ElasticSearch整合Elastic Search

SpringData ElasticSearch 整合Elastic Search 1. Spring Data ElasticSearch 介绍 Spring Data Elastic Search 基于Spring data API 简化ElasticSearch操作,将原始操作Elastic Search的客户端API进行封装。Srping Data...

Elasticsearch 6.2.3版本 执行聚合报错 Fielddata is disabled on text fields by default

背景说明 执行《Elasticsearch 权威指南》的示例,在执行聚合查询的时候,报错 Fielddata is disabled on text fields by default. 1)聚合语句如下: GET _search { "aggs": { "all_interests": { "terms": { "fiel...

Elasticsearch: Ngrams, edge ngrams, and shingles

Ngrams和edge ngrams是在Elasticsearch中标记文本的两种更独特的方式。 Ngrams是一种将一个标记分成一个单词的每个部分的多个子字符的方法。 ngram和edge ngram过滤器都允许您指定min_gram以及max_gram设置。 这些设置控制单词被分割成的标记的大小。 这可能令人困惑,让我们看一个例子。 假设你想用ngra...

Elasticsearch学习之深入聚合分析五---案例实战

1. fielddata核心原理   fielddata加载到内存的过程是lazy加载的,对一个analzyed field执行聚合时,才会加载,而且是field-level加载的,一个index的一个field,所有doc都会被加载,而不是少数doc,不是index-time创建,是query-time创建 2. fielddata内存限制   indi...

x-pack本地安装方式

一.首先下载本地安装包,我使用的ELK是5.6.1版本: https://artifacts.elastic.co/downloads 二.进入到elasticsearch/bin(所有节点)和kibana/bin安装x-pack:(都是非root) bin/elasticsearch-plugin install file:///绝对路径/x-pack....

ElasticSearch 定时批量删除N天前的数据

描述: 之前我已经完成了使用ElasticSearch、kibana、filebeat、三个工具完成分布式集群收集 分布在各个ip地址上的微服务日志,这样就可以统一的在一个服务器上查看了所有的微服务产生的日志了,避免了一个个通过工具远程linux服务器去查看日志,极大提高了日志查看分析的效率了。当时目前我只是完成收集和查看所有日志,那么时间一长我们就会遇到...