在Kibana中没有登录的弹性搜索警报

时间:2019-05-08 15:56:29

标签: elasticsearch kibana elasticsearch-2.0 elastalert

如果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情况下的“无日志”问题。任何帮助都会很棒。

1 个答案:

答案 0 :(得分:0)

此处的 flatline 规则的阈值为1,这意味着如果特定 query_key 没有事件发生,您将收到警报,但是这意味着您没有匹配项,因此无法像频率这样的规则类型那样附加任何与该事件相关的信息。

解决方法是访问 query_key ,可以使用警报描述中的 key 关键字来访问它,

No logs for query_key: {key} reaching kibana for RLCM component.

您可能还需要禁用use_count_query: true才能使其正常工作