一、elastalert的作用
是一款可以用于监控告警的框架,依据的是不断轮训ES,查询出数据,在满足了自己配置的一些规则之后进行响应的后续操作,比如发邮件等。
环境信息:
操作系统:Centos7.4
ES版本:Elasticsearch 7.11
Python版本:Python3.6
二、elastalert安装准备工作
1、安装python3
$ yum -y install python3
[root@k8s-slave1 ~]# which python3
/bin/python3
[root@k8s-slave1 ~]# which pip3
/bin/pip3
2、安装系统相关依赖包
yum -y install gcc python36-devel libxml3 libxml3-devel libxslt libxslt-devel openssl
3、下载elastalert安装包,并解压到/usr/local/elastalert(为了方便管理,任何位置均可)
$ wget https://github.com/Yelp/elastalert/archive/refs/heads/master.zip
$ unzip master.zip
$ mv elastalert-master/ elastalert
$ mv elastalert /usr/local
三、开始安装
1、进入/usr/local/elastalert目录
2、运行安装命令
python3 setup.py install
3、处理报错信息
$ pip3 install setuptools-rust
4、再次执行安装命令
python3 setup.py install
四、安装情况
1、生成了相关可执行文件
2、关于配置文件与规则文件,均在/usr/local/elastalert目录下
五、配置文件更改
1、复制一个新的配置文件
$ cp config.yaml.example config.yaml
六、往es初始化elastalert的状态索引信息
1、运行以下命令初始化(可在任何路径下运行)
$ /usr/local/bin/elastalert-create-index
elastalert-create-index
Enter Elasticsearch host: 10.3.153.200
Enter Elasticsearch port: 9200
Use SSL? t/f: f
Enter optional basic-auth username (or leave blank):
Enter optional basic-auth password (or leave blank):
Enter optional Elasticsearch URL prefix (prepends a
string to the URL of every request):
New index name? (Default elastalert_status)
Name of existing index to copy? (Default None)
Elastic Version:5
Mapping used for string:{'index': 'not_analyzed', 'type': 'string'}
Index elastalert_status already exists. Skipping index creation.
至此,整个elastalert的安装已经成功,安装的过程较为缓慢,下面的章节会介绍如何使用过滤匹配规则进行日志信息的邮件告警通知。
官网参考:
https://github.com/Yelp/elastalert