如果5分钟内没有登录kibana,则发出警报。
我尝试了扁平警报。它会发出警报,但不会告诉哪个IP已停止发送日志。假设有4个IP将日志发送到Kibana,并且如果我创建一个以query_key作为ipaddress的扁平警报,它将被正确触发。但是,松弛状态下的警报详细信息无法确定日志停止进入Kibana的IP地址。我必须去Kibana并为每个IP手动运行查询以找出正确的IP。因此,我正在寻找备用警报。
nextrulename: RLCMNoKibanaLogs
index: logstash-*
type: flatline
query_key: ["@module_tag", "ipaddr"]
threshold: 1
timeframe:
minutes: 5
realert:
minutes: 0
use_count_query: true
doc_type: fluentd
filter:
- query:
query_string:
query: '@module_tag:rlcm'
alert: my_alerts.AlertManager
labels:
alertsrc: ElasticSearch
kafka: 'true'
slack: 'true'
severity: info
annotations:
description: No logs reaching kibana for RLCM component.
summary: No logs available in Kibana from RLCM for the last 5 minutes.
此警报已正确触发,但不显示已停止其IP日志的警报。因此,我正在寻找替代扁平日志警报的方法,以处理Kibana情况下的“无日志”问题。任何帮助都会很棒。
答案 0 :(得分:0)
此处的 flatline 规则的阈值为1,这意味着如果特定 query_key 没有事件发生,您将收到警报,但是这意味着您没有匹配项,因此无法像频率这样的规则类型那样附加任何与该事件相关的信息。
解决方法是访问 query_key ,可以使用警报描述中的 key 关键字来访问它,
No logs for query_key: {key} reaching kibana for RLCM component.
您可能还需要禁用use_count_query: true
才能使其正常工作