### Zabbix 3.2.1 发送邮件设置详解 #### 一、概述 Zabbix 是一款企业级的开源监控工具,它可以帮助我们实时监控网络设备的状态,包括但不限于服务器、路由器、交换机等。当被监控的目标出现异常时,Zabbix 可以通过多种方式发送告警通知,如邮件、短信等。本文将详细介绍如何在 Zabbix 3.2.1 版本中设置通过电子邮件发送告警通知。 #### 二、环境准备 在开始之前,请确保满足以下条件: 1. 已经安装好 Zabbix Server 3.2.1。 2. 拥有可以正常发送邮件的第三方 SMTP 服务账号,例如网易邮箱、QQ 邮箱等。 3. 系统中已安装 Perl 相关依赖。 #### 三、步骤详解 **1. 卸载系统自带的 mailx** 在某些 Linux 发行版中,预装了 `mailx`,这可能会导致邮件发送失败。因此,首先需要将其卸载: ```bash yum remove mailx ``` **2. 安装 sendEmail** `sendEmail` 是一个用于发送电子邮件的 Perl 脚本。可以通过以下步骤进行安装: - 进入 `/usr/local/src` 目录: ```bash cd /usr/local/src ``` - 下载 `sendEmail`: ```bash wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz ``` - 安装必要的 Perl 库: ```bash yum install perl-Net-SSLeay perl-IO-Socket-SSL ``` - 解压并复制 `sendEmail` 文件到 `/usr/local/bin/` 目录下: ```bash tar -xf sendEmail-v1.56.tar.gz cd sendEmail-v1.56 cp -r sendEmail /usr/local/bin/ chmod +x /usr/local/bin/sendEmail ls -d /usr/local/bin/sendEmail ``` **3. 测试 sendEmail** 为了确保 `sendEmail` 工作正常,可以先进行简单的测试: ```bash /usr/local/bin/sendEmail \ -f user@163.com \ -t number@qq.com \ -s smtp.163.com \ -u "zabbxitest" \ -o message-content-type=html \ -o message-charset=utf8 \ -xu user@163.com \ -xp mailpwd \ -m "test for zabbix" ``` **说明:** - `-f user@163.com`: 发件人邮箱地址。 - `-t number@qq.com`: 收件人邮箱地址。 - `-s smtp.163.com`: SMTP 服务器地址。 - `-u "zabbxitest"`: 邮件主题。 - `-o message-content-type=html`: 设置邮件内容格式为 HTML。 - `-o message-charset=utf8`: 设置邮件编码为 UTF-8。 - `-xu user@163.com`: 发件人邮箱账户。 - `-xp mailpwd`: 发件人邮箱密码。 - `-m "test for zabbix"`: 邮件正文。 **4. 编辑发邮件脚本** - 修改 Zabbix Server 的配置文件,指定报警脚本的目录。在 `zabbix_server.conf` 文件中找到 `AlertScriptsPath` 行,并修改为: ```conf AlertScriptsPath=/usr/lib/zabbix/alertscripts/ ``` - 创建报警脚本 `sendmail.sh`: ```bash vi sendmail.sh ``` 并输入以下内容: ```bash #!/bin/bash to_email=$1 subject=$2 body=$3 smtp_server=smtp.163.com from_email=user@163.com user=user@163.com passwd=mailpwd /usr/local/bin/sendEmail \ -s $smtp_server \ -f $from_email \ -t $to_email \ -xu $user \ -xp $passwd \ -u "$subject" \ -m "$body" ``` - 修改脚本权限: ```bash chmod +x sendmail.sh ``` **5. 配置媒体类型** 在 Zabbix Web 界面中,进入“管理”->“媒体类型”,点击“创建媒体类型”。填写相关信息,如名称、类型(选择“脚本”)、脚本命令等。 **6. 创建用户组并修改用户组权限** 在 Zabbix Web 界面中,进入“管理”->“用户组”,点击“创建用户组”。填写相关信息,如用户组名、媒体类型等。 **7. 创建用户** 在 Zabbix Web 界面中,进入“管理”->“用户”,点击“创建用户”。填写相关信息,如用户名、密码、所属用户组等。 **8. 创建动作** 在 Zabbix Web 界面中,进入“配置”->“动作”,点击“创建动作”。根据需求设置触发器条件、操作对象、操作命令等。 #### 四、告警模板示例 - **故障时**: - 邮件主题:zabbix告警邮件:服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障! - 邮件正文: - 告警主机:{HOSTNAME1} - 告警主机 IP 地址:{HOST.CONF} - 告警时间:{EVENT.DATE}{EVENT.TIME} - 告警等级:{TRIGGER.SEVERITY} - 告警信息:{TRIGGER.NAME} - 告警项目:{TRIGGER.KEY1} - 问题详情:{ITEM.NAME}:{ITEM.VALUE} - 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} - 事件 ID:{EVENT.ID} - **故障恢复时**: - 邮件主题:zabbix告警恢复邮件:服务器:{HOSTNAME1}从{TRIGGER.NAME}故障中恢复 - 邮件正文:与故障时相同 #### 五、效果展示 完成以上所有步骤后,当监控对象出现故障或故障恢复时,您将能够收到相应的邮件通知。 #### 六、总结 通过本文介绍的方法,您可以轻松地在 Zabbix 3.2.1 中设置通过电子邮件发送告警通知。这有助于及时了解网络设备的状态变化,提高系统的可用性和稳定性。希望本文能对您有所帮助!
剩余8页未读,继续阅读
- 粉丝: 47
- 资源: 230
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助