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

Elastalert_Wechat_Plugin

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

安装elastalert

具体安装方法可以参考官方文档:https://elastalert.readthedocs.io/en/latest/running_elastalert.html

(1) 克隆代码

1
git clone https://github.com/Yelp/elastalert.git

(2) 使用Python的pip管理工具安装依赖包

1
2
pip install -r requirements.txt
pip install -r requirements-dev.txt

(3) 执行安装

1
python setup.py install

修改配置文件

打开config/config.yaml,按照里面的说明进行配置

其中官方es_rules中放置的是一个wechat规则模板,可以简单修改一下继续使用

安装elastalert_wechat_plugin

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

1
git clone https://github.com/Hello-Linux/elastalert_wechat_plugin.git

创建Elasticsearch索引

进入项目目录./elastalert/elastalert/执行

1
python 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

启动

1
python -m elastalert.elastalert --verbose --config config/config.yaml --rule rules/wechart.yaml

-config指定配置文件路径,-rule指定微信报警文件

相关配置文件

  • config.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
rules_folder: /data/elk/elastalert/rules

run_every:
minutes: 1

buffer_time:
minutes: 15

es_host: appblog-elasticsearch
es_port: 9200
#es_url_prefix: elasticsearch
use_ssl: False
verify_certs: False
#es_send_get_body_as: GET
es_username: elastic
es_password: elastic

#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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# Alert test
es_host: appblog-elasticsearch
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: "1"
user_id: "@all"
tag_id: ""

Powered by AppBlog.CN     浙ICP备14037229号

Copyright © 2012 - 2020 APP开发技术博客 All Rights Reserved.

访客数 : | 访问量 :