简单的事情应该简单(Simple things should be simple),这是Elastic {ON} ‘17的主题之一,Elastics收到了许多关于使用简单易用的UI创建警报的请求。事实证明,创建单个UI以对所有类型的警报均有效地工作非常困难。例如,可以在平均CPU使用率超过50%时创建警报的UI与可以在同一IP地址上有许多并发登录的情况下创建警报的UI看起来截然不同。

由于很难为所有类型的警报构建通用的UI,因此Elastic决定首先针对最常请求的警报处理UI:当指标超过或低于给定阈值时触发的简单阈值警报。

在开始示例之前,请确保您具有最低版本的Elasticsearch和Kibana的6.0.0版本,并且两者都安装了X-Pack。在最新的7.x版本里,X-Pack已经是发布版的一部分,不需要安装。另外,请确保您为Elasticsearch配置了具有足够权限的用户。现在,我们需要一些有趣的数据来构建警报。 Metricbeat是监视机器上的系统和用户进程的绝佳拍子。

在今天的练习里,我们来展示如何通过阈值检查,并发送通知到Slack。大家也可以尝试发送到电子邮件等方式。

创建Slack账号

我们首先需要创建一个自己的Slack账号(https://slack.com/),并具有自己的管理员权限。你可以参考链接 “Configuring Slack Account”(https://www.elastic.co/guide/en/elasticsearch/reference/7.5/actions-slack.html#configuring-slack)来配置自己的Slack账号,并生成一个相应的一个Webhook URL。这个URL将会在Elasticsearch里进行使用。

配置elasticsearch.yml

首先watcher必须是在有账号的情况下才可以工作的。如果你还不知道如何开通一个Elasticsearch的安全,那么请参阅我之前的文章“Elasticsearch:设置Elastic账户安全”。

因为这是一个付费的功能,你需要接受30天试用的条件才可以看到这个功能。为了能够使得watcher能够正常工作,我们必须配置elasticsearch.yml文件。打开elasticsearch安装目录下的config/elasticsearch.yml文件,并加入如下的配置:

    xpack.security.enabled: true
discovery.type: single-node xpack.notification.slack:
account:
monitoring:
message_defaults:
from: x-pack
to: notifications
icon: http://example.com/images/watcher-icon.jpg
attachment:
fallback: "X-Pack Notification"
color: "#36a64f"
title: "X-Pack Notification"
title_link: "https://www.elastic.co/guide/en/x-pack/current/index.html"
text: "One of your watches generated this notification."
mrkdwn_in: "pretext, text"

前面的两行是为了启动安全功能才进行加入的。后面的关于xpack的配置才是为watcher而设置的。

配置好我们的elasticsearch.yml文件后,我们在命令行中打入如下的命令:

./bin/elasticsearch-keystore add xpack.notification.slack.account.monitoring.secure_url

在这里,我们选择y。如果你是第一次运行这个命令的话,就不会有这样的一个提示了。你可以把你从Slack中配置的那个Webhook URL复制并粘贴到这里。这样我们的配置就完成了。然后,我们启动Elasticsearch。

安装及配置Metricbeat

只启动system模块即可。等安装好Metricbeat后,就可启动我们的metricbeat了。

配置Watcher

打开浏览器并导航到Kibana。单击侧面导航栏中的“Management”应用程序,然后单击Elasticsearch标题下的Watcher。

我们点击Create,然后,我们就可以开始配置我们的一个watcher了。我们选择Create threashold alert:

然后,我们可以按照上面的配置进行设置。再点击“Add action”:

我们选择Slack作为我们的通知方法。里面还有其它的几种方式,你们可以自己去尝试。

我们可以选择Send a sample message按钮来测试一下我们的Slack配置是否成功。最后,我们选择Create alert。这样就创建了一个Watcher。

我们可以在Watcher页面看到我们配置的每个Watcher。上面显示我们的其中的一个watcher已经发送通知了,而且是4分钟之前发送的。我们可以在我们的Slack界面看到如下的消息:

我们可以看到许多的通知信息不断地进来。它表明我们的配置是已经成功了。

上面我们通过Kibana的界面配置了Watcher。事实上,我们也可以通过API的方式来配置。请详细阅读我们的文档(https://www.elastic.co/guide/en/elasticsearch/reference/7.5/how-watcher-works.html)。

参考:

【1】https://www.elastic.co/guide/en/elasticsearch/reference/7.5/how-watcher-works.html

X-Pack:创建阈值检查警报的更多相关文章

  1. 如何在SharePoint2010中创建自定义电子邮件警报处理程序

    字段,如项目名称字段中,将被截断到的电子邮件通知中的 70 个字符.要解决 70 个字符的限制,请使用"更多信息"一节中的介绍的方法. 要嵌入电子邮件通知中的其他内容. 您想要更改 ...

  2. GitHub Student Developer Pack创建个人网站

    链接:https://zhuanlan.zhihu.com/p/20531579 这个开发包里有什么?作为学生开发者,如何最大化利用它的价值? Atom编辑器,GitHub推出的编辑器,和Sublim ...

  3. Python3 tkinter基础 Scrollbar pack 创建靠右、充满Y轴的垂直滚动条

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  4. Elastic:创建你的第一个Elastic alert

    文章转载自:https://blog.csdn.net/UbuntuTouch/article/details/105340379 在Elasticsearch可以提供给我们数据的存储及快速的搜索,但 ...

  5. SQL Server代理(3/12):代理警报和操作员

    SQL Server代理是所有实时数据库的核心.代理有很多不明显的用法,因此系统的知识,对于开发人员还是DBA都是有用的.这系列文章会通俗介绍它的很多用法. 如我们在这个系列的文章里所见,SQL Se ...

  6. 硝烟中的Scrum和XP-我们如何实施Scrum 15)多团队 Part 2/2 16)地理分散 17)检查列表 18)其他

    引入"团队领导"角色 假设有3个团队开发同一个产品 红色的P是PO, 黑色的S是SM, 蓝色是其他团队成员; 如何决定哪些人属于哪个团队? 怎么分配成员? 有人觉得让PO来做人员分 ...

  7. ASP.NET Core之跨平台的实时性能监控(2.健康检查)

    前言 上篇我们讲了如何使用App Metrics 做一个简单的APM监控,最后提到过健康检查这个东西. 这篇主要就是讲解健康检查的内容. 没看过上篇的,请移步:ASP.NET Core之跨平台的实时性 ...

  8. 健康检查NET Core之跨平台的实时性能监控

    ASP.NET Core之跨平台的实时性能监控(2.健康检查)   前言 上篇我们讲了如何使用App Metrics 做一个简单的APM监控,最后提到过健康检查这个东西. 这篇主要就是讲解健康检查的内 ...

  9. ASP.NET Core中的运行状况检查

    由卢克·莱瑟姆和格伦Condron ASP.NET Core提供了运行状况检查中间件和库,用于报告应用程序基础结构组件的运行状况. 运行状况检查由应用程序公开为HTTP终结点.可以为各种实时监视方案配 ...

随机推荐

  1. Mark IntelliJ IDEA 2018.2.3破解

    来源:https://blog.csdn.net/qq_38060935/article/details/90377761

  2. Vue生命周期和MVVM框架

    生命周期 组件从开始到结束的全过程 创建阶段:beforeCreate.created 挂载阶段:beforeMount.mounted 更新阶段:beforeUpdate.updated 销毁阶段: ...

  3. API 开发者需要避免的10个错误【翻译】

    随着低代码和无代码工具的出现,构建API比以往任何时候都更简单.更快.不过因为开发简单了,开发者很容易忽略一些潜在的问题,导致整个业务的下游影响. 在设计阶段多花点时间,可以确保API真正有用.安全. ...

  4. docker仓库之harbor的基本使用(二)

    1 1.配置docker使用harbor仓库上传下载镜像 2 #注意:如果我们配置的是https的话,本地docker就不需要任何操作就可以访问harbor 3 测试机器 4 root@ubuntu1 ...

  5. 【Unity基础知识】基础游戏单位GameObject中常用的属性和API

    一.GameObject中的成员变量 主要思想:得到该脚本依附的GameObject的相关信息 现有: Lesson4的代码: using System.Collections; using Syst ...

  6. python zip、*、**理解

    zip函数 zip()一般传入可迭代对象(不止一个),将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的zip对象(python2返回元组),需要手动使用tuple.list等序列转换成可使 ...

  7. OPC UA分布式IO模块

    OPC UA IO模块对工业物联网的影响 OPC UA IO模块是指IO模块支持OPC UA协议,可以直接与OPC Client进行通信,这样就可以从OPC Client上直接远程通过以太网对IO口进 ...

  8. CSS 上下居中和最低高度语法

    /*上下居中*/ vertical-align:center; font-size=line-height; /*最低高度*/ height:auto!important; height:400px; ...

  9. 转一篇MYSQL文章《数据库表设计,没有最好只有最适合》

    http://mp.weixin.qq.com/s/a8klpzM5iam0_JYSw7-U4g 我们在设计数据库的时候,是否会突破常规,找到最适合自己需求的设计方案,下面来举个例子: 常用的邻接表设 ...

  10. MMDetection 使用示例:从入门到出门

    前言 最近对目标识别感兴趣,想做一些有趣目标识别项目自己玩耍,本来选择的是 YOLOV5 的,但无奈自己使用 YOLOV5 环境训练模型时,不管训练多少次 mAP 指标总是为 0,而其它 pytorc ...