申请企业微信公众号在这里我就不详细说明了,大家可以看看网上的教程去申请
下面主要介绍一下该插件的使用方法
第一步:
首先你要确保你已经安装好了python的报警框架elastalert(https://github.com/Yelp/elastalert.git)
具体的安装方法可以参考官方的文档https://elastalert.readthedocs.io/en/latest/running_elastalert.html
Di bawah ini saya mengambil instalasi repositori clone sebagai contoh.
git clone https://github.com/Yelp/elastalert.git
pip install -r requirements.txt
pip install -r requirements-dev.txt
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
Perintah ini akan membuat indeks di elasticsearch sehingga ElastAlert dapat menyimpan informasi dan metadata tentang kueri dan peringatannya kembali ke Elasticsearch. Ini bukan langkah wajib, namun sangat disarankan. Karena untuk audit, pengujian berguna, dan memulai ulang elastalert tidak memengaruhi penghitungan dan pengiriman peringatan. Secara default, indeks yang dibuat disebut elastalert_status
第五步
启动
python2.7 -m elastalert.elastalert --verbose --config config/config.yaml --rule es_rules/wechart.yaml
config指定配置文件路径 rule指定你的微信报警文件
Jika Anda memerlukan proses dan instruksi instalasi lebih detail, silakan merujuk ke Toutiao Today Toutiao saya
rintisan
docker run -d hellolinux/elastalert_wechat_plugin:latest
镜像自定义配置文件部署
Unduh kode git https://github.com/Hello-Linux/elastalert_wechat_plugin.git. Ada file config dan es_rules di dalamnya. Ubah file konfigurasi dan file konfigurasi aturan dan pasang ke dalam container Anda.
cd elastalert_wechat_plugin
docker run -d -v ` pwd ` /config:/opt/elastalert/config -v ` pwd ` /es_rules:/opt/elastalert/es_rules hellolinux/elastalert_wechat_plugin:latest
自定义elastalert版本
Variabel lingkungan ENV ELASTALERT_VERSION ada di Dockerfile. Nilai defaultnya adalah v0.1.38. Ubah ke versi lain untuk dieksekusi.
docker -e ELASTALERT_VERSION=版本号
docker镜像地址
gambar buruh pelabuhan
1.报警时间显示的是UTC时间
Hal ini terutama disebabkan oleh fakta bahwa logstash menggunakan waktu UTC yang mendasarinya setelah diteruskan ke Elasticsearch. Solusinya adalah memulai dengan filter logstash dan menggunakan tanggal atau grok untuk menyesuaikan stempel waktu.
plugin filter tanggal:
filter {
date {
match = > [ " timestamp " , " dd/MMM/yyyy:HH:mm:ss " ]
target = > " @timestamp "
locale= > " en "
timezone = > " UTC "
}
}
Stempel waktu di atas mengacu pada kolom waktu di log Anda, dan "dd/MMM/yyyy:HH:mm:ss" di belakangnya mengacu pada format log Anda. Ini tergantung pada log Anda dan mungkin tidak sama dengan milik saya.
plugin filter tanggal
filter {
grok {
match = > { " message " = > " (?<logtime>d{4}-d{2}-d{2} d{2}:d{2}:d{2},d{1,3}) " }
}
}
Di atas hanyalah pencocokan waktu sederhana dalam log. Ini tergantung pada situasi Anda sendiri. Berikut adalah kolom waktu log yang ditambahkan
alert_text_args:
- @timestamp
- message
@timestamp juga perlu diganti dengan bidang logtime.
2.如何给企业微信多个部门发送告警
Belum ada waktu untuk melakukan hal ini. Solusi kompromi adalah dengan menulis beberapa aturan di es_rules untuk secara tidak langsung mengimplementasikan pengiriman alarm untuk beberapa ID departemen.
3.企业微信收不到报警
Hal ini terutama untuk memeriksa apakah aturan alarm Anda telah terpicu, dan kedua apakah konfigurasi di akun resmi WeChat Anda sudah benar.
伸出您可爱的双手支持一下作者呗!给他一点继续更新下去的勇气!