系統環境:php
[root@it3246 ~]# cat/etc/redhat-release CentOS release 6.5(Final)
軟件環境LAMP:html
1.在已有的LAMP或者LNMP的基礎上安裝zabbix,安裝一些依賴包:java
[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
2.在系統中添加一個管理zabbix的用戶:mysql
[root@it3246 ~]#groupaddzabbix [root@it3246 ~]#useraddzabbix -g zabbix -s /sbin/nologin -m
3.登錄mysql數據庫,建立zabbix系統的數據庫,添加受權帳號linux
mysql> createdatabase zabbix character set utf8; mysql> grantall privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; mysql> flushprivileges;
4.編譯安裝zabbixc++
下載地址:web
wget http://nchc.dl.sourceforge.net/project/zabbix/ZABBIXLatest Stable/2.2.6/zabbix-2.2.6.tar.gzsql
[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
[root@it3246mysql]# make install
5.導入數據庫(源碼包的裏面包含的數據庫初始表,這裏mysql設置密碼是123456,在操做時候能夠更改成本身系統mysql數據庫的密碼)數據庫
進入zabbix安裝包中,按照以下命令查看mysql文件apache
[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
注意:[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
替換:DBUser=root換成DBUser=zabbix
添加:DBPassword
DBPassword=123456
腳本替換 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
[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
[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
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
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
錯誤提示
解決
(1)進入zabbix_server zabbix_agentd配置文件
[root@it3246zabbix-2.2.6]# vim /etc/init.d/zabbix_server
(2)修改BASEDIR選項
BASEDIR=/usr/local/zabbix
(3)修改完成後,從新啓動httpd。
10.web頁面配置
10.1 配置http訪問好了後web登錄:http://ip/zabbix主要會報一些php報錯的信息,對應的修改就行了,date.timezone = Asia/Shanghai
進入該頁面按照提示一步一步初始化。
報錯:
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
解決方法
(1)編輯修改php.ini
[root@it3246 ~]# ls -d/etc/php. php.d/ php.ini [root@it3246 ~]# vi/etc/php.ini [PHP] ;;;;;;;;;;;;;;;;;;; ; About php.ini ; ;;;;;;;;;;;;;;;;;;;
(2) 保存退出,重啓httpd服務
(3)上一步改錯了,max_input_time改動以下。
(4)再次重啓httppd刷新頁面以下
10.2 查看以前的受權,用戶名zabbix密碼zabbix
10.3 初始登陸帳戶和密碼: zabbix zabbix
10.4 下一步配置服務器端數據庫詳細:
出現這個錯誤,提示:
Configuration file
"/var/www/html/zabbix/conf/zabbix.conf.php"
created:Fail
解決辦法:
(1)這個須要把一個模板文件zabbix.conf.php.example拷貝爲zabbix.conf.php,而後編輯這個php文件,主要是數據庫鏈接的信息,覈對正確便可。
操做以下:
[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
(2)如今看到的界面,本機的服務和監控是not running的
(3)點擊Configuration、Hosts看到的ZabbixServer的Status狀態爲Not monitored,能夠點擊Not monitored按鈕將其設置成Monitored。
錯誤提示:
Zabbix server is not running the informationdisplayed may not be current
解決思路
(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