說明:
zabbix由2部分構(gòu)成,zabbix server與可選組件zabbix agent。
zabbix server可以通過SNMP,zabbix agent,ping,端口監(jiān)視等方法提供對(duì)遠(yuǎn)程服務(wù)器/網(wǎng)絡(luò)狀態(tài)的監(jiān)視,數(shù)據(jù)收集等功能,它可以運(yùn)行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平臺(tái)上。
zabbix agent需要安裝在被監(jiān)視的目標(biāo)服務(wù)器上,它主要完成對(duì)硬件信息或與操作系統(tǒng)有關(guān)的內(nèi)存,CPU等信息的收集。zabbix agent可以運(yùn)行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista)等系統(tǒng)之上。
實(shí)現(xiàn):
1. 獲取zabbix
# wget http://softlayer-dal.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.0.13/zabbix-2.0.13.tar.gz
2. yum安裝zabbix需要依賴庫(kù)
# yum -y install net-snmp-devel curl-devel
3. 新建zabbix用戶、創(chuàng)建zabbix庫(kù)及初始化、編譯安裝zabbix
3.1 新建zabbix用戶
# useradd -M -s /sbin/nologin zabbix //新建zabbix用戶,無家目錄,不可登陸
3.2 創(chuàng)建zabbix庫(kù)及初始化
# tar zxvf zabbix-2.0.13.tar.gz # cd zabbix-2.0.3 # mysql -uroot -p > create database zabbix character set utf8; //新建zabbix數(shù)據(jù)庫(kù) > grant all on zabbix.* to zabbix@localhost identified by 'redhat'; //授權(quán)zabbxi使用zabbix這個(gè)數(shù)據(jù)庫(kù) # mysql -uzabbix -p'redhat' zabbix < database/mysql/schema.sql //zabbix的數(shù)據(jù)庫(kù)表結(jié)構(gòu) # mysql -uzabbix -p'redhat' zabbix < database/mysql/images.sql //待查 # mysql -uzabbix -p'redhat' zabbix < database/mysql/data.sql //zabbix的數(shù)據(jù)庫(kù)數(shù)據(jù),將zabbix源碼包中的數(shù)據(jù)導(dǎo)入到新建的zabbix數(shù)據(jù)庫(kù),這一步是zabbix2.0.13與舊版不同的地方,在版本2.0.13里數(shù)據(jù)庫(kù)的結(jié)構(gòu)和名字都變了,而且導(dǎo)入也要嚴(yán)格按照順序來。
3.3 編譯安裝zabbix
# ./configure --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl # make && make install --prefix指定zabbix安裝目錄,--enable-server 支持zabbix服務(wù)器,--enable-agent支持zabbix代理,--enable-proxy 支持zabbix代理服務(wù)器,--with-mysql 使用MySQL客戶端庫(kù)可以選擇指定路徑mysql_config,--with-net-snmp 使用net - snmp軟件包,擇性地指定路徑NET - SNMP配置, --with-libcurl 使用curl包。 若./configure 出現(xiàn)hecking for mysql_config... configure: error: MySQL library not found,可以使用find / -name "mysql_config"來查看mysql_config位置,用--with-mysql指定; 若./configure出現(xiàn)錯(cuò)誤configure: error: Invalid NET-SNMP directory - unable to find net-snmp-config,可以通過yum install net-snmp-devel來解決。 若已安裝net-snmp-devel卻報(bào)error while loading shared libraries: libnetsnmp.so.30" 錯(cuò)誤的原因和解決辦法,可以通過find / -name libnetsnmp.so.30,查看libnetsnmp.so.30位置,將libnetsnmp.so.30位置添加到/etc/ld.so.conf,/sbin/ldconfig后,再編譯即可
4. 為zabbix server添加端口
# cat >> /etc/services <<eof zabbix-agent 10050/tcp #ZabbixAgent zabbix-agent 10050/udp #Zabbix Agent zabbix-trapper 10051/tcp #ZabbixTrapper zabbix-trapper 10051/udp #Zabbix Trapper eof
5. 更改zabbix-server.conf配置文件中關(guān)于數(shù)據(jù)庫(kù)部分。默認(rèn)的配置文件在/usr/local/zabbix安裝目錄下
# vim /usr/local/zabbix/etc/zabbix_server.conf //修改以下內(nèi)容 DBName=zabbix DBUser=zabbix DBPassword=redhat //DBPassword 默認(rèn)是被注釋掉的,需要自己添加 DBSocket=/tmp/mysql.sock //我發(fā)現(xiàn)如果不加下面這2條,zabbix會(huì)一直報(bào)connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'。即使mysql賬號(hào)、權(quán)限是正確的,/var/lib/mysql/mysql.sock存在也是一樣會(huì)報(bào)錯(cuò)。 DBPort=3306
6. 給zabbix-2.0.3服務(wù)端程序做軟鏈接
# cd /usr/local/zabbix/bin/ # for i in *;do ln -s /usr/local/zabbix/bin/${i} /usr/bin/${i};done # cd /usr/local/zabbix/sbin/ # for i in *;do ln -s /usr/local/zabbix/sbin/${i} /usr/sbin/${i};done
7. 拷貝zabbix前端到web目錄下
# cp -r zabbix-2.0.3/frontends/php /www/coolnull.com/zabbix # chown -R www:www /www/coolnull.com/zabbix
8. 拷貝修改zabbix服務(wù)端、客戶端啟動(dòng)腳本
# cp zabbix-2.0.13/misc/init.d/fedora/core/zabbix_server /etc/init.d/ # cp zabbix-2.0.13/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/ # chmod +x /etc/init.d/zabbix_* # 為腳本加上可執(zhí)行權(quán)限 # vim /etc/init.d/zabbix_server BASEDIR=/usr/local/zabbix //分別修改/etc/init.d/zabbix_server、zabbix_agentd將其中的BASEDIR改為實(shí)際zabbix的安裝位置,如我們這里的/usr/local/zabbix
9. 啟動(dòng)zabbix,并且添加開機(jī)自啟動(dòng)
# /etc/init.d/zabbix_server start # /etc/init.d/zabbix_agentd start //啟動(dòng)服務(wù) # chkconfig --add zabbix_server # chkconfig --add zabbix_agentd # chkconfig zabbix_server on # chkconfig zabbix_agentd on //開機(jī)自啟動(dòng)
10. 在nginx中添加zabbix虛擬主機(jī)
# vim /usr/local/nginx/conf/vhosts/zabbix.coolnull.com.conf //內(nèi)容如下 server { listen 80; server_name zabbix.coolnull.com; root /home/www/coolnull.com/zabbix; index index.html index.htm index.php; location ~ .*\.(php|php5)?$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; } access_log /var/log/nginx/zabbix.coolnull.com.log; }
11. 修改PHP配置文件php.ini內(nèi)容
# vim /usr/local/webserver/php/etc/php.ini //修改以下地方 date.timezone = Asia/Shanghai post_max_size = 32M max_execution_time = 300 max_input_time = 300
注:更改完之后需要重啟php,啟動(dòng)重啟之后最好使用ps -ef | grep php 查看下
12. 瀏覽器打開zabbix.coolnull.com進(jìn)行安裝
檢測(cè)php組件,全部OK才可以點(diǎn)擊next。
有問題的可以按照上面的指示對(duì)應(yīng)修改。這里最后一欄的PHP gettext肯定是No狀態(tài),因?yàn)閜hp中沒有默認(rèn)沒有安裝gettext模塊,所以需要?jiǎng)討B(tài)編譯下php添加gettext。
13. php動(dòng)態(tài)添加gettext模塊
# cd /opt/php-5.1.2/ext/gettext //進(jìn)入到php源碼包中,php源碼包中包含有g(shù)ettext # /usr/local/webserver/php/bin/phpize # ./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-gettext # make && make install //成功會(huì)在/usr/local/webserver/php/lib/php/extensions產(chǎn)生gettext.so。確認(rèn)php.ini文件中的extension_dir=/opt/php/lib/php/extensions是否存在,并在php.ini中添加extension=gettext.so # /etc/init.d/php-fpm reload //重載php,這里可以通過/usr/local/webserver/php/bin/php -m|grep gettext來查看是否添加了gettext模塊
14. 連接zabbix數(shù)據(jù)庫(kù)
設(shè)置zabbix數(shù)據(jù)庫(kù)賬號(hào)、密碼等就可以了
15. 默認(rèn)用戶名:admin 密碼:zabbix
原文參考:
Zabbix 服務(wù)端搭建
詳解zabbix中文版安裝部署
轉(zhuǎn)載請(qǐng)注明:酷喃|c(diǎn)oolnull| ? zabbix使用一 zabbix server編譯安裝
聯(lián)系客服