web-dev-qa-db-ja.com

Kibana3を使用したアラート/通知?

使ってます logstash-1.4.1elasticsearch-1.1.1およびkibana-3.1.0私のログを分析するため。ログを表示および照会できます。

特定のログ/イベントが発生したときにアラート/通知が必要になる必要があります。例:ログイン失敗ログが何度も発生する場合、アラート/通知(ポップアップ、メールなど)が必要です。

現在、ログイン失敗のようにログをクエリできますが、手動でクエリするよりも、そのようなログが表示されるたびに通知/ポップアップが表示されるようにしたいです。

これは上記の3つを使用して行うことができますか?これはどのように達成できますか?

10

Logstashにはemailオプションがあり、ログ内の特定のパターンを検出すると、電子メールを送信できます。詳細については、ドキュメントを参照してください: http://logstash.net/docs/1.4.1/outputs/email

6

Elasticsearchの監視にはWatcherを使用できます。メールでお知らせします。

詳細については、次のリンクを参照してください。
https://www.elastic.co/products/watcher

次の手順に従って、Watcherを構成できます。

ステップ1– Watcher用プラグインのインストール(1.7用):

bin/plugin --install elasticsearch/watcher/latest
bin/plugin --install elasticsearch/license/latest

ステップ2– Elasticsearchを再起動します:

ES_HOME/bin/elasticsearch

ステップ3–ウォッチャーが設定されていることを確認します。

curl -XGET 'http://localhost:9200/_watcher/stats?pretty'

ステップ4–ログデータでエラーを監視します。

PUT /_watcher/watch/log_error_watch
{
    "trigger": {
        "schedule": {
            "interval": "10m"
        }
    },
    "input": {
        "search": {
            "request": {
                "indices": ["logs"],
                "body": {
                    "query": {
                        "match": {
                            "message": "error"
                        } 
                    }
                }
            }
        }
    },
    "condition": {
        "compare": {
            "ctx.payload.hits.total": {
                "gt": 0
            }
        }
    },
    "actions": {
        "send_email": {
            "email": {
                "to": "<username>@<domainname>",
                "subject": "Cluster logs",
                "body": "Cluster Error Logs ",
                "attach_data": true
            }
        }
    }
}

ステップ5–電子メールを構成します(以下の行をelasticsearch.ymlに追加します):

watcher.actions.email.service.account:
    work:
    profile: gmail
    email_defaults:
    from: <email> 
    smtp:
    auth: true
    starttls.enable: true
    Host: smtp.gmail.com
    port: 587
    user: <username> 
    password: <password> 

ステップ6–ウォッチャーを削除するには:

curl -XDELETE'http://localhost:9200/_watcher/watch/log_error_watch'
9
krishna kumar

更新されたESとKibanaを使用して電子メールのアラートと監視を実行する方法は次のとおりです。 XPackとWatcherを使用してelasticsearch-5.5.0kibana-5.5.0を使用しています。

手順1.ElasticsearchとKibana用のXPackをインストールする

bin/elasticsearch-plugin install x-pack
bin/kibana-plugin install x-pack

ステップ2.ESとKibanaを再起動します

./bin/elasticsearch
./bin/kibana

手順3.elasticsearch.ymlでメールアカウントを設定します

xpack.notification.email.account:
    Outlook_account: 
        profile: Outlook
        email_defaults: 
            from: <sender-email>
        smtp: 
            auth: true
            starttls.enable: true
            Host: smtp-mail.Outlook.com
            port: 587
            user: <username> 
            password: <password>

**これをsparkpostで試してみましたが、まったく問題なく動作しました。プロファイルをsparkpostmailに変更し、ホストをsmtp.sparkpostmail.comに変更しました。他の電子メール設定のガイドに従うことができます: https://www.elastic.co/guide/en/x-pack/5.6/actions-email.html#configuring-email-actions

ステップ4:Kibana開発ツールで電子メールアクションを構成する(これはcurlコマンドとしても実行できます)

PUT _xpack/watcher/watch/error_report
  {
    "trigger": {
       "schedule": {
          "interval": "1h" <OR TIME INTERVAL TO MONITOR AND ALERT>
                   }
                },
      "input": {
         "search": {
          "request": {
          "indices": [
            "logs"
                      ],
      "body": {
        "query": {
          "match": {
           "message": "error"
                   } 
              }
                }
                 }
                 }
              },
       "actions": {
         "send_email": {
         "email": {
         "to": "<YOUR EMAIL>",
         "subject": "Cluster logs",
         "body": "Cluster Error Logs ",
         "attach_data": true
                   }
                 }
               }
              }

または!ダッシュボードまたはビジュアライゼーションを電子メールで送信するようにKibanaを構成する場合は、次の電子メールアクションを構成します。

PUT _xpack/watcher/watch/error_report
{
    "trigger" : {
    "schedule": {
      "interval": "<TIME_INTERVAL>"
    }
  },
  "actions" : {
    "send_email" : { 
      "email": {
        "to": "<YOUR EMAIL>",
        "subject": "Error Monitoring Dashboard",
        "attachments" : {
            "error_dashboard.pdf" : {
                "reporting" : {
                  "url": "http://<YOUR_Host>:5601/api/reporting/generate/dashboard/<DASHBOARD_ID>?_g=(time:(from:now-7d%2Fd,mode:quick,to:now))", // This is where you configure settings like time interval
                  "retries":6, 
                  "interval":"15s", 
                  "auth":{ 
                    "basic":{
                       "username":"<USERNAME>",
                       "password":"<PASSWORD>"
                }
              }
            }
          }
        }
      }
    }
  }
}

ステップ5(オプション)。 Kibanaの開発ツールの使用が終了したら、ウォッチャーを削除します。

DELETE _xpack/watcher/watch/log_error_watch

これは、kibanaとxpackの更新に関する上記の回答の簡潔な更新であるため、すべてが1か所にまとめられています。ありがとう

2
imapotatoe123

'Watcher'(同社の製品の1つ)を使用してelasticsearchを監視できます。

製品情報へのリンクは次のとおりです。 https://www.elastic.co/products/watcher

そして、次のページで製品ガイドを確認できます: https://www.elastic.co/guide/en/watcher/current/index.html

2
jamming

Kibanaへの追加として これについて議論しているlooooongスレッド があります(彼らは今では当然Kibana 4に焦点を合わせていますが)。

現在の状況:いいえ、まだありませんし、今のところ計画もされていません。しかし、言及されるいくつかのオプションがあります:

https://github.com/Yelp/elastalert

そして

https://bosun.org/expressions.html#logstash-query-functions

1
Jens Schauder