Elasticsearch Alert配置邮件告警

情况说明:三台es集群,一台kibana

es版本要求白金版,基础版不行,可以试用30天白金版

1、三台es都需要配置,修改elasticsearch.yml配置文件

说明,使用QQ邮箱,163邮箱的话,需要注意,在配置发件箱中使用的密码不是登陆这个邮箱使用的密码,而是使用这个邮箱的邮箱授权码

xpack.notification.email.account:
    aliyun_account:  # 发件箱配置名称,可以随意指定,配置多个发件箱地址时会根据这个进行区分
        profile: standard # 采用默认的邮件模板
        email_defaults: # 设置默认发件箱
            from: elk@tongchuangkeji.net  # 发件箱
        smtp:
            auth: true # 开启账号验证
            starttls.enable: false # 关闭ssl
            starttls.required: false # 不要ssl
            host: smtp.qiye.aliyun.com # 阿里云企业邮箱smtp地址
            port: 25 # 端口
            user: elk@tongchuangkeji.net # 发件箱

2、设置发件箱密码

# 注意:aliyun_account要跟配置文件中的发件箱配置名称那个保持一致
# 设置邮箱密码
[root@bogon elasticsearch]# bin/elasticsearch-keystore add xpack.notification.email.account.aliyun_account.smtp.secure_password
# 输入密码
Enter value for xpack.notification.email.account.aliyun_account1.smtp.secure_password: 
# 查看
[root@bogon elasticsearch]# bin/elasticsearch-keystore list
keystore.seed # 系统自带的
xpack.notification.email.account.aliyun_account.smtp.secure_password # 确保有这个

3、重启es集群

4、在kibana中配置Watcher

  5.说明
该文档只是说明配置告警邮件,具体告警参数,邮件内容根据个人具体情况而定

官方关于邮件告警的设置

地址:https://www.elastic.co/guide/en/kibana/7.3/watcher-ui.html#_define_the_watch_input_and_schedule
1、.删除,修改等操作看官网文档

接下里说官方配置邮件的示例
地址:https://www.elastic.co/guide/en/elasticsearch/reference/7.3/actions-email.html

在es配置文件中进行修改

邮件模板有三个,standard (default), gmail, and outlook 。若发件箱不是gmail和outlook,则选择standard。后面会有说明

若是有多个发件箱的话,采用如下配置,只有一个的话不用配置

xpack.notification.email:
  default_account: team1
  account:
    team1:
      ...
    team2:
      ...

gmail发件箱设置

xpack.notification.email.account:
    gmail_account: # 注意这个名称,设置邮箱密码的时候用得着
        profile: gmail
        smtp:
            auth: true
            starttls.enable: true
            host: smtp.gmail.com
            port: 587
            user: <username> # 发件箱地址

设置发件箱密码
这个是执行命令,不是在es配置文件中修改

# 注意gmail_account要跟上面的保持一致
bin/elasticsearch-keystore add xpack.notification.email.account.gmail_account.smtp.secure_password

outlook配置

xpack.notification.email.account:
    exchange_account:
        profile: outlook
        email_defaults:
            from: <email address of service account> 
        smtp:
            auth: true
            starttls.enable: true
            host: <your exchange server>
            port: 587
            user: <email address of service account> 

设置发件箱密码
这个是执行命令,不是在es配置文件中修改

# 注意exchange_account要跟上面的保持一致
bin/elasticsearch-keystore add xpack.notification.email.account.exchange_account.smtp.secure_password

既不是gmail,也不是outlook,采取两者结合的方式,根据自己实际情况修改

xpack.notification.email.account:
    email_account:
        profile: standard
        email_defaults:
            from: xxxx@xx.com
        smtp:
            auth: true
            starttls.enable: false
            starttls.required: false
            host: smtp.qiye.aliyun.com 
            port: 25
            user: xxxx@xx.com
# 设置密码
bin/elasticsearch-keystore add xpack.notification.email.account.email_account.smtp.secure_password

关于安全设置的官方地址:https://www.elastic.co/guide/en/elasticsearch/reference/7.3/secure-settings.html#

其他邮箱配置大致一样,看官方文档

邮件内容设置相关,是否允许发送html内容的配置等

# 关闭
xpack.notification.email.html.sanitization.enabled: false

# 开启
xpack.notification.email.html.sanitization.enabled: true

# 进一步限制html页面内容,哪些能发,哪些不能发
xpack.notification.email.html.sanitization:
    allow: _tables, _blocks
    disallow: h4, h5, h6
posted @ 2020-05-13 12:13  fat_girl_spring  阅读(2232)  评论(0编辑  收藏  举报