ELK 7.x -- elastalert 企业微信告警

Elastalert_Wechat_Plugin

基于ElastAlert的微信企业号报警插件

  • https://github.com/Yelp/elastalert
  • https://github.com/Hello-Linux/elastalert_wechat_plugin

使用说明

申请企业微信公众号在这里我就不详细说明了,大家可以看看网上的教程去申请
下面主要介绍一下该插件的使用方法

第一步:

首先你要确保你已经安装好了python的报警框架elastalert(https://github.com/Yelp/elastalert.git)
具体的安装方法可以参考官方的文档https://elastalert.readthedocs.io/en/latest/running_elastalert.html

下面我以克隆仓库安装为例

  • (1)克隆代码
git clone https://github.com/Yelp/elastalert.git
  • (2)使用python2.7的pip管理工具安装依赖包
pip install -r requirements.txt
pip install -r requirements-dev.txt
  • (3)执行安装
python2.7 setup.py install

第二步

修改配置文件
打开config/config.yaml按照里面的说明进行配置,其中官方es_rules中放置的是一个wechat规则模板大家可以简单修改一下继续使用

第三步

将elastalert_wechat_plugin目录下的所有文件拷贝到elastalert目录下即可

第四步

创建Elasticsearch索引
进入我们的项目目录./elastalert/elastalert/ 执行
python2.7 create_index.py --config ../config/config.yaml --host es_host --port ex_post --username es_username --password es_password --no-ssl --no-verify-certs
这个命令会在elasticsearch创建索引,便于ElastAlert将有关其查询及其警报的信息和元数据保存回Elasticsearch。这不是必须的步骤,但是强烈建议创建。因为对于审计,测试很有用,并且重启elastalert不影响计数和发送alert。默认情况下,创建的索引叫 elastalert_status

第五步

启动
python2.7 -m elastalert.elastalert --verbose --config config/config.yaml --rule rules/wechart.yaml
config指定配置文件路径  rule指定你的微信报警文件

相关文件如下

 config.yaml
rules_folder: /data/elk/elastalert/rules

run_every:
  minutes: 1

buffer_time:
  minutes: 15

es_host: rom-kafka-2
es_port: 9200
#es_url_prefix: elasticsearch
use_ssl: False
verify_certs: False
#es_send_get_body_as: GET
es_username: elastic
es_password: changeme

#verify_certs: True
#ca_certs: /path/to/cacert.pem
#client_cert: /path/to/client_cert.pem
#client_key: /path/to/client_key.key

writeback_index: elastalert_status
alert_time_limit:
  days: 2
wechat.yaml
# Alert test
es_host: rom-kafka-2 
es_port: 9200 
es_username: elastic 
es_password: elastic
use_ssl: False
name: wechat_alert               
type: frequency 
index: log*
num_events: 1
timeframe:
  minutes: 5

realert:
  minutes: 5

exponential_realert:
  hours: 1

filter:
- term:
    level.keyword: "error"

alert:
- "elastalert_modules.wechat_qiye_alert.WeChatAlerter"

alert_text_args:
  - name
  - num_hits
  - message

corp_id: "wwf66d9b7ea0f9bdc6"
secret: "1STRPTXAp5VMkKETTECokf_4E1ZqbiFhWotoIJfjZUU"
agent_id: 1000002
party_id: ""
user_id: "@all"
tag_id: ""

你可能感兴趣的:(Elasticseach)