zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。它能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能。zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息收集。zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(agent方式),同时还可被动接收zabbix agent发送的数据。
三个关键(界面、服务器和数据库)可以安装在同一台服务器上,但是如果你拥有一个更大更复杂的环境,将它们安装在不同的主机上也是一个选项。Zabbix服务器能够直接监控到同一网络中的设备,如果其他网络的设备也需要被监控,那还需要一台Zabbix代理服务器。
一、环境准备
1、zabbix server端:
Host:192.168.189.133
操作系统:CentOS 6.5
数据库:MySQL 5.6
2、zabbix web端:
Host:192.168.189.133
3、zabbix agent端:
Host:192.168.189.131
操作系统:CentOS 6.5
由于这里只介绍zabbix的搭建,所以agent端没将需要监控的(如:数据库)写上,如果需要监控某个数据库,那么这个数据库应该在agent端上,监控其他的一样。
二、搭建zabbix监控环境(zabbix server)
由于这里的版本zabbix3.2.7,需要php5.6以上版本的支持,所以需要将旧的php版本删除
1、查看php版本:
2、卸载老版本的php:
yum remove php*
3、更改yum源
由于centos自带的yum源没有5.6版本的php,所以需要重新更改一下
4、安装LAMP环境以及依赖包和php
贪图方便,这里一次性将php,LAMP环境和zabbix依赖的包都安装完
Yum -y install mysql-server httpd mysql-devel gcc net-snmp-devel curl_devel perl-DBI php56w php56w-cli php56w-common php56w-gd php56w-ldap php56w-mbstring php56w-mysql php56w-pdo php56w-opacache php56w-xml php56w-devel php56w-bcmath
5、安装完毕后再次检查
6、安装fping
1)下载安装包
2)解压安装包
3)进入解压后的文件夹,并执行./configure
4)执行make && make install
![Uploading image_906028.png . . .]
7、创建zabbix系统用户
8、查看zabbix安装包(安装包需要在官网下下载)
官网下载zabbix的src包 ,下载地址:https://www.zabbix.com/download
9、开始安装zabbix
1)解压,并进入到目录
2)执行./configure命令(注意后面的参数)
3)执行make && make install
4)创建日志路径并授权
10、创建zabbix数据库以及mysql用户
mysql> create database zabbix character set utf8;
Query OK, 1 row affected (0.22 sec)
mysql> grant all privileges on zabbix.* to zabbix@'%' identified by '123456';
Query OK, 0 rows affected (0.02 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
11、导入zabbix数据库初始化数据(顺序不能乱)
# cd /home/zabbix/zabbix-2.4.6/database/mysql/
# mysql -uzabbix -pzabbix zabbix <schema.sql
# mysql -uzabbix -pzabbix zabbix <images.sql
# mysql -uzabbix -pzabbix zabbix <data.sql
12、编辑zabbix配置文件
vim /usr/local/zabbix/etc/zabbix_server.conf
配置文件修改地方以及参数意义如下:
ListenPort=10051 #zabbix server监听的端口
LogFile = /usr/local/zabbix/logs/zabbix_server.log #日志所在路径
PidFile = /usr/local/zabbix/logs/zabbix_server.pid #pid所在目录
DBHost = 192.168.189.133 #数据库所在ip,默认是localhost,如果是localhost那么会根据DBSocket的socke连接mysql
DBName = zabbix #数据库名字,默认是zabbix
DBUser = zabbix #数据库用户,默认是zabbix,我们上面授权的也是zabbix用户
DBPassword = 123456 #默认数据库密码
DBPort = 3306 #默认数据库端口
DBSocket = /tmp/mysql.sock # sock 文件所在目录
FpingLocation = /usr/local/sbin/fping #fping命令路径
13、将文件复制到/etc/init.d下
# cp /home/zabbix/zabbix-3.0.4/misc/init.d/fedora/core5/zabbix_* /etc/init.d/
# chmod +x /etc/init.d/zabbix_*
# mkdir -p /usr/local/zabbix/logs
# chown -R zabbix.zabbix /usr/local/zabbix/
14、修改zabbix_server文件
# vim /etc/init.d/zabbix_server
ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_server" #必须是zabbix的安装目录
15、检查services中是否有以下配置:
# vim /etc/services
#确保有以下配置
zabbix-agent 10050/tcp #Zabbix Agent
zabbix-agent 10050/udp #Zabbix Agent
zabbix-trapper 10051/tcp #Zabbix Trapper
zabbix-trapper 10051/udp #Zabbix Trapper
16、启动和停止zabbix
启动:
/etc/init.d/zabbix_server start
/usr/local/zabbix/sbin/zabbix_server &
/usr/local/zabbix/sbin/zabbix_agent &
停止:
/etc/init.d/zabbix_server stop
17、配置开机启动
# chkconfig --add zabbix_server
# chkconfig --level 35 zabbix_server on
三、配置zabbix web
1、将zabbix_web文件复制到apache web目录中
# mkdir -p /var/www/html/zabbix
# cp -r /home/software/zabbix-3.0.4/frontends/php/* /var/www/html/zabbix
2、apache配置:
#vim /etc/httpd/conf/httpd.conf
ServerName 192.168.189.133:80
3、php配置
max_input_time = 300
memory_limit = 128M
post_max_size = 32M
session.auto_start = 0
mbstring.func_overload = 2
date.timezone = PRC
always_populate_raw_post_data = -1
4、重新启动Apache
# /etc/init.d/httpd restart
2、在浏览器中输入:
http://192.168.189.133/zabbix即可进入到安装界面
这里可能会出现的问题:
1、在检测环境的时候报错:PHP bcmath extension missing (PHP configuration parameter --enable-bcmath).
解决方案:
然后在php配置文件中加上:
2、Cannot create the configuration file. (2)
解决方案:按照错误提示操作:
然后输入网址重新进入:
默认的登录账户名是:admin,默认密码是:zabbix
6、汉化
至此,zabbix的server端已经安装配置完毕
四、agent端的安装与配置
Agent端的安装与server端的基本一致,不同在于在编译的时候,只需要--enable-agent参数就行了,并且不需要httpd的安装
1、安装agent端:
# ./configure --prefix=/usr/local/zabbix --enable-agent
# make && make install
./congifure前的步骤基本与zabbix server端的步骤一致
2、创建日志文件和授权
# mkdir /usr/local/zabbix/logs -p
# chown -R zabbix.zabbix /usr/local/zabbix/
3、修改配置文件
# vim /usr/local/zabbix/etc/zabbix_agentd.conf
4、复制并修改启动脚本
cp /opt/zabbix-3.2.7/misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/
vim /etc/init.d/zabbix_agentd
5、如果设置了防火墙则开放10050端口,如果没有则可以跳过此步
1)查看防火墙状态:
# service iptables status
# iptables -A INPUT -p tcp --dport 10050 -j ACCEPT
# /etc/init.d/iptables save
6、启动zabbix agent
# /etc/init.d/zabbix_agentd start
# /usr/local/zabbix/sbin/zabbix_agentd &
7、配置开机启动
# chkconfig -add zabbix_agentd
# chkconfig --level 35 zabbix_agentd on
8、测试是否工作正常(在zabbix server端中操作)
# /usr/local/zabbix/bin/zabbix_get -s 192.168.189.131 -p10050 -k agent.ping
如果返回1则说明正常,如果返回0则表示不正常
至此已将zabbix完整部署到机器中
五、使用
1、模板的配置以及界面主机配置
下图中,正确顺序是:点击模板->选择模板->在弹出框中选择模板(双击或者选中选择框点最下面的确定按钮)->点击模板示例中的添加->最后点击蓝色按钮的添加
由于截图的时候截错了然后又懒得开虚拟机重新截过,有空的时候再改吧