使ってます logstash-1.4.1
、elasticsearch-1.1.1
およびkibana-3.1.0
私のログを分析するため。ログを表示および照会できます。
特定のログ/イベントが発生したときにアラート/通知が必要になる必要があります。例:ログイン失敗ログが何度も発生する場合、アラート/通知(ポップアップ、メールなど)が必要です。
現在、ログイン失敗のようにログをクエリできますが、手動でクエリするよりも、そのようなログが表示されるたびに通知/ポップアップが表示されるようにしたいです。
これは上記の3つを使用して行うことができますか?これはどのように達成できますか?
Logstashにはemail
オプションがあり、ログ内の特定のパターンを検出すると、電子メールを送信できます。詳細については、ドキュメントを参照してください: http://logstash.net/docs/1.4.1/outputs/email
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'
更新されたESとKibanaを使用して電子メールのアラートと監視を実行する方法は次のとおりです。 XPackとWatcherを使用してelasticsearch-5.5.0
、kibana-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か所にまとめられています。ありがとう
'Watcher'(同社の製品の1つ)を使用してelasticsearchを監視できます。
製品情報へのリンクは次のとおりです。 https://www.elastic.co/products/watcher
そして、次のページで製品ガイドを確認できます: https://www.elastic.co/guide/en/watcher/current/index.html
Kibanaへの追加として これについて議論しているlooooongスレッド があります(彼らは今では当然Kibana 4に焦点を合わせていますが)。
現在の状況:いいえ、まだありませんし、今のところ計画もされていません。しかし、言及されるいくつかのオプションがあります:
https://github.com/Yelp/elastalert
そして