[转载] ELK 7.x -- elastalert 企业微信告警

Elastalert_Wechat_Plugin

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

安装elastalert

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

(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
本文链接: www.appblog.cn/2019/11/23/ELK 7.x – elastalert 企业微信告警/

讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!