Zabbix概述
Zabbix是一个高度集成的企业级开源网络监控解决方案,与Cacti,Nagios类似,提供分布式监控以及集中的Web管理界面。被监控对象只要支持SNMP协议或者运行Zabbix_agent代理程序即可。Zabbix的官方网站为http://www.zabbix.com/,软件可以自由下载使用。
Zabbix与Cacti,Nagios的比较;
都是基于SNMP协议进行管理
SNMP:简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol)、数据库模型(database schema)和一组资料物件
Cacti: 小型监控软件 十几台服务器可以,优点是图像化处理监控比较突出,
NAGIOS:优点具有报警机制,在系统或服务状态异常时会发出emai或短信报警第一时间通知网络运维人员,在状态恢复后会发出正常的电子邮件或短信通知,但是搭建比较麻烦。
Zabbix: 结合前两者优点,搭建简便,既可以有很好的图像处理界面,也可以进行短信,邮件报警机制。
Zabbix具备常见商业监控软件所具备的功能特点:
主机性能监控,网络设备性能监控,数据库性能监控,ftp等通用协议的监控
能够利用灵活的可定制警告机制,允许用户对事件发送基于E-mail的警告,保证相关维护人员对问题作出快速响应;
还可以利用存储数据提供杰出的报表及实时的图形化数据处理,实现对linux,windows主机的7*24小时集中监控;
监控的项目可包括CPU,内存,磁盘,网卡流量,服务可用性等各种资源。
Zabbix的工作模式;
Zabbix通过C/S模式采集数据,通过B/S模式在web端展示和配置。其中Zabbix_Server可运行在CentOS,RHEL,SUSE,Ubuntu等linux系统上,还需要使用LAMP平台来承载数据库和web界面。
被监控端运行zabbix_agent服务获得host数据,然后把收集到的数据发送给Server(主动模式)或者是Server主动来拿取数据(被动模式)
环境介绍:
主机 | IP地址 | 操作系统 |
Zabbix监控端 | 192.168.195.147 | CentOS7 |
被监控端 | 192.168.195.169 | CentOS7 |
部署Zabbix监控端
一,首先安装配置LAMP环境,以满足zabbix的代码部署要求
1,关闭防火墙,selinux,yum安装httpd,mariadb,php等相关软件包
systemctl stop firewalld.service
setenforce 0
yum install -y httpd mariadb-server mariadb php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash
2,修改httpd配置文件
vi /etc/httpd/conf/httpd.conf
ServerName www.yun.com:80
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
3,修改为中国时区
vi /etc/php.ini
date.timezone = PRC
4,然后开启httpd服务,开启mariadb服务
service httpd start
service mariadb start
netstat -antp | egrep '80|3306' 查看httpd,mariadb服务端口
5,初始化mariadb配置
mysql_secure_installation //初始化mariadb安全配置,进行交互配置,配置帐户root的登录密码,后面的选择n,最后选择y
6,进入数据库给zabbix用户设置管理权限
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to 'zabbix'@'%' identified by 'abc123';
7,数据库中会含有一些空白用户,会影响zabbix连接数据库,所以需要将这些空白用户删除掉。
8,在web站点编写php网页文档,测试连接数据库
vim /var/www/html/index.php
<?php
$link=mysql_connect('192.168.195.147','zabbix','abc123');
if($link) echo "<h1>ok!!</h1>";
else echo "<h1>failed!!</h1>";
mysql_close();
?>
9,测试数据库连接正常
二,安装Zabbix服务端
1,使用yum安装zabbix服务端及需要的软件包
yum install php-bcmath php-mbstring -y
rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm //生成含有zabbix包的yum源
yum install zabbix-server-mysql zabbix-web-mysql -y //安装zabbix服务
2,将zabbix相关数据导入数据库中
zcat /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz | mysql -uzabbix -p zabbix
3,修改zabbix配置文件,添加密码设置
vim /etc/zabbix/zabbix_server.conf
grep -n '^'[a-Z] /etc/zabbix/zabbix_server.conf
4,修改时区
vi /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
5,将字体修改为楷体,防止页面中文乱码问题
vi /usr/share/zabbix/include/defines.inc.php
从微软系统下复制相应的字体文件到 /usr/share/zabbix/fonts 目录中注意字体名称要对应文件,且注意大小写
百度云盘提供字体文件包免费下载:https://pan.baidu.com/s/1UvJSsLW5_C3M25BEm6HUYg
cp STKAITI.TTF /usr/share/zabbix/fonts/
6,开启zabbix服务,并设置为开启自启项
systemctl start zabbix-server
systemctl enable zabbix-server
service httpd restart //重启httpd服务
三,使用浏览器安装zabbix监控软件
打开浏览器输入:http://192.168.195.147/zabbix/
进行安装,安装完成后输入默认用户:Admin 密码:zabbix
点击用户,设置中文界面
zabbix的监控界面
四,安装被监控端:zabbix_agentd
1,关闭防火墙,selinux,并使用yum安装zabbix-agent
systemctl stop firewalld.service
setenforce 0
rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm //安装zabbix的yum源
yum install -y zabbix-agent //安装zabbix客户端
2,安装完成之后修改配置文件
vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.195.147
ServerActive=192.168.195.147
Hostname=agent
grep -n '^'[a-Z] /etc/zabbix/zabbix_agentd.conf
3,开启服务
systemctl enable zabbix-agent.service
systemctl restart zabbix-agent.service
netstat -anpt | grep zabbix
五,在web界面配置添加被监控端主机及监控项
给被监控主机添加模板,选择监控项