环境说明:
环境 | IP | 要安装的应用 |
---|---|---|
服务端 | 192.168.50.138 | lamp架构 zabbix server zabbix agent |
客户端 | 192.168.50.136 | zabbix agent |
1. 本地邮箱告警
1.1 在服务端安装postfix来启动25端口
[root@zabbix ~]# yum -y install postfix
[root@zabbix ~]# systemctl enable --now postfix 设置开机自动启动
[root@zabbix ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:10050 0.0.0.0:*
LISTEN 0 128 0.0.0.0:10051 0.0.0.0:*
LISTEN 0 128 127.0.0.1:9000 0.0.0.0:*
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 100 127.0.0.1:25 0.0.0.0:* 出现一个25端口,用这个来发送邮件
LISTEN 0 80 *:3306 *:*
LISTEN 0 128 *:80 *:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 100 [::1]:25 [::]:*
1.2 服务端安装mailx
[root@zabbix ~]# yum -y install mailx
[root@zabbix ~]# hostname 主机名必须与zabbix相关
zabbix.example.com
1.3 写脚本
进入该默认目录下创建一个脚本,并写入一下内容
[root@zabbix ~]# cd /usr/local/share/zabbix/
[root@zabbix zabbix]# cd alertscripts/
[root@zabbix alertscripts]# touch sendmail.sh
[root@zabbix alertscripts]# chmod +x sendmail.sh
[root@zabbix alertscripts]# ls
sendmail.sh
[root@zabbix alertscripts]# vim sendmail.sh
#!/bin/bash
message=$(echo $1|tr '\r\n' '\n')
subject=$(echo $2|tr '\r\n' '\n')
echo "$message" | /usr/bin/mail -s "$subject" $3
修改权限
[root@zabbix zabbix]# chown -R zabbix.zabbix alertscripts/
[root@zabbix zabbix]# ll
total 0
drwxr-xr-x. 2 zabbix zabbix 25 Nov 6 15:48 alertscripts
drwxr-xr-x. 2 root root 6 Nov 3 19:29 externalscripts
[root@zabbix zabbix]# ll alertscripts/
total 4
-rwxr-xr-x 1 zabbix zabbix 132 Nov 6 15:48 sendmail.sh
1.4 在邮箱界面进入反垃圾设置域名白名单
1.5 定义媒介(用哪个邮箱接收信息)
1.6 定义媒介类型
1.6.1 选择邮件方式
1.6.2 选择脚本方式
1.7 配置告警方式动作
1.8 触发警告,查看是否发送邮件
[root@136 ~]# echo 'hello world' >> /etc/abc
2. 第三方邮箱网页配置告警
- 这里我用的是126邮箱
2.1 开启第三方邮箱SMTP服务
2.2 定义媒介
- 与前者配置方式相同
2.3 定义媒介类型
2.4 配置告警方式和动作
- 与前者配置方式相同
2.5 触发警告
在客户端给abc添加内容
[root@136 ~]# echo 'hello world' >> /etc/abc
2.6 查看是否出现警告并发送邮件
3. 第三方邮箱+脚本告警
3.1 往/etc/mail.rc配置文件里添加以下内容
[root@zabbix zabbix]# vim /etc/mail.rc
set from=mq2571798411@126.com 发送人
set smtp=smtp.126.com 收件人
set smtp-auth-user=mq2571798411@126.com
set smtp-auth-password=QWDBKMFMYUZPDXTY 密码为授权码
set smtp-auth=login
3.2 写脚本
- 与前面写的脚本相同
3.3 定义媒介
- 与前面相同
3.4 定义媒介类型
- 与前面相同
3.5 配置告警方式和动作
3.6 触发警告
[root@136 ~]# echo 'hello world' >> /etc/abc
3.7 查看是否发送了邮件