申请企业微信公众号在这里我就不详细说明了,大家可以看看网上的教程去申请
下面主要介绍一下该插件的使用方法
第一步:
首先你要确保你已经安装好了python的报警框架elastalert(https://github.com/Yelp/elastalert.git)
具体的安装方法可以参考官方的文档https://elastalert.readthedocs.io/en/latest/running_elastalert.html
أدناه سأأخذ تثبيت مستودع النسخ كمثال.
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
سيقوم هذا الأمر بإنشاء فهرس في Elasticsearch حتى يتمكن ElastAlert من حفظ المعلومات والبيانات التعريفية حول استعلامه وتنبيهاته مرة أخرى إلى Elasticsearch. هذه ليست خطوة مطلوبة، ولكن يوصى بها بشدة. لأنه بالنسبة للتدقيق فإن الاختبار مفيد، وإعادة تشغيل elastalert لا تؤثر على عد التنبيهات وإرسالها. بشكل افتراضي، يسمى الفهرس الذي تم إنشاؤه elastalert_status
第五步
启动
python2.7 -m elastalert.elastalert --verbose --config config/config.yaml --rule es_rules/wechart.yaml
config指定配置文件路径 rule指定你的微信报警文件
إذا كنت بحاجة إلى عملية تثبيت وتعليمات أكثر تفصيلاً، فيرجى الرجوع إلى Toutiao Today Toutiao الخاص بي
.بدء
docker run -d hellolinux/elastalert_wechat_plugin:latest
镜像自定义配置文件部署
قم بتنزيل كود git https://github.com/Hello-Linux/elastalert_wechat_plugin.git. توجد ملفات config وes_rules بالداخل. قم بتعديل ملفات التكوين وملفات تكوين القاعدة وقم بتثبيتها في الحاوية الخاصة بك.
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版本
يوجد متغير البيئة ENV ELASTALERT_VERSION في ملف Docker. القيمة الافتراضية هي v0.1.38. قم بتعديله إلى إصدارات أخرى للتنفيذ.
docker -e ELASTALERT_VERSION=版本号
docker镜像地址
صورة عامل الميناء
1.报警时间显示的是UTC时间
ويرجع ذلك أساسًا إلى حقيقة أن logstash يستخدم وقت UTC الأساسي بعد تمريره إلى Elasticsearch. والحل هو البدء بمرشح logstash واستخدام التاريخ أو grok لتخصيص الطابع الزمني.
البرنامج المساعد لتصفية التاريخ:
filter {
date {
match = > [ " timestamp " , " dd/MMM/yyyy:HH:mm:ss " ]
target = > " @timestamp "
locale= > " en "
timezone = > " UTC "
}
}
يشير الطابع الزمني أعلاه إلى حقل الوقت في السجل الخاص بك، ويشير "dd/MMM/yyyy:HH:mm:ss" الموجود خلفه إلى تنسيق السجل الخاص بك، وهذا يعتمد على السجل الخاص بك وقد لا يكون مماثلاً لسجلي.
البرنامج المساعد لتصفية التاريخ
filter {
grok {
match = > { " message " = > " (?<logtime>d{4}-d{2}-d{2} d{2}:d{2}:d{2},d{1,3}) " }
}
}
ما ورد أعلاه هو مجرد مطابقة بسيطة للوقت في السجل، ويعتمد ذلك على حالتك الخاصة. إليك حقل السجل الذي تمت إضافته منذ تغيير الحقل، وهو الحقل الموجود في البرنامج الإضافي للمنبه
alert_text_args:
- @timestamp
- message
يحتاج @timestamp أيضًا إلى استبداله بحقل وقت التسجيل.
2.如何给企业微信多个部门发送告警
ليس هناك وقت للقيام بذلك حتى الآن. الحل الوسط هو كتابة قواعد متعددة في es_rules لتنفيذ إرسال التنبيه بشكل غير مباشر لمعرفات أقسام متعددة.
3.企业微信收不到报警
يهدف هذا بشكل أساسي إلى التحقق من تفعيل قواعد الإنذار لديك، وثانيًا ما إذا كانت التكوينات في حسابك الرسمي على WeChat صحيحة.
伸出您可爱的双手支持一下作者呗!给他一点继续更新下去的勇气!