--- title: "Zabbix 邮件告警" date: 2019-10-29T21:23:57+08:00 lastmod: 2019-10-29T21:23:57+08:00 keywords: [] tags: ["zabbix", "邮件", "告警"] categories: ["zabbix"] --- ## 环境 - CentOS7 - sendEmail 1.56 ## 部署 sendEmail - 安装 sendEmail ```bash curl -O http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz tar zxf sendEmail-v1.56.tar.gz && cp sendEmail-v1.56/sendEmail /usr/local/bin/ ``` - 查看 zabbix_server.conf 找到告警脚本存放目录,即 AlertScriptsPath,默该目录已存在 - 在该目录下创建 sendemail.sh,内容如下: ```bash #!/bin/bash recipients="${1//;/ }" subject="$2" message="$3" for recipient in $recipients; do /usr/local/bin/sendEmail \ -f <发件人邮箱> \ -t $recipient \ -s <发件人邮箱的服务器> \ -o tls=no \ -o message-charset=utf8 \ -xu <发件人邮箱> \ -xp <发见人邮箱的密码> \ -u "$subject" \ -m "$message" \ -l /var/log/sendEmail.log & done wait ``` - 测试,如果正常收到邮件,则表示脚本正常 ```bash ./sendemail.sh person1@email.com;person2@email.com;person3@email.com test_subject test_content ``` ## 配置 zabbix - 登陆 zabbix web,点击“报警媒介类型”-“创建媒体类型”,打开“报警媒介类型”窗口,配置如下 - 名称: 脚本发邮件报警 - 类型: 脚本 - 脚本名称: sendemail.sh #注意这里的名称与上一步创建脚本名称一致 - 脚本参数: - {ALERT.SENDTO} - {ALERT.SUBJECT} - {ALERT.MESSAGE} - 已启用: 启用 - 点击“添加”完成脚本媒介配置 - 点击“管理”-“用户”-“admin”-“报警媒介”-“添加”,打开“报警媒介”窗口,配置如下 - 类型: 脚本发邮件报警 - 收件人: 一个或多个收件人email,用空格或分号分隔 - 点击“添加”完成该报警媒介配置 - 点击“配置”-“动作”-“Report problems to Zabbix administrators”-“操作”,自定义报警信息 ## 测试 - 触发器被触发后,收件人邮箱收到告警邮件