在博客的第一部分中,我们介绍了ELK stack的基础知识,并演示了如何使用Open stack ITOA实时可视化SAP HANA日志。在本部分中,我们将探讨如何为HANA核心组件中的关键错误设置警报。
我们可以从HANA日志中实时观察更改或异常,返利软件,并执行必要的响应操作。例如,如果我们要监视HANA实例中特定组件的严重错误(例如服务关闭),并立即得到通知,
这可以通过启用X-PACK中的watcher功能来实现,X-PACK是一个弹性堆栈扩展,它捆绑了安全、警报、监视、报告、,并将图形功能集成到一个易于安装的软件包中。虽然X-Pack组件设计为无缝协作,但您可以轻松启用或禁用想要使用的功能。
X-Pack提供了一个用于创建、管理和测试手表的API。监视描述单个警报,可以包含多个通知操作。
监视由四个简单的构建块构成:
计划
运行查询和检查条件的计划。
查询
作为条件输入运行的查询。监视支持完整的Elasticsearch查询语言,大数据用什么数据库,包括聚合。
条件
决定是否执行操作的条件。您可以使用简单的条件(始终为真),或对更复杂的场景使用脚本。
操作
可以执行一个或多个操作,例如发送电子邮件、通过web挂钩将数据推送到第三方系统或为查询结果编制索引。
在Elasticsearch索引中维护所有监视的完整历史记录。此历史记录跟踪每次触发手表的情况,并记录查询结果、是否满足条件以及采取了哪些操作。
1.1安装Elastic search
要使用X-Pack,必须已安装Elastic search和kibana,如第1部分所述。安装X-Pack的简单步骤如下链接所述
https://www.elastic.co/guide/en/x-pack/current/installing xpack.html#安装-xpack.
Watcher可以使用任何SMTP电子邮件服务发送电子邮件。电子邮件信息可以包含基本的HTML标签。
当我们配置帐户时,观察者可以使用它来发送电子邮件xpack.notification.email邮件命名空间位于弹性搜索.yml
如果您的电子邮件帐户配置为需要两步验证,则您需要生成并使用唯一的应用程序密码从观察者发送电子邮件。如果您使用主密码,身份验证将失败。
请使用以下链接作为参考:https://www.elastic.co/guide/en/x-pack/current/actions email.html#actions-电子邮件
配置弹性搜索.yml文件如下所示,重新启动elasticsearch和kibana
通过调用中的watcher Stats API
验证watcher是否已启用Kibana URL转到"Dev Tools"选项卡,淘客放单平台,运行命令"GET\u xpack/watcher/stats",检查watcher状态是启动还是停止,如下所示。
创建watcher和schedule trigger。
schedule triggers根据日期和时间定义何时开始监视执行。所有时间均以UTC时间指定。在这个例子中,大数据应用,观察者以15的间隔被触发分钟。在下面图中显示了如何创建名为"hanacomponent\u health"
的观察程序的脚本。触发观察时,使用搜索输入将Elasticsearch搜索请求的结果加载到执行上下文中。下图显示了如何查询索引"hanalog"中的所有条目并按时间戳降序排序,因为我们需要索引中的最新条目。
当触发监视时,它的条件决定是否执行监视操作。Watcher支持5种条件类型,这里我们使用了"compare"条件。使用比较条件对监视有效负载中的值执行简单比较。
在本例中,我们将"ACTION"类型与关键字"Service\u Shutdown"进行了比较。如果在特定索引中发现"服务关闭"操作条目,则会触发警报。
当手表的条件满足时,执行其操作。手表可以执行多种操作。一次执行一个动作,每个动作独立执行。执行操作时遇到的任何失败都会记录在操作结果和监视历史记录中。
Watcher支持以下类型的操作:电子邮件、webhook、索引、日志、hipchat、Slack和pagerduty。我们选择"电子邮件"作为操作类型,企业系统开发,因为我们需要获得电子邮件通知,其中包括作为附件的可视化报告。
在监视执行期间,一旦满足条件,将根据配置的操作决定是否应限制。操作限制的主要目的是防止对同一个监视执行太多相同的操作。
例如,假设您有一个监视,它可以检测应用程序日志项中的错误。手表每五分钟触发一次,并在最后一小时内搜索错误。在这种情况下,如果存在错误,则会有一段时间检查监视,并基于相同的错误多次执行其操作。因此,系统管理员会收到关于同一问题的多个通知,这可能很烦人。
为了解决此问题,Watcher支持基于时间的限制。可以将限制时段定义为操作配置的一部分,以限制执行操作的频率。设置限制期间时,如果操作已在限制期间时间框架内执行,则监视程序将阻止重复执行该操作
现在执行监视程序,如下所示,从Kibana Dev tools选项卡
将按照脚本中的定义创建监视程序。现在,当比较条件匹配时,也就是说,当其中一个HANA组件发生故障时,将发送电子邮件警报通知和报告。
以下是发送的通知的屏幕截图
参考:https://www.elastic.co/guide/en/x-pack/current/xpack-alerting.html