很早就想寫一個zabbix監控的安裝文檔,比較懶,最近看了同事的zabbix服務器端安裝文檔,感受總結的不錯,就轉了過來,原文地址爲:http://song49.blog.51cto.com/4480450/1028718。 php
1、環境介紹html
Zabbix 須要依賴LAMP(Apache、Mysql、PhP)環境,Apache也可使用Nginx代替,爲了節省時間網上有不少一鍵安裝的腳本,下載執行安裝便可。mysql
系統:rhel 5.5 X86_64
軟件:nginx-0.8.53
mysql-5.1.56
php-5.2.17
zabbix 2.0.3linux
LNMP一鍵下載地址:http://bbs.linuxtone.org/docs/autoinstall/lemp_auto_v1.0.6.tar.gznginx
Zabbix 下載地址:http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.0.3/zabbix-2.0.3.tar.gz/downloadweb
2、LNMP安裝sql
- tar zxvf lemp_auto_v1.0.6.tar.gz
- cd lemp
- ./lemp.sh
- 後面的步驟根據提示操做便可
第一張是開始安裝,第二張是安裝完成的,從二圖能夠看出每一個軟件包安裝的目錄信息。
在此感謝linuxtone論壇的腳本,爲實驗節省了很多時間。數據庫
須要指出的是php的編譯,編譯中必須用的參數:--enable-mbstring,--with-gettext,--enable-bcmath,--with-gd,個人php編譯參數以下:apache
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs --with-ttf --with-freetype-dir=/usr/local --with-iconv-dir=/usr/local --with-curl=/usr/local --with-zlib --with-gettext --with-libxml-dir=/usr/local --with-gd=/usr/local --with-png-dir --enable-mbstring --enable-exif --enable-force-cgi-redirect --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-calendar --enable-gd-native-ttf --enable-gd-jis-conv --disable-debug --disable-path-info-check --enable-soap --silent --enable-sockets --with-openssl --enable-bcmath --with-snmp --with-jpeg-dir=/usr/localvim
3、Zabbix 安裝
(1)yum安裝zabbix須要的其餘組件
- yum -y install net-snmp-devel curl-devel
(2)添加zabbix用戶
- groupadd zabbix 添加zabbix組
- useradd zabbix -g zabbix 新建zabbix用戶並將其加入到zabbix組
(3)解壓軟件
- tar zxvf zabbix-2.0.3.tar.gz
- cd zabbix-2.0.3
(4)爲zabbix建立數據庫並添加用戶
- 注:先使用/etc/init.d/mysqld start 啓動數據庫
- 在mysql -uroot -p,輸入默認密碼1登錄數據庫。
- create database zabbix character set utf8; #新建一個數據庫叫zabbix
- grant all on zabbix.* to zabbix@localhost identified by 'redhat'; #給zabbix這個數據庫受權,只容許zabbix這個用戶經過本地登陸,zabbix用戶的密碼爲redhat
(5)將zabbix源碼包中的數據導入到新建的zabbix數據庫
- 注:這一步是zabbix2.3與其餘舊版不一樣的,在版本2.3裏數據庫的結構和名字都變了,並且導入也要嚴格按照順序來。
- mysql -uzabbix -p'redhat' zabbix < /zabbix/zabbix-2.0.3/database/mysql/schema.sql #這個是zabbix的數據庫表結構,要先導入。
- mysql -uzabbix -p'redhat' zabbix < /zabbix/zabbix-2.0.3/database/mysql/p_w_picpaths.sql
- mysql -uzabbix -p'redhat' zabbix < /zabbix/zabbix-2.0.3/database/mysql/data.sql
(6)編譯安裝
- ./configure --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --with-mysql=/usr/local/mysql-5.2.17/bin/mysql_config --with-net-snmp --with-libcurl
- make
- make install
(7)爲zabbix server添加端口
- 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
(8)拷貝配置文件到響應的目錄下
- 注:這一步也是2.0.3改動的地方,以往的配置文件都是存放在源碼包下的misc/conf/目錄中,此次不是了。
- mkdir /etc/zabbix
- cp -rf /zabbix/zabbix-2.0.3/conf/* /etc/zabbix
- #注:2.0以上的版本不用這一步,他的配置文件默認都安裝在/usr/local/zabbix/etc/這個目錄裏面了。
(9)更改配置文件中數據庫相關的用戶名密碼
- vim /etc/zabbix/zabbix_server.conf
- #2.0之前的是上面的文件,2.0以後版本是這個文件:/usr/local/zabbix/etc/zabbix_server.conf
- 修改如下三項:
- DBName=zabbix
- DBUser=zabbix
- DBPassword=redhat
- 注:DBPassword 默認是被註釋掉的
(10)給zabbix服務端程序作軟連接
- 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
(11)添加數據庫Lib文件位置到/etc/ld.so.conf中,並使其生效
- echo /usr/local/mysql-5.1.48/lib/mysql/ >> /etc/ld.so.conf
- ldconfig
(12)拷貝相應的web程序到相關WEB服務目錄下
- cp -r zabbix-2.0.3/frontends/php /data/www/wwwroot/zabbix
(13)拷貝zabbix服務端和客戶端啓動腳本到/etc/init.d目錄下.
- 注:這個地方存放腳本的目錄結構也有變化,沒有redhat這個目錄,因此我cp的gentoo目錄裏的啓動腳本,具體區別能夠閱讀README。
- cp zabbix-2.0.3/misc/init.d/zabbix_server /etc/init.d
- chmod +x /etc/init.d/zabbix_server # 爲腳本加上可執行權限
- cp zabbix-2.0.3/misc/init.d/zabbix_agentd /etc/init.d
- chmod +x /etc/init.d/zabbix_agentd
- 文檔中說還要更改啓動腳本中的路徑,可是我更改以後反而不對了,因此沒有更改。
(14)啓動zabbix,而且添加開機自啓動
- service zabbix-server start
- service zabbix-agentd start #啓動服務
- chkconfig zabbix-server on
- chkconfig zabbix-agentd on #開機自啓動
(15)在Nginx服務中添加zabbix虛擬主機
- vim /usr/local/nginx/conf/vhosts/monitor.conf
- server {
- listen 80;
- server_name zabbixA.cyhd.com.cn;
- #access_log logs/zabbix_access.log main;
- location / {
- root /data/www/wwwroot/zabbix;
- index index.html index.htm index.php;
- }
- location ~ \.php$ {
- root /data/www/wwwroot/zabbix;
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- fastcgi_index index.php;
- include fastcgi_params;
- }
- }
(16)啓動nginx添加開機自啓動
- service nginx start
- chkconfig nginx on
(17)修改PHP配置文件php.ini內容
- vim /usr/local/php-5.2.17/etc/php.ini
- date.timezone = Asia/Shanghai
- post_max_size = 32M
- max_execution_time = 300M
- max_input_time = 300M
- 注:更改完以後須要重啓nginx和php
(18)啓動重啓php
- 默認開機是啓動的
- pkill php #關閉php
- 也能夠經過以下命令
- /usr/local/php-5.2.17/sbin/php-fpm start|stop
- 啓動重啓以後最好使用ps -ef | grep php 查看下
4、瀏覽器安裝
(1)瀏覽器打開剛安裝的zabbix
http://IP
(2)檢測php組件,所有OK才能夠點擊next
- 注:這個地方要有些改動。
- 最後一欄 PHP gettext 確定是No狀態,由於在LNMP中沒有加入 PHP gettext,因此動態編譯下php。
- cd lemp/packages #這個目錄都是一鍵安裝源碼包的存放位置
- tar -zxvf php-5.2.17.tar.gz #解壓php源碼包
- cd php-5.2.17/ext/gettext #php自帶的有這個,只是編譯的時候沒加
- /usr/local/php-5.2.17/bin/phpize #執行此命令
- ./configure --with-php-config=/usr/local/php-5.2.17/bin/php-config #從新編譯php
- make && make install #安裝
vim /usr/local/php-5.2.17/etc/php.ini
倒數第16行更改成 extension = "gettext.so"
保存退出,重啓php便可!
(3)鏈接zabbix數據庫
(4)設置zabbix服務IP和端口,name能夠忽略
(5)預覽設置
(6)這一步忘記截圖了,點擊Down將php生成的文件下載到本地,而後在上傳到/data/www/wwwroot/zabbix/conf下,也能夠用本地記事本打開zabbix.conf.php,複製其中的內容,在 vim /data/www/wwwroot/zabbix/conf/zabbix.conf.php,將剛纔複製的內容粘貼到次,保存退出,在點擊try鏈接測試,出現下圖的OK便可。
(7)輸入用戶名密碼登陸
默認的用戶名:admin 密碼:zabbix
到此服務端的安裝就完成了