3.12通知

但是,当我们说检测到异常会产生警报时,我们的意思是什么?与Heka中的其他几乎一样,我们真正说的是,消息将被注入消息路由器,然后其他过滤器和输出插件能够监听并用作操作的触发器。
我们在这里不会详细讨论,但是与异常检测模块一起,Heka的Lua环境提供了一个报警模块,用于生成报警消息(通过调节,以确保快速连续的数百个报警实际上不会生成数百个单独的通知)以及注释模块,其使得所述仪表盘基于我们的循环缓冲器数据来对所述图形应用注释。http状态和统计图过滤器都使用这两个过滤器,因此如果你为这些过滤器指定异常配置,那么将输出图形注释,并在检测到异常时生成报警消息。
报警消息不是很有用,如果他们只是流经Heka的消息路由器,但没有什么正在监听他们。因此,让我们设置一个SmtpOutput,当它们通过时发送电子邮件,它将监听报警消息:

[alert_smtp_encoder]
type="SandboxEncoder"
filename="lua_encoders/alert.lua"

[SmtpOutput]
message_matcher="Type=='heka.sandbox-output'&&Fields[payload_type]=='alert'"
encoder="alert_smtp_encoder"
send_from="heka@example.com"
send_to=["alert_recipient@example.com"]
auth="Plain"
user="smtpuser"
password="smtpassword"
host="127.0.0.1:25"

首先,我们使用由Heka提供的非常简单的编码器实现来指定编码器,其从消息中提取timestamp、hostname、logger和payload,并以文本格式发送这些值。然后我们添加输出本身,监听任何我们的SandboxFilter插件发出的任何报警消息,使用编码器格式化消息正文,以及通过其他配置选项指定的SMTP服务器发送传出邮件消息。
就是这样!我们不会从异常检测报警生成电子邮件通知程序。

taxonomy: