Zabbix简介:
* Zabbix是一个基于Web界面的分布式系统监控与网络设备监控系统,与Cacti,Nagios类似,提供分布式监控以及集中的Web管理界面。被监控对象只要支持SNMP协议或者运行Zabbix_agent代理程序即可。Zabbix的官方网站为http://www.zabbix.com/,软件可以自由下载使用。 * 能够监控各种网络参数,并提供灵活的通知机制,以使管理员能快速定位故障并解决。 * 由zabbix server 端与zabbix agent组成。 * 可通过SNMP、zabbix、agent 、ping、端口监视等方法实现对远程主机与网络设备的监控。
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主动来拿取数据(被动模式)。
环境部署:
部署Zabbix监控端:
1.首先安装配置LAMP环境,以满足zabbix的代码部署要求; * 关闭防火墙,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配置文件: * vim /etc/httpd/conf/httpd.conf ServerName www.yun.com:80 <IfModule dir_module> DirectoryIndex index.html index.php </IfModule>
3.修改为中国时区: * vim /etc/php.ini date.timezone = PRC
4.开启httpd服务,开启mariadb服务: * systemctl start httpd.service * systemctl start mariadb.service * 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; #创建zabbix数据库 * grant all privileges on zabbix.* to 'zabbix'@'%' identified by 'abc123'; #给zabbix用户授权 * flush privileges; #更新数据库设置
7.数据库中会含有一些空白用户,会影响zabbix连接数据库,所以需要将这些空白用户删除掉:如果有空白用户的话 如下图(转载别人的):
8.在web站点编写php网页文档,测试连接数据库: * vim /var/www/html/index.php <?php $link=mysql_connect('192.168.72.128','zabbix','abc123'); if($link) echo "<h2>ok!!</h2>"; else echo "<h2>failed!!</h2>"; 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.修改时区: * vim /etc/httpd/conf.d/zabbix.conf php_value date.timezone Asia/Shanghai
5.将字体修改为楷体,防止页面中文乱码问题: * vim /usr/share/zabbix/include/defines.inc.php
6.将下载好的字体文件复制到 /usr/share/zabbix/fonts 目录中注意字体名称要对应文件:
7.开启zabbix服务,并设置为开启自启项: * systemctl start zabbix-server * systemctl enable zabbix-server * systemctl restart httpd.service #重启httpd服务 * netstat -antp | grep zabbix #查看端口
8.使用浏览器安装zabbix监控软件: * 浏览器输入:http://192.168.72.128/zabbix/ * 进行安装,安装完成后输入默认用户:Admin 密码: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
4.在web界面配置添加被监控端主机及监控项:
5.给被监控主机添加模板,选择监控项: