12

Elasticsearch ホストで elastalert インスタンスを構成しました。また、ログレベルをチェックし、そのパターンがログで一致したときにアラートを出すルールの例も作成しました。

すべてが正常に機能しており、slack チャネルでアラートを正しく受信しています。

唯一の懸念は、私が受け取っているアラートの情報/データです。elastalert プラグインは、探しているパターンに関連付けられたすべての属性を送信しています。しかし、私はすべての情報に興味があるわけではありません。私が気にしているのは、いくつかの特定の属性についてです。

これが私のルールの例です:

# Alert when the rate of events exceeds a threshold

# (Optional)
# Elasticsearch host
 es_host: 

# (Optional)
# Elasticsearch port
 es_port: 

# (OptionaL) Connect with SSL to elasticsearch
#use_ssl: True

# (Optional) basic-auth username and password for elasticsearch
#es_username: someusername
#es_password: somepassword

# (Required)
# Rule name, must be unique
 name: DB2 test Rule

# (Required)
# Type of alert.
# the frequency rule type alerts when num_events events occur with timeframe time
 type: frequency

# (Required)
# Index to search, wildcard supported
 index: logstash-* # logstash-2016.04.05 #logstash-YYYY.MM.DD # logstash-*

# (Required, frequency specific)
# Alert when this many documents matching the query occur within a timeframe
 num_events: 1

# (Required, frequency specific)
# num_events must occur within this amount of time to trigger an alert
 timeframe:
  hours: 12

# (Required)
# A list of elasticsearch filters used for find events
# These filters are joined with AND and nested in a filtered query
# For more info: http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl.html
 filter:
 - query:
    query_string:
      query: "type: db2 AND logLevel: Warning"

# (Required)
# The alert is use when a match is found
 alert:
 - "slack"
 slack:
 slack_webhook_url: "XYZ"

Slack チャンネルに表示されるアラートは次のようになります。

DB2 test Rule
DB2 test Rule

At least 1 events occurred between 2016-04-29 07:51 UTC and 2016-04-29 19:51 UTC

@timestamp: 2016-04-29T19:51:45.940Z
@version: 1
_id: 
_index: logstash-2016.04.29
_type: db2
apphdl: 
appid: 
authid: 
day: 29
db: NEO
eduid: 
eduname: 
function: 
host: 
hostname: 
hour: 14
id: 
instance: 
logLevel: Warning
logMessage: 
LOADID: 
DATA #2 : 
Completed 
message:       LEVEL: Warning

そしてETC ETC...

この警告メッセージをカスタマイズして、関心のある属性のみを警告するようにしたいと思います。(ex タイムライン、ログレベルなど)

それを行う方法はありますか?追求するための少しの助けや方向性は非常に高く評価されています.

4

1 に答える 1

22

ElastAlert のドキュメントによると、アラートを制限して、ドキュメントの特定のフィールドのみを含めることができますinclude

あなたの場合は次のようになります。

include: ["@timestamp", "logLevel", "message"]
于 2016-05-02T04:10:14.370 に答える