Оповещение/уведомление с использованием Kibana3?

Я использую logstash-1.4.1, elasticsearch-1.1.1 и kibana-3.1.0 для анализа своих журналов. Я могу просматривать и запрашивать свои журналы.

Существует потребность в предупреждении/уведомлении, когда происходит определенный журнал/событие. Например: когда журнал неудачных попыток входа появляется снова и снова, требуется предупреждение/уведомление (всплывающее окно, по почте и т. д.).

В настоящее время я могу запросить свой журнал, например, для неудачного входа в систему, но я хочу, чтобы всякий раз, когда такой журнал появляется, появляется уведомление/всплывающее окно, чем я вручную запрашиваю его.

Можно ли это сделать, используя три вышеуказанных ?? Как этого добиться?


person Siddharth Trikha    schedule 30.05.2014    source источник
comment
См. также github.com/Yelp/elastalert.   -  person fche    schedule 29.09.2016


Ответы (5)


Вы можете использовать Watcher для мониторинга Elasticsearch. Он оповещает вас по почте.

Для получения дополнительной информации перейдите по этой ссылке:
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. Убедитесь, что Watcher настроен:

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'
person krishna kumar    schedule 20.02.2016

В logstash есть опция email, в которой при обнаружении определенного шаблона в журнале можно отправить электронное письмо. Просмотрите документы для дальнейшего чтения: http://logstash.net/docs/1.4.1/outputs/email

person Siddharth Trikha    schedule 03.06.2014

Вы можете отслеживать эластичный поиск с помощью «Watcher» (один из их продуктов).

Вот ссылка с информацией о продукте: https://www.elastic.co/products/watcher

На следующей странице вы можете ознакомиться с руководством по продукту: https://www.elastic.co/guide/en/watcher/current/index.html

person jaguililla    schedule 10.12.2015

Вот как выполнять оповещения и мониторинг по электронной почте с помощью обновленных ES и Kibana. Я использую elasticsearch-5.5.0, kibana-5.5.0 с помощью XPack и Watcher.

Шаг 1. Установите XPack для Elasticsearch и Kibana

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 Dev Tools (вы также можете сделать это с помощью команды 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, так что все в одном месте! Спасибо

person imapotatoe123    schedule 07.11.2017

Существует оооочень длинная ветка, обсуждающая это как дополнение к Kibana (хотя они, естественно, фокусируются на Kibana 4 к настоящему времени).

Текущее состояние: Нет, пока нет и даже не планируется. Но есть несколько вариантов, которые упоминаются:

https://github.com/Yelp/elastalert

а также

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

person Jens Schauder    schedule 26.08.2015