0

如果 kibana 5 分钟内没有登录,则发出警报。

我尝试了扁平线警报。它会发出警报,但不会告诉哪个 IP 已停止发送日志。假设有 4 个 IP 向 Kibana 发送日志,如果我使用 query_key 作为 ipaddress 创建一个扁平警报,它会被正确触发。但是 slack 中的警报详细信息并没有说明日志停止到达 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 日志已停止。因此,我正在寻找一种替代 flatline 日志警报的方法来处理 Kibana 中无日志的情况。任何帮助都会很棒。

4

1 回答 1

2

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

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

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

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

于 2019-05-25T11:03:04.440 回答