0
点赞
收藏
分享

微信扫一扫

四、ELK之Watcher邮件告警

ELK服务器设置

安装邮件发送工具mailx

yum install -y mailx

修改 Elasticsearch 配置文件

vim /etc/elasticsearch/elasticsearch.yml

给 Elasticsearch 添加邮箱配置,在最后面加上以下配置

xpack.notification.email.account:
     work:
        profile: standard 				# 采用默认的邮件模板
        email_defaults: 				# 设置默认发件箱
            from: monster@sz-ysxd.com	# 发件箱
        smtp:
            auth: true 					# 开启账号验证
            starttls.enable: false 		# 关闭ssl
            starttls.required: false 	# 不要ssl
            host: smtp.exmail.qq.com 	# 腾讯企业邮箱smtp地址
            port: 25					# 端口
            user: monster@sz-ysxd.com 	# 发件箱

保存后设置发件箱的密码,执行下面命令设置

/usr/share/elasticsearch/bin/elasticsearch-keystore add xpack.notification.email.account.work.smtp.secure_password

提示后输入你的密码
注意这里不是邮箱的登陆密码,在企业邮箱的设置-邮箱绑定-生成新密码,生成一个新密码直接粘贴过来即可(不嫌麻烦的自己手打)
普通QQ邮箱就是那个设置里面开启POP3/SMTP服务生成的授权码
在这里插入图片描述
重启 Elasticsearch 服务

systemctl restart elasticsearch

Kibana页面设置

回到 Kibana - 管理 - Watcher - 创建高级监视
在这里插入图片描述
注意 ID 只能英文、横杠、下划线且唯一,名称随便取
在这里插入图片描述
监视JSON配置在下面
这里我是模拟一分钟内192.168.159.236这台电脑访问Nginx就发送邮件告警
“interval”: “1m” :一分钟执行一次
“indices”: [ “*” ] :查询所有的引擎
“message”: “192.168.159.236” :message里面匹配到192.168.159.236信息的
“gte”: “now-1m”,“lte”: “now” :时间从现在到过去1分钟时间内
“gte”: 1 :只要查询到1条或大于1条信息就执行
“to” : 接受告警的邮箱,支持同事发送给多个邮箱,逗号隔离即可
“subject” :邮件标题
“body” : 邮件内容

{
  "trigger": {
    "schedule": {
      "interval": "1m"
    }
  },
  "input": {
    "search": {
      "request": {
        "search_type": "query_then_fetch",
        "indices": [
          "*"
        ],
        "types": [],
        "body": {
          "size": 0,
          "query": {
            "bool": {
              "must": [
                {
                  "match": {
                    "message": "192.168.159.236"
                  }
                },
                {
                  "range": {
                    "@timestamp": {
                      "gte": "now-1m",
                      "lte": "now"
                    }
                  }
                }
              ]
            }
          }
        }
      }
    }
  },
  "condition": {
    "compare": {
      "ctx.payload.hits.total": {
        "gte": 1
      }
    }
  },
  "actions": {
    "send_email": {
      "email": {
        "profile": "standard",
        "to": [
          "monster@sz-ysxd.com"
        ],
        "subject": "邮件告警测试",
        "body": {
          "html": "警告:一分钟内192.168.159.236在访问nginx!!!"
        }
      }
    }
  }
}

创建成功
在这里插入图片描述

测试告警

我们通过IP地址为192.168.159.236这台电脑去访问Nginx
访问后我们需要等待一分钟,你想快点可以在上面的配置里面把1m改成1s
在这里插入图片描述
在这里插入图片描述
又是2个小时,以前没觉得一篇文章要这么久啊哈哈哈哈哈哈 撒哟拉拉~

举报

相关推荐

0 条评论