申请企业微信公众号在这里我就不详细说明了,大家可以看看网上的教程去申请
下面主要介绍一下该插件的使用方法
第一步:
首先你要确保你已经安装好了python的报警框架elastalert(https://github.com/Yelp/elastalert.git)
具体的安装方法可以参考官方的文档https://elastalert.readthedocs.io/en/latest/running_elastalert.html
A continuación tomo como ejemplo la instalación del repositorio de clones.
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
Este comando creará un índice en elasticsearch para que ElastAlert pueda guardar información y metadatos sobre su consulta y sus alertas en Elasticsearch. Este no es un paso obligatorio, pero es muy recomendable. Porque para auditar, las pruebas son útiles y reiniciar elastalert no afecta el conteo y el envío de alertas. Por defecto, el índice creado se llama elastalert_status
第五步
启动
python2.7 -m elastalert.elastalert --verbose --config config/config.yaml --rule es_rules/wechart.yaml
config指定配置文件路径 rule指定你的微信报警文件
Si necesita instrucciones y un proceso de instalación más detallado, consulte mi Toutiao Today Toutiao
puesta en marcha
docker run -d hellolinux/elastalert_wechat_plugin:latest
镜像自定义配置文件部署
Descargue el código git https://github.com/Hello-Linux/elastalert_wechat_plugin.git. Hay archivos de configuración y es_rules dentro. Modifique los archivos de configuración y los archivos de configuración de reglas y móntelos en su contenedor.
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版本
La variable de entorno ENV ELASTALERT_VERSION existe en Dockerfile. El valor predeterminado es v0.1.38. Modifíquelo a otras versiones para su ejecución.
docker -e ELASTALERT_VERSION=版本号
docker镜像地址
imagen acoplable
1.报警时间显示的是UTC时间
Esto se debe principalmente al hecho de que logstash usa la hora UTC subyacente después de pasarla a Elasticsearch. La solución es comenzar con el filtro logstash y usar date o grok para personalizar la marca de tiempo.
complemento de filtro de fecha:
filter {
date {
match = > [ " timestamp " , " dd/MMM/yyyy:HH:mm:ss " ]
target = > " @timestamp "
locale= > " en "
timezone = > " UTC "
}
}
La marca de tiempo anterior se refiere al campo de hora en su registro, y el "dd/MMM/yyyy:HH:mm:ss" detrás de él se refiere al formato de su registro. Esto depende de su registro y puede no ser el mismo que el mío.
complemento de filtro de fecha
filter {
grok {
match = > { " message " = > " (?<logtime>d{4}-d{2}-d{2} d{2}:d{2}:d{2},d{1,3}) " }
}
}
Lo anterior es solo una simple coincidencia de la hora en el registro. Depende de su propia situación. Aquí se agrega un campo de tiempo de registro, el que está en su complemento de alarma.
alert_text_args:
- @timestamp
- message
@timestamp también debe reemplazarse con el campo logtime.
2.如何给企业微信多个部门发送告警
Todavía no hay tiempo para hacer esto. Una solución de compromiso es escribir múltiples reglas en es_rules para implementar indirectamente el envío de alarmas para múltiples ID de departamento.
3.企业微信收不到报警
Esto es principalmente para verificar si sus reglas de alarma se han activado y, en segundo lugar, si las configuraciones en su cuenta oficial de WeChat son correctas.
伸出您可爱的双手支持一下作者呗!给他一点继续更新下去的勇气!