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

Elastalert_Wechat_Plugin

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

安装elastalert

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

(1) 克隆代码

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

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

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

(3) 执行安装

python setup.py install

修改配置文件

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

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

安装elastalert_wechat_plugin

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

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

创建Elasticsearch索引

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

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

启动

python -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: 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
# 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: ""

版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/25/elk-7-elastalert-enterprise-wechat-alert/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
ELK 7.x — elastalert 企业微信告警
Elastalert_Wechat_Plugin 基于ElastAlert的微信企业号报警插件 elastalert: https://github.com/Yelp/elastalert elastalert_wechat_plugin: https://github……
<<上一篇
下一篇>>
文章目录
关闭
目 录