首页 > 其他 > 详细

Elastalert 安装

时间:2021-04-05 20:21:36      阅读:27      评论:0      收藏:0      [点我收藏+]

 

Elastalert官网:https://elastalert.readthedocs.io/en/latest/index.html

 

一、安装依赖包

yum -y install wget openssl openssl-devel gcc gcc-c++

 

 

二、安装python

wget https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz
tar xf Python-3.6.9.tgz
cd Python-3.6.9
./configure --prefix=/usr/local/python --with-openssl
make && make install
mv /usr/bin/python /usr/bin/python_old
ln -s /usr/local/python/bin/python3 /usr/bin/python
ln -s /usr/local/python/bin/pip3 /usr/bin/pip
 
pip install --upgrade pip
 
sed -i 1s/python/python2.7/g /usr/bin/yum
sed -i 1s/python/python2.7/g /usr/libexec/urlgrabber-ext-down
 
python -V
pip -V

 

 

三、安装Elastalert

cd /opt
git clone https://github.com/Yelp/elastalert.git
cd elastalert
pip install "elasticsearch<7,>6"    #es是7,所以这里选用的版本是这个
pip install -r requirements.txt
python setup.py install

 

 

ll /usr/local/python/bin/elastalert*
--------------------------------------------------------------------
# 查看是否有如下4个文件
/usr/local/python/bin/elastalert
/usr/local/python/bin/elastalert-create-index
/usr/local/python/bin/elastalert-rule-from-kibana
/usr/local/python/bin/elastalert-test-rule

 

 

ln -s /usr/local/python/bin/elastalert* /usr/bin
 
# 创建索引,ElastAlert会把执行记录存放到这个索引中
# 索引名叫elastalert_status
elastalert-create-index

 

 

四、配置Elastalert

4.1 config.yaml

rules_folder: rules    # 规则目录位置
run_every:    # 多久去查询一下根据定义的规则去es查询是否有符合规则的字段
  minutes: 1
buffer_time:    # 当查询开始一直到结束,最大的缓存时间
  minutes: 15
es_host: 192.168.100.11    # es地址
es_port: 9200            # es端口
es_username: elastic    # es账户
es_password: 111qqq        # es密码
writeback_index: elastalert_status    # es里的索引
writeback_alias: elastalert_alerts
alert_time_limit:     # 如果alert当时没有发出去重试多久之后放弃发送
  days: 2

 

 

4.2 rules/nginx.yaml

es_host: 192.168.100.11 # es的IP地址
es_port: 9200 # es的端口
es_username: elastic  # es的用户名
es_password: 111qqq # es的密码
name: nginx   # 报警邮件的标题
type: frequency # 类型:频率
index: nginx-access-* # 监控的索引,多个使用逗号隔开
num_events: 1 # 时间内触发的次数
timeframe:
 minutes: 1   # 时间,和上边的参数关联,1分钟内有1次会报警
filter:
- query:
    query_string:
      query: "message:404"
alert_text: "nginx 404 异常" # 会在报警内容中显示
smtp_host: smtp.163.com # smtp的地址
smtp_port: 25 # 端口
smtp_auth_file: /opt/elastalert/rules/smtp_auth_file.yaml       # 用户密码的文件
email_reply_to: 18127002705@163.com             # 发送邮件的邮箱
from_addr: 18127002705@163.com
alert:
- "email" # 报警类型
email:    # 收件人地址
- "498733843@qq.com"    
- "789123456@qq.com"

 

 

4.3 rules/smtp_auth_file.yaml

user: "18127002705@163.com"
password: "******"

 

 

五、测试

elastalert-test-rule --config config.yaml rules/nginx.yaml

 

 

六、启动elastalert

cd /opt/elastalert
nohup python -m elastalert.elastalert --verbose --config config.yaml --rule rules/nginx.yaml &

 

Elastalert 安装

原文:https://www.cnblogs.com/linwenhai/p/14618991.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!