邮件系统简要介绍
电子邮件系统包括两个组件:MUA(Mail User Agent,邮件用户代理)和MTA(Mail Transport Agent,邮件传送代理 postfix)MUA是邮件系统为用户提供的可以读写邮件的界面;而MTA是运行在底层,能够处理邮件的收发工作的程序。简单的说,用户可以 使用MUA写信、读信、而通过MTA收信、发信。Foxmail、Outlook、Webmail都属于MUA。
mail和mailx即为负责查看、编写邮件和向MTA发送邮件的MUA。mailx是mail的功能加强版
邮件报警有两种
1.在自己的zabbix服务起一个邮件服务
2.用免费的公网邮箱,现在不建议用本地的自己起的邮件服务,因为不安全,还占用本地机器的性能。
现在用公网的,不收钱。
现在公司里用邮箱基本上都是企业邮箱,除非大公司用自己的邮件服务器。
实验
1注册邮箱(我是用的QQ邮箱)
2登录邮箱,设置客户端授权密码
不同的邮箱,设置授权码的位置不一样,绝大部分在与它安全相关的设置里。
POP3/IMAP是收邮件的协议,端口是110和 143 Smtp 25端口 发邮件的
发完之后有授权码,把它记下来。
zabbix-server
安装MUA软件
[root@zabbix ~]# yum install mailx -y 可以给邮箱发邮件(命令行的发邮件的工具)
配置公网邮箱信息
编辑/etc/mail.rc/
[root@zabbix ~]# vi /etc/mail.rc 在使用mailx发邮件的时候,用哪个邮箱给别人发,需要在这里配置。把下面这五行写在/etc/mail.rc 这个最下面。
set from=1111117@qq.com(邮箱地址)
set smtp=smtp.qq.com(smtp服务器) 调用腾讯的
set smtp-auth-user=1111117@qq.com(用户名) 认证账号
set smtp-auth-password=hhhhhhhh(邮箱密码-这里是授权码)
set smtp-auth=login
测试邮箱报警是否成功
使用mailx发邮件的方式
[root@zabbix ~]# mailx -v -s 'hi' '1111117@qq.com'
# mailx -v -s 'hello' '收件人@163.com'
-s "邮件标题" 标题随便写,收件人邮箱想让谁写就写谁 手写邮件内容 (回车,然后ctrl+d正常结束)
这时qq就收到了邮箱报警。就证明刚才的配置文件没有任何问题。
zabbix添加邮件报警功能
配置 zabbix 的邮件报警功能需要以下三个角色的参与。
1、 示警媒体(Media)
2、 触发器(Triggers) 可以直接使用前面配置的触发器
3、 动作(Action)
示警媒体的配置
名字随便写叫1邮件报警,用的是公网邮箱,类型是脚本,脚本内容写刚刚发邮件的命令,让zabbix去调用,再传参就好了,脚本名称假装叫bj.sh。在/usr/lib/zabbix/alertscripts目录下。脚本的名字不重要,只要和这个名字一样就行。参数也是,
zabbix里所有的宏都有非常详细的解释(我这里没改,用的是默认的)
修改zabbix服务端配置文件
指定脚本的存储路径:
# vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts
编辑自动发送报警邮件脚本
[root@zabbix ~]# cd /usr/lib/zabbix/alertscripts 一定要进入这个目录底下,不然后面的邮件发送会出问题
[root@zabbix alertscripts]# vim bj.sh
$3是报警消息(来源于zabbix,它会传给它) $2是标题 $1收邮件的账户
修改权限
[root@zabbix alertscripts]# chmod u+x bj.sh && chown zabbix.zabbix bj.sh
修改admin用户的报警媒介
用户默认是没有设置报警媒介的,设置后就可以接收报警消息了。
想让谁收邮件就写谁,可以同时添加多个。
添加监控主机
添加动作
动作是和触发器关联在一起,一旦触发器被触发就去做动作,发邮件
测试
新建一个大文件,看看报警。
实验成功。
【注意】少熬夜,多看书。