elasticsearch _id需要变量日志存储输出电子邮件
我会在输出邮件中使用类似_id(元数据)的变量。 但它不起作用,因为它不能像变量一样考虑周到。 有人知道吗? 我以这种方式进行输出:
elasticsearch _id需要变量日志存储输出电子邮件,
elasticsearch,logstash,
elasticsearch,Logstash,我会在输出邮件中使用类似_id(元数据)的变量。 但它不起作用,因为它不能像变量一样考虑周到。 有人知道吗? 我以这种方式进行输出: elasticsearch { hosts => [ "https://xxx:9200" ] ssl => true ssl_certificate_verification => false user => "admin" password =&g
elasticsearch {
hosts => [ "https://xxx:9200" ]
ssl => true
ssl_certificate_verification => false
user => "admin"
password => "admin"
index => "apache"
}
stdout { codec => rubydebug }
if [tags] {
email {
to => "xxx"
address => "smtp.gmail.com"
port => 587
username => "xxx"
password => "xxx"
use_tls => true
body => "something happened: %{message} http://xxx/5601/app/discover#/doc/82de0080-acd9-11eb-a4b8-614232a13000/indexname?id=%{id}"
}}} ```
我会采取不同的做法,利用Kibana中的功能 您可以在上设置警报(例如,
标记
存在),并决定发送警报
更新:
使用OpenDistro时,您可以访问他们的电子邮件,这些电子邮件以类似的方式工作,您可以使用它们发送警报。我认为您正在尝试创建一封电子邮件,其中包含指向相关文档的直接链接 您可以通过对现有配置进行三个小更改来实现这一点
筛选阶段生成“id”字符串
document\u id
过滤器{
uuid{
target=>“[@metadata][uuid]”
}
}
这将生成一个随机UUID,它应该足以满足您的需要。如果您希望使用一致散列(例如,用于重复数据消除),请使用指纹
将document\u id
设置为id字符串
通过在elasticsearch输出中添加document\u id=>“[@metadata][UUID]”
,将UUID用作\u id
elasticsearch{
主机=>[”https://xxx:9200" ]
ssl=>true
ssl\u证书\u验证=>错误
用户=>“******”
密码=>“******”
索引=>“apache”
文档\u id=>“[@metadata][uuid]”
}
更多详细信息,请参阅Elasticsearch输出插件文档
在电子邮件输出正文模板中包含ID字符串
您的正文
行应更新为包含%{[@metadata][uuid]}
body=>“发生了一些事情:%{message}http://xxx/5601/app/discover#/doc/82de0080-acd9-11eb-a4b8-614232a13000/indexname?id=%{[@metadata][uuid]}”
关于Kibana索引模式参考的注释
我假设82de0080-acd9-11eb-a4b8-614232a13000
是与此处ES索引相关的Kibana索引模式的对象ID。对于其他索引模式,或者对于尝试相同操作的其他索引模式,确定适当字符串的最简单方法是在Kibana中导航到单个文档,然后替换为上面的ID变量
或者,在撰写本文时(2021年5月),您可以将该字符串替换为单词mixed
,如下所示:
http://xxx/5601/app/discover#/doc/mixed/indexname?id=%{[@metadata][uuid]}
这可能会在将来出现问题,您仍然需要正确使用indexname
。是的,我以前尝试过,但我使用的是开放发行版,它在OD中并不完善。当然,这一功能不在开放发行版中,但OD提供了另一种类似的方式,您可以使用它发送警报。