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

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

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

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

можно ли это сделать с помощью вышеуказанных трех ?? Как этого можно достичь?

5 ответов


можно использовать наблюдатель для мониторинга 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'

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


вы можете контролировать elasticsearch с помощью "Watcher" (один из их продуктов).

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

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


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

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

https://github.com/Yelp/elastalert

и

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


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