Elastic:创建一个Elastic alert - 7.7 发布版
我们很高兴宣布一个新的警报框架,该框架可作为Kibana 7.7版本的一部分,在SIEM,Uptime,APM和Metrics应用程序中提供一流的警报体验。
警报是整个Elastic Stack的基本用例,这就是为什么我们将其纳入Kibana的核心体验。 无论你是监视应用程序事务还是跟踪暴力登录尝试,我们的目标都是提供量身定制的体验,使您能够在正常的任务流程中构建强大的警报。 新的警报框架是从头开始构建的,旨在提供不只是便捷的界面。 我们知道,不仅需要通知人,这就是为什么我们还合并了触发预定义动作的功能的原因,该动作可以执行任何操作,从发送电子邮件到在Slack和PagerDuty等平台上使用全新的第三方集成。
在今天的文章中,我们将介绍如何使用Elastic 7.7发布所提供的新的警报界面来创建一个警报。
安装
首先,我们必须需要安装最新的 Elastic Stack 7.7 发布版的软件来进行安装。
Elasticsearch 安装
请参阅我之前的文章“如何在Linux,MacOS及Windows上进行安装Elasticsearch”在自己的电脑上安装最新的 Elasticsearch 7.7发布版。
Kibana 安装
请参阅我之前的文章“如何在Linux,MacOS及Windows上安装Elastic栈中的Kibana”在自己的电脑上进行安装最新的 Kibana 7.7 发布版。
Mertricbeat 安装
我们启动安装好的Kibana,并进入页面:
点击 Add metric data:
点击 System metrics:
根据我们的不同的平台分别进行安装Metricbeat。
等我们安装好Metricbeat后,我们可以在Kibana的 Discover 看到导入的metricbeat的数据:
设置阈值警报
警报使您可以根据数据更改采取措施。 它是基于以下原则设计的:如果您可以在Elasticsearch中查询某些内容,则可以对其发出警报。 只需定义查询,条件,时间表,要采取的措施,然后警报将完成其余工作。定制触发器将自动化工作流程付诸实践。
在今天的练习中,我们将利用metricbeat的数据来进行侦测。如果我们电脑的内存使用超过80%,那么我们将发送一个警报。在metricbeat中,有一个叫做 system.memory.used.pct 的字段。它表示已用内存的百分比。
我们可以有两种途径来创建警报,针对我们的metricbeat:
方法一:直接在Metrics应用中创建:
另外一种方法是直接从 Alerts and Actions 中来创建:
无论从那种方法来创建,它们的界面都是一样的。在7.7 的发布版中,我们可以在Metrics, SIEM, Uptime 及 APM 中创建警报。
创建一个Log类型的警报
我们点击上面的 Create alert 按钮 或菜单:
在上面,我们选择每分钟检查一次,并且每一分钟通知一次。我们选择Metric threshold:
从上面可以看出来,目前免费的警报通知只有两个选择:Index 及 Server log。我们选择 Server log
点击上面的 Create a connector:
我们提供任何一个喜欢的 Connector 名字。在上面我选择了 Log。这个Log connector 可以为以后其它的Server log所使用。 点击 Save 按钮:
在上面,我们可以点击在 message 右边的那个小图标查看我们可以在 message 输入框中可以使用的一些变量。点击 Save 按钮:
这样我们警报就设置好了。我们可以点击Edit进行编辑,或点击右边的三个点来进行删除。或mute的动作。
这个时候,我们可以查看一下Kibana运行的console,不出意外,我们可以看到如下的输出:
它说明,我们的警报设置是成功的。
创建一个Index 类型的警报
我们接着创建一个Index类型的警报。和上面的大部分步骤是一样的,只是我们在Action中需要选择 Index:
数据将写入到my_index索引。 点击 Save 按钮
请注意上面的数据结构是一个JSON的对象。这个一定要注意。点击 Save 按钮:
我们可以查看 my_index :
GET my_index/_search
我们可以看到事件都被写入到my_index索引中了。