1.安装elastalert  安装的python必须是2.7以上的版本

安装的路径  /usr/local/src

安装依赖

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

下载pytho的安装包  下载在/usr/local/src

wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz

解压压缩包 检查环境并编译安装

解压压缩包
tar -zxf Python-3.6..tgz
进入那个目录
cd /usr/local/src/Python-3.6.
检查环境
./configure --prefix=/usr/local/python --with-openssl
编译安装
make && make install

删除系统自带的python (应为版本太低了)

rm -rf /usr/bin/python

创建一个环境变量

vim /etc/profile
在最后一行加入一行命令
export export PATH=$PATH:/usr/local/python/bin source /etc/profil

创建两条软连接

#创建两条软连接
ln -s /usr/local/python/bin/python3. /usr/bin/python
ln -s /usr/local/python/bin/pip3 /usr/bin/pip
pip install --upgrade pip //升级pip

输入python显示Python 3.6.2

退出quit()

vim /usr/bin/yum
vim /usr/libexec/urlgrabber-ext-down

下载elastalert的安装包  下载到得路径是/usr/local/src

wget https://github.com/Yelp/elastalert/archive/v0.2.1.tar.gz
tar xf v0.2.1.tar.gz
cd elastalert-0.2.

安装 cd elastalert-0.2.1

pip install "elasticsearch<7,>6"
pip install -r requirements.txt
python setup.py install
ll /usr/local/python/bin/elastalert*  可以看到生成的几个命令

  

安装之后会自带三个命令

elastalert-create-index:ElastAlert会把执行记录存放到一个ES 索引中,该命令就是用来 创建这个索引的,默认情况下,索引名叫elastalert_status。其中有4个 _type,都有 自己的@timestamp字段,所以同样也可以用kibana,来查看这个索引的日志记录情况。

elastalert-rule-from-kibana:从Kibana3已保存的仪表盘中读取Filtering设置,帮助生成config.yaml里的配置。不过注意,它只会读取filtering,不包括queries。

elastalert-test-rule:测试自定义配置中的rule设置 
ln -s /usr/local/python/bin/elastalert* /usr/bin

以上操作完成后在root目录下输入ela按tab是否能补全在按tab是否能出现以下四个字母

输入elastalert-create-index

只需输入箭头对应的(host对应你的Elasticsearch的主机ip,port对应你的Elasticsearch的端口)

Use SSL? t/f:输入f    其他的一律都是回车  这是创建好的状态

返回到你的kibana浏览器页面出现以下三个代表创建成功(有些许的延迟)

进入elastalert-0.2.1拷贝一个配置文件

[root@kafka01 elastalert-0.2.]#
[root@kafka01 elastalert-0.2.]# pwd
/usr/local/src/elastalert-0.2.
[root@kafka01 elastalert-0.2.]# cp config.yaml.example config.yaml

vim config.yaml  进入配置文件注释空格全部干掉(/g^#/d)

rules_folder: wg_rules  #规则目录,所有的规则放在这个目录下
run_every:
minutes: #运行频率1分钟
buffer_time:
minutes: #取值范围,15分钟以内的内容
es_host: 10.0.0.73 #es的IP地址
es_port: #es的端口
writeback_index: elastalert_status #这是在kibana的里的索引
writeback_alias: elastalert_alerts #别名
alert_time_limit:
days: #运行失败重置的时间是2天

在当前目录下mv  example_rules   wg_rules

进入wg_rules

新建红框两个文件(注意格式)

vim nginx_007.yaml

es_host: 10.0.0.73   #es主机IP地址
es_port: #es端口
name: nginx rule #规则名字必须是唯一的
type: frequency #类型为频率
index: webnginx* ## 监控的索引(这里一定注意是你在kibana索引*代表以xxx的结尾)
num_events: ## 限定时间内,发生的次数
timeframe:
hours: ## 一小时内有5个错误日志写进ES的话就发送邮件 filter:
- regexp: ##以正则的方式匹配, “.*” 就是已有日志写进es就算
message: ".*" alert: #方式(邮件)
- "email" email:
- "707132357@qq.com" smtp_host: smtp.qq.com
smtp_port:
smtp_ssl: false
#smtp_auth_file: /usr/local/src/elastalert-0.2./wg_rules/email_auth.yaml
smtp_auth_file: "email_auth.yaml"
from_addr: @qq.com

vim email_auth.yaml

user: '707132357@qq.com' #qq邮箱地址
password: 'wvozyiwhymbhbdei' #此地方写你qq邮箱的授权码

启动elastalert

elastalert --config /usr/local/src/elastalert-0.2.1/config.yaml --rule /usr/local/src/elastalert-0.2.1/wg_rules/nginx_007.yaml --verbose

启动后会显示up启动成功 

INFO:elastalert:Starting up
INFO:elastalert:Disabled rules are: []
INFO:elastalert:Sleeping for 59.999868 seconds 

如果没有命中每分钟会刷新一次

去有nginx机器上ab压测一些日志

显示

代表你创建规则成功匹配

这里表示你的规则成功命中

elastalert 基于EFK环境的邮件报警的更多相关文章

  1. elastalert基于微信公众号报警

    环境部署 安装其它的必需包 yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel   1,下载. ...

  2. elasticsearch5之Elastalert 安装使用 配置邮件报警和微信报警

    简介 Elastalert是用python2写的一个报警框架(目前支持python2.6和2.7,不支持3.x),github地址为 https://github.com/Yelp/elastaler ...

  3. 基于Nginx+Keepalived的LB服务监控(邮件报警)

    IDC两台机器上部署了Nginx+Keepalived主从模式的LB代理负载层,现在需要对LB进行每日巡检和服务监控,利用SendEmail邮件监控. 0)SendEmail部署 参考:http:// ...

  4. 【Linux】Zabbix + MPM + msmtp + mutt 监控MySQL + 邮件报警

    Zabbix部署参考博文 http://blog.sina.com.cn/s/blog_5611597901017oe0.html  MPM安装配置参考博文和MPM官网下载地址 http://blog ...

  5. C#结合SMTP实现邮件报警通知

    写在前面 C#是微软推出的一门面向对象的通用型编程语言,它除了可以开发PC软件.网站(借助 http://ASP.NET)和APP(基于 Windows Phone),还能作为游戏脚本,编写游戏逻辑. ...

  6. zabbix添加邮件报警机制

    zabbix添加邮件报警机制 作者:尹正杰 还记得之前跟大家聊过的一个如何监控一个目录的话题吗?我们虽然监控出来数据了,也有数据了,但是,只是监控也没有用啊~因为我们不能24小时盯着屏幕然后 出了事情 ...

  7. 使用Grafana 展示Docker容器的监控图表并设置邮件报警规则

    一.Docker 容器监控报警方式 接着上篇文章的记录,看到grafana的版本已经更新到4.2了,并且在4.0以后的版本中,加入了Alert Notifications 功能,这样在对容器 监控完, ...

  8. Ubuntu16.04 + Zabbix 3.4.7 邮件报警设置

    部署了Zabbix,需要配置邮件报警,在网上找了一些教程,大多是是用的CentOS + Zabbix 2.x版本的,而且还要写脚本,感觉太麻烦了,所以自己结合其他文章摸索了一套配置方法. 先说一下环境 ...

  9. 总zabbix配置-搭建-邮件报警-微信报警-监控mysql

    Centos7安装Zabbix4.0步骤 官方搭建zabbix4.0的环境要求: 1. 环境搭建LAMP 前提Centos系统安装完成:  确认一下: 1 2 cat /etc/redhat-rele ...

随机推荐

  1. 解决新版本R3.6.0不能加载devtools包问题

    首先是看到下面这个文章想试着练习一下,结果第一步就卡住了,无法加载devtools包,繁体字都冒出来了......汗!(没有截图,但过程痛苦不堪~) https://www.sohu.com/a/12 ...

  2. ML学习笔记之LATEX数学公式基本语法

    作者:@houkai本文为作者原创,转载请注明出处:https://www.cnblogs.com/houkai/p/3399646.html 0x00 概述 TEX 是Donald E. Knuth ...

  3. Java Base64Utils

    Java Base64Utils /** * <html> * <body> * <P> Copyright 1994 JsonInternational</ ...

  4. 服务器收不到支付宝notify_url异步回调请求的问题 支付宝notify 异步通知与https的问题

    需确认页面是http还是https,如果是https,那么需要安装ssl证书,证书要求有如下:要求“正规的证书机构签发,不支持自签名”. 然后赶快,按照支付宝,宝爷的要求,去自检了一下自家的证书,下面 ...

  5. 使用 HttpWebRequest 类做 POST 请求没有应反

    这几天给系统做第三方集成, 需要调用另一个软件的一个接口, 通过 HTTP 的方式调用,调用代码也挺简单的: string serviceUrl = string.Format("{0}/{ ...

  6. vue-cli 3.x版本执行vue ui命令后提示Error: Cannot find module ‘core-js/modules/es7.object.entries’报错的解决方法

    我的方法是:npm install --save core-js(全局安装竟然不行,必须局部) vue-cli新版提供了界面化项目管理的功能,简直一万个赞! 在安装 vue-cli 3.x  版本后, ...

  7. jquery获取元素各种宽高及页面宽高

    如何使用jquery来获取网页里各种高度? 示例如下: $(document).ready(function(){  var divWidth = $("#div").width( ...

  8. JavaScript 之 节点操作

    一.文档树结构 DOM 可以将任何 HTML 或 XML 描绘成一个由多层节点构成的结构. 节点分为不同的类型,每种类型分别表示文档中不同的信息.每个节点都拥有各自的特点.数据和方法,另外也与其他节点 ...

  9. es倒排索引原理解析

    倒排索引原理 普通的存储方式是给每个文档编一个序号 然后让这个序号对应单个文档的所有内容  如果用这样的方式查找   当需要查找某个单词的时候需要遍历所有的文档集合 查找文档的效率会非常的慢 2.基本 ...

  10. HashMap的源码分析与实现 伸缩性角度看hashmap的不足

    本文介绍 1.hashmap的概念 2.hashmap的源码分析 3.hashmap的手写实现 4.伸缩性角度看hashmap的不足 一.HashMap的概念 HashMap可以将其拆分为Hash散列 ...