Zabbix(音同 zbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
Zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
Zabbix由2部分构成,Zabbix server与可选组件Zabbix agent。
Zabbix server可以通过SNMP,Zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
二、实验环境
主机操作系统 IP地址 主要软件
Zabbix Server CentOS7.2 192.168.1.103 zabbix-3.2.4、httpd、mariadb、php等。
Zabbix Agent Centos7.2 192.168.1.105 zabbix-3.2.4
Zabbix Agent Windows Server 2008 R2 192.168.1.106
三、搭建Zabbix Server并添加主机
1、安装Zabbix Server
安装所需软件包
[root@bogon ~]# yum -y install gcc* make php php-gd php-mysql php-bcmath php-mbstring php-xml curl curl-devel net-snmp net-snmp-devel perl-DBI httpd mariadb* mysql-devel libxml2-devel curl-devel unixODBC-devel net-snmp-devel OpenIPMI-devel vim
创建zabbix用户
[root@bogon zabbix-3.2.4]# useradd zabbix
关闭防火墙(由于本次是实验环境为了调试方便所以关闭防火墙,生产环境中一定要打开防火墙,并配置相关规则)
[root@bogon zabbix-3.2.4]# systemctl stop firewalld.service
[root@bogon ~]# tar xf zabbix-3.2.4.tar.gz
[root@bogon ~]# cd zabbix-3.2.4
[root@bogon zabbix-3.2.4]# ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc
[root@bogon zabbix-3.2.4]# make install
启动数据库
[root@bogon zabbix-3.2.4]# systemctl start mariadb.service
给数据库设置密码(本次试验中是新安装的数据库,所以将密码设置为linux.com123)
[root@bogon zabbix-3.2.4]# mysqladmin -u root -p password linux.com123
Enter password: ←直接敲回车即可(新安装的数据库默认是没有密码的)
[root@bogon zabbix-3.2.4]# mysql -u root -p
Enter password: ←输入刚刚设置的密码
创建新用户,用户名为“zabbix”密码“zabbix”,并将zabbix数据库授权给zabbix用户
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> insert into mysql.user(Host,User,Password) values('localhost','zabbix',password('zabbix'));
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix' with grant option;
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> quit
导入Sql语句
[root@bogon zabbix-3.2.4]# mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql
[root@bogon zabbix-3.2.4]# mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql
[root@bogon zabbix-3.2.4]# mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql
在/etc/php.ini中添加或修改如下内容
[root@bogon zabbix-3.2.4]# vim /etc/php.ini
878 date.timezone= Asia/Shanghai
384 max_execution_time = 300
672 post_max_size = 32M
407 memory_limit = 128M
1707 mbstring.func_overload = 1
将httpd、mariadb添加到系统启动
[root@bogon ~]# systemctl enable httpd.service
[root@bogon ~]# systemctl enable mariadb.service
[root@bogon zabbix-3.2.4]#cp misc/init.d/Fedora/core/zabbix_server /etc/init.d/zabbix_server
[root@bogon zabbix-3.2.4]#cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd
[root@bogon zabbix-3.2.4]# chkconfig --add zabbix_server
[root@bogon zabbix-3.2.4]# chkconfig zabbix_server on
[root@bogon zabbix-3.2.4]# chkconfig --add zabbix_agentd
[root@bogon zabbix-3.2.4]# chkconfig zabbix_agentd on
[root@bogon zabbix-3.2.4]# cp -r ./frontends/php/ /var/www/html/zabbix
[root@bogon zabbix-3.2.4]# chown -R apache.apache /var/www/html/zabbix
启动httpd服务
[root@bogon ~]# systemctl start httpd.service
Zabbix Agent配置(被监控端)
[root@bogon ~]# yum -y install gcc* make vim
[root@bogon ~]# setenforce 0
[root@bogon ~]# vim /etc/sysconfig/selinux
[root@bogon ~]# systemctl stop firewalld.service
[root@bogon ~]# setenforce 0
[root@bogon ~]# vim /etc/sysconfig/selinux
[root@bogon ~]# systemctl stop firewalld.service
编译安装Zabbix Agent
[root@bogon zabbix-3.2.4]# ./configure --enable-agent
[root@bogon zabbix-3.2.4]# make install
[root@bogon zabbix-3.2.4]#cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd
[root@bogon zabbix-3.2.4]# chkconfig --add zabbix_agentd
[root@bogon zabbix-3.2.4]# chkconfig zabbix_agentd on
[root@bogon zabbix-3.2.4]# chkconfig --list zabbix_agentd
[root@bogon zabbix-3.2.4]# useradd zabbix
更改如下三项
[root@bogon zabbix-3.2.4]# vim /usr/local/etc/zabbix_agentd.conf
Server=192.168.1.104
ServerActive=192.168.1.104
Hostname=Linux ←需要和下文Web中添加的主机名一致
[root@bogon ~]# systemctl start zabbix_agentd.service
Web端配置
通过浏览器访问“”
点击“next step”(如果出现红色选项需要在/etc/php.ini中将相应的值修改为与required相等)