系统环境:
[root@it3246 ~]# cat/etc/redhat-release
CentOS release 6.5(Final)
软件环境LAMP:
1.在已有的LAMP或者LNMP的基础上安装zabbix,安装一些依赖包:
[root@it3246 ~]# yum -y
install gcc gcc-c++ autoconf httpd php mysql mysql-server php-mysql
httpd-manual mod_ssl mod_perl mod_auth_mysql php-gd php-xml php-mbstring
php-ldap php-pear php-xmlrpc php-bcmath mysql-connector-odbc mysql-devel
libdbi-dbd-mysql net-snmp-devel curl-devel unixODBC-devel OpenPMI-devel
java-devel libxml2-devel
![1.png wKiom1gRsFzjMJBqAACMVyi3CJE880.png-wh_50]()
![2.png wKioL1gRsF6APL6AAAEFHUat6vg263.png-wh_50]()
2.在系统中添加一个管理zabbix的用户:
[root@it3246 ~]#groupaddzabbix
[root@it3246 ~]#useraddzabbix -g zabbix -s /sbin/nologin -m
![3.png wKiom1gRsVryLCEAAABzMMo0XkY118.png-wh_50]()
3.登陆mysql数据库,创建zabbix系统的数据库,添加授权账号
mysql> createdatabase zabbix character set utf8;
mysql> grantall privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql> flushprivileges;
![4.png wKioL1gRscqDRwP6AAJFNMLPwV0238.png-wh_50]()
![5.png wKioL1gRscqRycrMAABQebnUWvY100.png-wh_50]()
![6.png wKiom1gRscvCI0HgAALdkjPLrlI376.png-wh_50]()
4.编译安装zabbix
下载地址:
wget http://nchc.dl.sourceforge.net/project/zabbix/ZABBIXLatest Stable/2.2.6/zabbix-2.2.6.tar.gz
[root@it3246 src]# tar
xf zabbix-2.2.6.tar.gz
[root@it3246 src]# ls
LAMP zabbix-2.2.6
zabbix-2.2.6.tar.gz
[root@it3246 src]# cd
zabbix-2.2.6
[root@it3246
zabbix-2.2.6]#
./configure
--prefix=/usr/local/zabbix --enable-server --enable-agent \
--with-mysql
--with-net-snmp --with-libcurl
![7.png wKiom1gRsmjgiiDhAABbZZnV75o644.png-wh_50]()
![8.png wKioL1gRsmnw3Fx2AAEmqoQ0qks272.png-wh_50]()
![9.png wKioL1gRso_gcbVAAACS8KOkIoA762.png-wh_50]()
[root@it3246mysql]# make install
![10.png wKiom1gRsvSg8C_zAAFjiBgwIyg177.png-wh_50]()
![11.png wKioL1gRsvXB4nR_AAJe7WA5YVo988.png-wh_50]()
5.导入数据库(源码包的里面包含的数据库初始表,这里mysql设置密码是123456,在操作时候可以更改为自己系统mysql数据库的密码)
进入zabbix安装包中,按照如下命令查看mysql文件
![12.png wKiom1gRs0XyK2ArAABSUjazAfM985.png-wh_50]()
![13.png wKioL1gRs0XAWWxjAADk37hXKHQ691.png-wh_50]()
[root@it3246 mysql]#
mysql -uroot -p123456 zabbix < ./schema.sql
[root@it3246 mysql]#
mysql -uroot -p123456 zabbix < ./p_w_picpaths.sql
[root@it3246 mysql]#
mysql -uroot -p123456 zabbix < ./data.sql
![14.png wKiom1gRtC_TsWhtAAFXSVB1GUE617.png-wh_50]()
注意:[root@it3246 mysql]# mysql -uroot -p123456 zabbix < ./data.sql
ERROR 1146 (42S02) at line 2: Table 'zabbix.hosts'doesn't exist
错误提示:在第二行表 zabbix.hosts文件不存在。此时差错肯定在表上。
6.修改zabbixServer的配置文件
配置zabbix 连接数据库的账号密码
[root@it3246 mysql]#vim/usr/local/zabbix/etc/zabbix_server.conf
![15.png wKioL1gRtFDCE1Z6AACZD3gQh94660.png-wh_50]()
替换:DBUser=root换成DBUser=zabbix
添加:DBPassword
DBPassword=123456
![17.png wKioL1gRtHjyzSDCAABW3_BRSDw752.png-wh_50]()
脚本替换
sed-i 's/^DBUser=.*$/DBUser=zabbix/g' /usr/local/zabbix/etc/zabbix_server.conf
sed-i 's/^.*DBPassword=.*$/DBPassword=zabbix/g'/usr/local/zabbix/etc/zabbix_server.conf
sed-i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g'/etc/init.d/zabbix_server
sed-i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g'/etc/init.d/zabbix_agentd
7.配置启动脚本,授予启动权限
[root@it3246zabbix-2.2.6]# pwd
/usr/local/src/zabbix-2.2.6
[root@it3246zabbix-2.2.6]# ls
aclocal.m4 conf configure.ac INSTALL man upgrades
AUTHORS config.guess COPYING install-sh misc
bin config.log database m4 missing
build config.status depcomp Makefile NEWS
ChangeLog config.sub frontends Makefile.am README
compile configure include Makefile.in src
![19.png wKioL1gRtPGDmyJZAAD-_ULG3N0444.png-wh_50]()
[root@it3246zabbix-2.2.6]#
cpmisc/init.d/fedora/core/zabbix_server /etc/init.d/
[root@it3246zabbix-2.2.6]#
cpmisc/init.d/fedora/core/zabbix_agentd /etc/init.d/
[root@it3246zabbix-2.2.6]#
[root@it3246zabbix-2.2.6]cp-R frontends/php/ /var/www/html/zabbix
![20.png wKioL1gRtS6DjmUmAAJSHdMdVvI779.png-wh_50]()
[root@it3246 zabbix-2.2.6]#chmod +x /etc/init.d/zabbix_server
[root@it3246zabbix-2.2.6]# chmod +x /etc/init.d/zabbix_agentd
![21.png wKioL1gRtVbBVSR0AAA57TF1ykI399.png-wh_50]()
8.添加服务端口:
[root@it3246zabbix-2.2.6]# cat >>/etc/services <<EOF
> zabbix-agent10050/tcp Zabbix Agent
> zabbix-agent10050/udp Zabbix Agent
> zabbix-trapper10051/tcp Zabbix Trapper
> zabbix-trapper10051/udp Zabbix Trapper
> EOF
![22.png wKiom1gRtX2SgyeOAAB02HwDIno118.png-wh_50]()
9.启动服务,并且加入开机启动项
[root@it3246zabbix-2.2.6]# /etc/init.d/zabbix_server start
Startingzabbix_server: /etc/init.d/functions:line 546: /usr/local/sbin/zabbix_server: 没有那个文件或目录
[失败] /etc/init.d/httpdstart
[root@it3246zabbix-2.2.6]# /etc/init.d/zabbix_server start
Startingzabbix_server: /etc/init.d/functions:line 546: /usr/local/sbin/zabbix_server: 没有那个文件或目录
[root@it3246zabbix-2.2.6]#
echo"/etc/init.d/zabbix_server start">>/etc/rc.local
[root@it3246zabbix-2.2.6]#
echo"/etc/init.d/zabbix_agentd start">>/etc/rc.local
![23.png wKiom1gRtcvSagHzAAC-CaNJlPE295.png-wh_50]()
错误提示
![25.png wKioL1gRtgGRBAobAAIXeXx1Vos074.png-wh_50]()
解决
(1)进入zabbix_server zabbix_agentd配置文件
[root@it3246zabbix-2.2.6]# vim /etc/init.d/zabbix_server
(2)修改BASEDIR选项
BASEDIR=/usr/local/zabbix
![26.png wKioL1gRtjKwAXrYAAB8ZG01KsE539.png-wh_50]()
![27.png wKiom1gRtjLh2TRVAAA_Vy30QD0997.png-wh_50]()
![28.png wKioL1gRtjKTRYkAAAEk7nXKzTU290.png-wh_50]()
![29.png wKiom1gRtjOg5-pwAAE5CGEbRpg932.png-wh_50]()
(3)修改完成后,重新启动httpd。
![30.png wKioL1gRtnuwa19GAACr2qS8WeU611.png-wh_50]()
10.web页面配置
10.1 配置http访问好了后web登陆:http://ip/zabbix主要会报一些php报错的信息,对应的修改就好了,date.timezone = Asia/Shanghai
进入该页面按照提示一步一步初始化。
![31.png wKioL1gRtquC8hoxAAWepA35fyo897.png-wh_50]()
![32.png wKioL1gRtqzjCv-fAAPwCCoxtjQ754.png-wh_50]()
报错:
PHP option post_max_size 8M 16M Fail
PHP option max_execution_time 30 300 Fail
PHP option max_input_time 60 300 Fail
PHP time zone unknown Fail
通过修改php配置文件 /etc/php.ini
![33.png wKiom1gRtuHy1CNhAAB8xChvuN4020.png-wh_50]()
解决方法
(1)编辑修改php.ini
[root@it3246 ~]# ls -d/etc/php.
php.d/ php.ini
[root@it3246 ~]# vi/etc/php.ini
[PHP]
;;;;;;;;;;;;;;;;;;;
; About php.ini ;
;;;;;;;;;;;;;;;;;;;
![34.png wKiom1gRt0HSVAetAAAo0vJPYic567.png-wh_50]()
![35.png wKioL1gRt0GzehpYAACut_sTb9M625.png-wh_50]()
![36.png wKioL1gRt0HB3g8dAACG149en8M144.png-wh_50]()
![37.png wKiom1gRt0GzTfkhAAC5YcM1228724.png-wh_50]()
![38.png wKioL1gRt0HxyeoxAAE3SIAmqJc180.png-wh_50]()
(2) 保存退出,重启httpd服务
![39.png wKiom1gRt2-TCfcfAAAm5q2LWRo153.png-wh_50]()
(3)上一步改错了,max_input_time改动如下。
![40.png wKiom1gRt5Oj5hhDAACTws16OUw667.png-wh_50]()
(4)再次重启httppd刷新页面如下
![41.png wKioL1gRt6fjHoP9AAOzFo2HWzA063.png-wh_50]()
10.2 查看之前的授权,用户名zabbix密码zabbix
![42.png wKioL1gRt73Qy531AABJMKM_tQo142.png-wh_50]()
10.3 初始登录账户和密码: zabbix zabbix
![43.png wKiom1gRt9qyOKSwAAHjFD7prbE681.png-wh_50]()
10.4 下一步配置服务器端数据库详细:
![44.png wKioL1gRuAGj7O2wAAG3PIksV0E204.png-wh_50]()
![45.png wKiom1gRuAKSf0GNAAGrEhHLD9A642.png-wh_50]()
![46.png wKioL1gRuAKDrWeqAAGpXO0xVQE200.png-wh_50]()
出现这个错误,提示:
Configuration file
"/var/www/html/zabbix/conf/zabbix.conf.php"
created:Fail
解决办法:
(1)这个需要把一个模板文件zabbix.conf.php.example拷贝为zabbix.conf.php,然后编辑这个php文件,主要是数据库连接的信息,核对正确即可。
![47.png wKioL1gRuCyA92uyAABhBDWhssQ769.png-wh_50]()
操作如下:
[root@it3246 conf]#
cpzabbix.conf.php.example zabbix.conf.php
[root@it3246 conf]# ls
maintenance.inc.php zabbix.conf.php zabbix.conf.php.example
[root@it3246 conf]# vimzabbix.conf.php
![48.png wKiom1gRuFyBEpCCAAE3tRUfTdo222.png-wh_50]()
![49.png wKioL1gRuFyAmkK4AAE4glIGCGo374.png-wh_50]()
(2)现在看到的界面,本机的服务和监控是not running的
![50.png wKiom1gRuIugpWdVAAGk7o1Z1hg990.png-wh_50]()
(3)点击Configuration、Hosts看到的ZabbixServer的Status状态为Not monitored,可以点击Not monitored按钮将其设置成Monitored。
![51.png wKiom1gRuKvSOWmSAAF2bx0Ozds687.png-wh_50]()
![52.png wKioL1gRuKyREhUTAABonPI9WZI024.png-wh_50]()
![53.png wKiom1gRuKzBF1J0AAC0J74uxwc102.png-wh_50]()
错误提示:
Zabbix server is not running the informationdisplayed may not be current
![54.png wKioL1gRuQHgvazEAACsGuUew3k597.png-wh_50]()
解决思路
(1) selinux是否关闭。一定要关闭这个,开启selinux会引起一连串问题,甚至zabbix的discovery功能也不能正常使用
关闭SELinux的方法:
修改/etc/selinux/config文件中的SELINUX=""为 disabled ,然后重启。
如果不想重启系统,使用命令setenforce0 注:
setenforce 1 设置SELinux 成为enforcing模式
setenforce 0 设置SELinux 成为permissive模式
在lilo或者grub的启动参数中增加:selinux=0,也可以关闭selinux
(2) zabbix web目录下面 $ZBX_SERVER 是否为ip,如果是localhost,ping下localhost是否能解析。如果不能,需要在/etc/hosts文件里增加相应的项目
(3)查看php的fsockopen模块是否启用。
方法一:
第一步:
php.ini文件中查找
allow_url_fopen = On
使其值为On
第二步:
php.ini文件中查找
extension=php_openssl.dll
如果前面有分号,去掉分号
第三步:
重启web服务器,apache或IIS
还有一种情况,也就是方法二:
(1) vi php.ini
找到allow_url_fopen 这个参数设置成 On,即
allow_url_fopen = On
(2) 让你的php支持 opensll扩展。
默认,是没有openssl扩展的,只能重新编译安装。
yum install openssl openssl-devel
cd /usr/local/src/php-5.2.14/ext/openssl
/usr/local/php/bin/phpize
./configure –with-openssl –with-php-config=/usr/local/bin/php-config
make && make install
看提示,把编译成的openssl.so拷贝到你在php.ini 中指定的 extension_dir 下
(3) vi php.ini
加入
extension=openssl.so
(4) 重启web server