elastalert (support_es5) + elasticsearch 5 = 简单的日志报警喽

本文详细介绍了如何使用ElastAlert进行告警配置的过程,并通过具体案例解析了关键配置项的作用,特别是针对query语句的正确书写方式进行了说明。
  • 搞了两天,终于可以报警了

mark

elastalert配置

config.yaml

rules_folder: example_rules

run_every:
  #minutes: 1
  seconds: 3

buffer_time:
  minutes: 15

es_host: 192.168.0.231
es_port: 9200

writeback_index: elastalert_status

alert_time_limit:
  days: 2

rule.yaml

es_host: 192.168.0.231
es_port: 9200
name: For A TEST
use_strftine_index: true
type: frequency
index: filebeat-*
num_events: 1
timeframe:
  hours: 1

#filter:
#    - query:
#        query_string:
#            query: "@message: *nioEventLoopGroup*"

filter:
- query_string: 
    query: "message: 测试一下下"

alert:
    - "email"
email:
    - "xxx"

smtp_host: smtp.vip.126.com
from_addr: myalter@vip.126.com
email_reply_to: myalter@vip.126.com
smtp_auth_file: /opt/machtalk/elk/aaa/example_rules/auth
  • auth
user: 
password: 

运行命令

python -m elastalert.elastalert --verbose --rule example_rules/rule.yaml

总结:

这样就可以报警了,但是有两点需要注意:
1. query的语句是我从issue里面找到的,这样才好使,官网上面的关于query的不好使。


# elastalert (support_es5分支) + elasticsearch 5.1
filter:
    - query_string: 
        query: "message: 测试一下下"

https://github.com/Yelp/elastalert/issues/856
  1. 报警采用邮箱的配置,从官网找了些资料,拼拼凑凑也就可以了
  2. 还是要说一下第一个里面的message,“测试一下下”没有加引号,稍后相关的,比如分词 带有 测试的也都发出来了。
“use strict”; const common_vendor = require(“…/…/common/vendor.js”); require(“…/…/tmui/tool/lib/tmpinia.js”); require(“…/…/store/modules/tabBarNav.js”); const store_modules_user = require(“…/…/store/modules/user.js”); require(“…/…/tmui/tool/theme/theme.js”); require(“…/…/tmui/tool/theme/colortool.js”); require(“…/…/tmui/tool/lib/interface.js”); require(“…/…/tmui/tool/function/util.js”); require(“…/…/tmui/tool/function/preview.js”); require(“…/…/utils/storage.js”); require(“…/…/config/constant.js”); require(“…/…/api/user/index.js”); require(“…/…/http/index.js”); require(“…/…/http/type.js”); if (!Array) { const _easycom_tm_image2 = common_vendor.resolveComponent(“tm-image”); const _easycom_tm_text2 = common_vendor.resolveComponent(“tm-text”); const _easycom_uni_icons2 = common_vendor.resolveComponent(“uni-icons”); const _easycom_tm_cell2 = common_vendor.resolveComponent(“tm-cell”); const _easycom_loading_button2 = common_vendor.resolveComponent(“loading-button”); const _easycom_tabbar_nav2 = common_vendor.resolveComponent(“tabbar-nav”); const _easycom_tm_app2 = common_vendor.resolveComponent(“tm-app”); (_easycom_tm_image2 + _easycom_tm_text2 + _easycom_uni_icons2 + _easycom_tm_cell2 + _easycom_loading_button2 + _easycom_tabbar_nav2 + _easycom_tm_app2)(); } const _easycom_tm_image = () => “…/…/tmui/components/tm-image/tm-image.js”; const _easycom_tm_text = () => “…/…/tmui/components/tm-text/tm-text.js”; const _easycom_uni_icons = () => “…/…/uni_modules/uni-icons/components/uni-icons/uni-icons.js”; const _easycom_tm_cell = () => “…/…/tmui/components/tm-cell/tm-cell.js”; const _easycom_loading_button = () => “…/…/components/loading-button/loading-button.js”; const _easycom_tabbar_nav = () => “…/…/components/tabbar-nav/tabbar-nav.js”; const _easycom_tm_app = () => “…/…/tmui/components/tm-app/tm-app.js”; if (!Math) { (_easycom_tm_image + _easycom_tm_text + _easycom_uni_icons + _easycom_tm_cell + _easycom_loading_button + _easycom_tabbar_nav + _easycom_tm_app)(); }
03-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值