zabbix也是一款监控软件,相比较前两款cacti和nagios,软件安装非常简单,搭建完毕后,所有操作都在web页面进行设置,这里只简单搭建这一平台:
本例:监控端(服务端)192.168.80.80(需联网)
被监控端(客户端)192.168.80.81

监控端(服务端)192.168.80.80配置

安装lamp平台测试连通性(不在赘述)

部署zabbix

1.创建数据库zabbix,账号zabbix,密码admin123

mysql -u root -p
CREATE DATABASE zabbix character set utf8 collate utf8_bin;
GRANT all ON zabbix.*TO 'zabbix'@'%' IDENTIFIED BY 'admin123';
flush privileges;

创建测试页:测试数据库是否联通:
vi /var/www/html/index.php
$link=mysql_connect('192.168.80.80','zabbix','admin123');
if($link) echo "

Success!!

";
else echo "Fail!!";
mysql_close();
?>
win10访问应该显示success!

2.安装zabbix

rpm -ivh php-mbstring-5.4.16-42.el7.x86_64.rpm
rpm -ivh php-bcmath-5.4.16-42.el7.x86_64.rpm
rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm //会自动生成yum源文件,保证系统可以上网
yum install zabbix-server-mysql zabbix-web-mysql -y //安装zabbix

zcat /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz | mysql -uzabbix -p zabbix //将zabbix数据库文件导入数据库

vi /etc/zabbix/zabbix_server.conf
DBPassword=admin123 //修改此行,添加zabbix密码

vi /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai //修改时区

启动:
systemctl enable zabbix-server
systemctl start zabbix-server
netstat -anpt | grep zabbix //监听在10051端口上
systemctl restart httpd.service

win10访问
http://192.168.80.80/zabbix/ //安装后登录 默认用户名Admin 密码:zabbix

wen页面默认英文,可设置中文:
Administrator-Users-点击用户-语言中设置

3.增加邮件告警功能

yum install mailx
vi /etc/mail.rc //
----文件末尾新增---
set [email protected] //邮箱为真实服务器邮箱
set smtp=smtp.163.com
set [email protected]
set smtp-auth-password=abc123 //邮箱客户端授权码,需要手动在邮箱设置
set smtp-auth=login

echo "ttttttttttt" | mail -s "testmail" [email protected] //测试发信正常

cd /usr/lib/zabbix/alertscripts

vi mailx.sh //编写发邮件脚本
#!/bin/bash
#send mail

messages=echo $3 | tr '\r\n' '\n'
subject=echo $2 | tr '\r\n' '\n'
echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1


touch /tmp/mailx.log
chown -R zabbix.zabbix /tmp/mailx.log
chmod +x /usr/lib/zabbix/alertscripts/mailx.sh
chown -R zabbix.zabbix /usr/lib/zabbix/

./mailx.sh [email protected] "主题" "内容" //测试发邮件脚本是否可以正常工作

被监控端(客户端)192.168.80.81配置

需要安装zabbix-agent
rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm

yum install -y zabbix-agent

vi /etc/zabbix/zabbix_agentd.conf
Server=192.168.80.80 //修改为服务器地址
ServerActive=192.168.80.80

启动:
systemctl enable zabbix-agent.service
systemctl restart zabbix-agent.service
netstat -anpt | grep zabbix //监听在10050端口

至此zabbix搭建完毕


下面在web页面上设置,监控的主机、服务、告警通知等:

1.创建被控主机:

主机页面根据需求配置
模板页需要链接模板,根据需要链接相应的模板
0K

2.设置报警类型:

管理-》报警媒体类型-》创建媒体类型-》

名称:Mail-Test
类型:脚本
脚本名称:mailx.sh
脚本参数://新增以下三个参数

{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

管理-用户-点击Admin-报警媒介:

类型:Mail-Test //调用上面的脚本
收件人:aa at163.com
其它默认-保存

3.设置报警动作和邮件格式:

配置-动作-创建动作-删除默认标签,修改触发条件
名称:Mailx
条件 A 主机群组=Linux servers

操作-》如下配置

默认操作步骤持续时间 60
默认接收人 : {TRIGGER.STATUS}:{TRIGGER.NAME}
默认信息:

告警主机:{HOST.NAME}
告警 IP:{HOST.IP}
告警时间:{EVENT.DATE}-{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}:{ITEM.VALUE}
事件 ID:{EVENT.ID}

操作细节:-》

操作类型:发送消息
发送到用户:Admin (Zabbix Administrator)
仅送到:Mail-Test //一定要配置否则邮件发送不成功

恢复操作:{TRIGGER.STATUS}:{TRIGGER.NAME}
恢复信息:

恢复主机:{HOST.NAME}
恢复 IP:{HOST.IP}
恢复时间:{EVENT.DATE}-{EVENT.TIME}
恢复等级:{TRIGGER.SEVERITY}
恢复信息:{TRIGGER.NAME}:{ITEM.VALUE}
恢复 ID:{EVENT.ID}

操作细节:-》
操作类型:发送消息
发送到用户:Admin (Zabbix Administrator)
仅送到:Mail-Test //一定要配置否则邮件发送不成功

systemctl restart zabbix-server
systemctl restart zabbix-agent.service

测试报警邮件:

可以在被控主机上模拟相关参数超过阈值,如磁盘空间。然后验证邮件收发。

systemctl stop zabbix-agent.service //在被监控主机上关闭 测试报警邮件接收