zabbix:zabbix的公共组件,安装其它服务时必须要安装此包;
zabbix-server:通过收集端口收集数据,并将数据存储在数据库中;
zabbix-server-mysql:zabbix server与mysql数据库通信接口;
zabbix-web:zabbix的web服务器,设置监控主机、item等,读取数据库,并将结果以图形方式展示;
zabbix-web-mysql:zabbix web与mysql数据库通信接口;
zabbix设置邮件告警流程:
1、Administrator --> Media types设置邮件告警方式
Type:设置为script,因为此处我们是使用外部邮箱服务器发送邮件的。
2、Administrator --> user --> media
Type:此处选择第一步中自定义的Media type的Name的名称,即sendmail。
Send to:接收告警邮件的邮箱地址。
3、定义trigger。
4、Configration --> Actions --> Operations
send only to:此处选择自定义的Media type的Name的名称,即sendmail。
5、编写脚本文件:
脚本文件存放位置是在zabbix_server.conf中定义的,可以使用grep "scripts" /etc/zabbix_server.conf ,来查找具体位置;
AlertScriptsPath=/var/lib/zabbixsrv/alertscripts # 此为本机告警脚本存放位置
cd /var/lib/zabbixsrv/alertscripts # 进入该目录
vim sendmail.sh # 此处的名称一定要和第一步中的Script name一致
简单脚本如下:
#!/bin/bash
echo "$3" | mail -s "$2" $1
chown zabbix.zabbix sendmail.sh # 修改文件的属主属组
chmod +x sendmail.sh # 为脚本添加执行权限
6、邮于我们脚本中使用的是mail命令发送邮件的,该命令由mailx程序提供,需要提前安装mailx。
安装:~]# yum install mailx
配置文件: /etc/mail.rc
~]# vi /etc/mail.rc
# 在配置文件最后添加以下信息,就像我们用foxmail一样,要保存用户名密码。
set from=xxx@126.com # 发送的邮件地址
set smtp=smtp.126.com # 发送邮件服务器
set smtp-auth-user=xxx@126.com # 发件人账号,一般情况下为邮件地址
set smtp-auth-password=xxx # 发件人密码
set smtp-auth=login # 邮件认证方式
配置成功后,就可以使用外部 smtp 服务器发送邮件了。
7、重启zabbix-server服务,不然服务器无法识别脚本。