Zabbix报警大部分使用的是脚本报警,这次我们用SMTP方式发送报警。
在zabbix上设置好了EMail账号还不行,还要在系统里装发送邮件的服务,我们这里用SendMail.
环境:
CentOS Linux release 7.1.1503 (Core)
1.检查系统是否安装SendMail。
1
|
#rpm -qa | grep Sendmail
|
返回值为空,说明没有安装过。
2.用yum list sedmail看看都需要安装哪些包
1
|
#yum list sedmail
|
3.安装Sendmail及相关软件。
1
|
# yum install sendmail dovecot sendmail-cf sendmail-devel sendmail-doc mailx
|
4.修改Sendmail配置文件说明。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
[root@tpwb ~]
# cat /etc/mail/sendmail.mc
.......
include(`
/usr/share/sendmail-cf/m4/cf
.m4')dnl (将sendmail-cf
/m4/cf
.m4包含进来)
VERSIONID(`setup
for
Red Hat Linux')dnl (定义版本信息)
OSTYPE(`linux')dnl (选择包含操作系统指定属性的文件)
........
define(`confDEF_USER_ID
',``8:12'
')dnl (指定使用的用户ID为8,组ID为12)
dnl define(`confAUTO_REBUILD')dnl
define(`confTO_CONNECT
', `1m'
)dnl (设置等待连接的最大时间为1分钟)
define(`confTRY_NULL_MX_LIST',
true
)dnl (若MX记录指向本机,则sendmail直接连接到远程主机)
define(`confDONT_PROBE_INTERFACES',
true
)dnl (sendmial不会自动将服务器的网络接口视为有效地址)
define(`PROCMAIL_MAILER_PATH
',`/usr/bin/procmail'
)dnl(设置procmail的存放路径)
define(`ALIAS_FILE
', `/etc/aliases'
)dnl (设置邮件别名存放路径)
define(`STATUS_FILE
', `/var/log/mail/statistics'
)dnl
define(`UUCP_MAILER_MAX
', `2000000'
)dnl (设置处理信息的最大限制为2M)
define(`confUSERDB_SPEC
', `/etc/mail/userdb.db'
)dnl (设置用户数据库文件路径)
define(`confPRIVACY_FLAGS
', `authwarnings,novrfy,noexpn,restrictqrun'
)dnl (设置限制某些邮件命令的标志)
define(`confAUTH_OPTIONS
', `A'
)dnl 仅在授权成功时。将AUTH参数加到邮件的消息头中
.......
FEATURE(`no_default_msa
',`dnl'
)dnl (允许MSA被DAMEMON_OPTION覆盖的默认设置)
FEATURE(`smrsh
',`/usr/sbin/smrsh'
)dnl (设置邮件发送器smrsh的存放路径)
FEATURE(`mailertable
',`hash -o /etc/mail/mailertable.db'
)dnl (设置邮件发送器数据库的存放路径)
FEATURE(`virtusertable
',`hash -o /etc/mail/virtusertable.db'
)dnl (设置虚拟邮件域数据库的存放路径)
FEATURE(redirect)dnl (支持.redirect虚拟域)
FEATURE(always_add_domain)dnl (增加主机名到所有本地发送的邮件)
FEATURE(use_cw_file)dnl (装载
/etc/mail/local-host-names
文件中定义的主机名)
FEATURE(use_ct_file)dnl (装载可信任用户名单)
........
FEATURE(local_procmail,`
',`procmail -t -Y -a $h -d $u'
)dnl (使用procmail作为本地邮件发送者)
FEATURE(`access_db
',`hash -T -o /etc/mail/access.db'
)dnl (从
/etc/mail/access
.db装载可以中继的域)
FEATURE(`blacklist_recipients')dnl (根据访问数据库的值过滤外来邮件)
EXPOSED_USER(`root')dnl (禁止伪装发送者地址中出现root用户)
........
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl (指定sendmail作为MTA运行时的参数)
........
FEATURE(`accept_unresolvable_domains')dnl 设置可以接受不能由NDS主机所发送的邮件
........
LOCAL_DOMAIN(`localhost.localdomain')dnl 设置本地域
........
MAILER(smtp)dnl (指定sendmail所有SMTP发送者,包括smtp,esmtp,smtp8,和replay)
MAILER(procmail)dnl (指定使用procmail作为本地邮件的发送者)
|
5.sendmail.cf不容易看懂的,所以要用m4(宏配置)生成配置文件/etc/mail/sendmail.cf
1
|
# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
|
未完,待续。。。
参考链接:
http://www.ttlsa.com/zabbix/zabbix-action-media/
http://blog.sina.com.cn/s/blog_89b8586f0101a9xn.html
本文转自 piazini 51CTO博客,原文链接:http://blog.51cto.com/wutou/1939118