前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Alerting监控ES集群

使用Alerting监控ES集群

原创
作者头像
michelmu
修改2019-07-04 19:25:03
2.3K0
修改2019-07-04 19:25:03
举报

为保证Elasticsearch集群的正常运行,需要对集群的CPU负载,JVM使用率,磁盘使用率等指标进行监控。当这些指标达到阈值时及时处理,保证Elasticsearch集群的正常运行。

Elasticsearch 提供了丰富的API可以获取集群的监控指标,可以参考[Elasticsearch Cat Api]。通过API拉取集群指标进行监控的方式,用户需要自行拉取关注的指标,并编写相应的处理逻辑,过程相对繁琐。Elasticsearch还提供了一种方便高效的集群指标监控方式--Elastic Altering。

Elastic Altering可以监控上报到Elasticsearch中数据的变化和异常,并执行相应的动作,参考Elasticsearch Altering。对于开启了集群监控的集群(未开启的参考configuring-monitoring),其监控数据已经上报到了Elasticsearch中,因此只需要添加对相应指标数据的altering即可实现对这些指标的监控。另外Altering还提供了如email, webhook等方式的告警处理动作,为用户通知和处理指标异常提供了快速便捷的方式。本文将实践对集群的节点CPU Load 1配置altering,并通过邮件方式发送邮件。

1.配置发送消息邮箱

为了在触发告警时,使用Altering向用户发送邮件,需要至少为Elasticsearch集群配置一个邮箱账号

本文使用Outlook邮箱,elasticsearch.yml中的配置如下:

代码语言:txt
复制
 xpack.notification.email.account:
    outlook_account:
        profile: outlook
        email_defaults: 
                from: xxxxxxx@live.com
        smtp:
            auth: true
            starttls.enable: true
            host: smtp-mail.outlook.com
            port: 587
            user: xxxxxxxxx@live.com
            password: xxxxxxxxx

这里需要注意以下几点问题

  1. 在6.4时需要明确在配置中指定邮箱password, 从6.5开始邮箱密码要存放在keystore的xpack.notification.email.account.outlook_account.smtp.secure_password
  2. 使用live账号要开启双重验证和应用密码,否则会收到如下报错信息:
  3. 如果通过kibana界面配置watcher使用email,需要设置email_defaults,否则会收到如下报错
  4. 上述配置需要重启集群生效

2.配置告警

  1. 规则

本次实践要配置的告警规则为:单节点CPU Load1 > 4

  1. 配置页面

告警配置页面路径为:

Management-> Watcher -> create threshold alert, 如下图

  1. 告警配置

点击create threshold alert后会出现如下界面

根据实际情况添加内容如下

代码语言:txt
复制
Name:               CPU_LOAD
Indices to query:   .monitor-es-*
Time field:         timestamp
Run watch every:    1 minitues
When:               max()
OF:                 node_stats.os.cpu.load_average.1m
GROUPED BY:         top 5 'source_node.name'
IS_ABOBE:           4
FOR THE LAST:       5minutes
To e-mail address:  xxxx@live.com
subject:            日志ELK监控告警:集群CPU Load 超过阈值
Body:               节点{{ctx.payload.results.0.key}} CPU Load 为[{{ctx.payload.results.0.value}}] 超过阈值[{{ctx.metadata.watcherui.threshold}}]

其中邮件发送中使用的上下文变量参考:watch-execution-context

经过上述配置,当集群中出现节点CPU load1 超过4 并持续5分钟以上,便会发邮件到指定邮箱,从而实现对集群的监控。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.配置发送消息邮箱
  • 2.配置告警
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档