69 lines
2.2 KiB
Markdown
69 lines
2.2 KiB
Markdown
---
|
||
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”-“操作”,自定义报警信息
|
||
|
||
## 测试
|
||
- 触发器被触发后,收件人邮箱收到告警邮件
|
||
|