使用Kibana3发出警报/通知?

Sid*_*kha 10 alert elasticsearch logstash kibana

我正在使用logstash-1.4.1,elasticsearch-1.1.1kibana-3.1.0用于分析我的日志.我能够查看和查询我的日志.

需要在特定日志/事件发生时需要警报/通知.例如:当一次又一次地发生登录失败日志时,需要警报/通知(弹出,通过邮件等).

目前我可以查询我的日志,就像失败的登录一样,但我想要它,只要出现这样的日志,就会出现一个通知/弹出窗口而不是我手动查询它.

可以用以上三种方法完成吗?怎么能实现这一目标?

小智 9

您可以使用 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
Run Code Online (Sandbox Code Playgroud)

第2步 - 重新启动Elasticsearch:

ES_HOME/bin/elasticsearch
Run Code Online (Sandbox Code Playgroud)

第3步 - 验证Watcher是否已设置:

curl -XGET 'http://localhost:9200/_watcher/stats?pretty'
Run Code Online (Sandbox Code Playgroud)

第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
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

第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> 
Run Code Online (Sandbox Code Playgroud)

第6步 - 删除观察者:

curl -XDELETE'http://localhost:9200/_watcher/watch/log_error_watch'
Run Code Online (Sandbox Code Playgroud)


Sid*_*kha 6

email在logstash中有一个选项,其中在检测到日志中的某个模式时可以发送电子邮件.查看文档以供进一步阅读:http://logstash.net/docs/1.4.1/outputs/email