Zabbix 服務端搭建

    很早就想寫一個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

  
  
  
  
  1. tar zxvf lemp_auto_v1.0.6.tar.gz 
  2. cd lemp 
  3. ./lemp.sh 
  4. 後面的步驟根據提示操做便可 

 

第一張是開始安裝,第二張是安裝完成的,從二圖能夠看出每一個軟件包安裝的目錄信息。
在此感謝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須要的其餘組件

  
  
  
  
  1. yum -y install net-snmp-devel curl-devel 

(2)添加zabbix用戶

  
  
  
  
  1. groupadd zabbix            添加zabbix組             
  2. useradd zabbix -g zabbix   新建zabbix用戶並將其加入到zabbix組 

(3)解壓軟件

  
  
  
  
  1. tar zxvf zabbix-2.0.3.tar.gz 
  2. cd zabbix-2.0.3 

(4)爲zabbix建立數據庫並添加用戶

  
  
  
  
  1. 注:先使用/etc/init.d/mysqld start 啓動數據庫 
  2.     在mysql -uroot -p,輸入默認密碼1登錄數據庫。 
  3. create database zabbix character set utf8;    #新建一個數據庫叫zabbix 
  4.  
  5. grant all on zabbix.* to zabbix@localhost identified by 'redhat';   #給zabbix這個數據庫受權,只容許zabbix這個用戶經過本地登陸,zabbix用戶的密碼爲redhat 

(5)將zabbix源碼包中的數據導入到新建的zabbix數據庫

  
  
  
  
  1. 注:這一步是zabbix2.3與其餘舊版不一樣的,在版本2.3裏數據庫的結構和名字都變了,並且導入也要嚴格按照順序來。 
  2. mysql -uzabbix -p'redhat' zabbix < /zabbix/zabbix-2.0.3/database/mysql/schema.sql      #這個是zabbix的數據庫表結構,要先導入。 
  3.  
  4. mysql -uzabbix -p'redhat' zabbix < /zabbix/zabbix-2.0.3/database/mysql/p_w_picpaths.sql 
  5.  
  6. mysql -uzabbix -p'redhat' zabbix < /zabbix/zabbix-2.0.3/database/mysql/data.sql  

(6)編譯安裝

  
  
  
  
  1. ./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
  2. make
  3. make install

 (7)爲zabbix server添加端口

  
  
  
  
  1. vim /etc/services 
  2. 添加以下信息
  3. zabbix-agent 10050/tcp Zabbix Agent 
  4. zabbix-agent 10050/udp Zabbix Agent 
  5. zabbix-trapper 10051/tcp Zabbix Trapper 
  6. zabbix-trapper 10051/udp Zabbix Trapper 

(8)拷貝配置文件到響應的目錄下

  
  
  
  
  1. 注:這一步也是2.0.3改動的地方,以往的配置文件都是存放在源碼包下的misc/conf/目錄中,此次不是了。 
  2. mkdir /etc/zabbix 
  3. cp -rf /zabbix/zabbix-2.0.3/conf/*  /etc/zabbix 
  4. #注:2.0以上的版本不用這一步,他的配置文件默認都安裝在/usr/local/zabbix/etc/這個目錄裏面了。

(9)更改配置文件中數據庫相關的用戶名密碼

  
  
  
  
  1. vim /etc/zabbix/zabbix_server.conf 
  2. #2.0之前的是上面的文件,2.0以後版本是這個文件:/usr/local/zabbix/etc/zabbix_server.conf
  3. 修改如下三項: 
  4. DBName=zabbix 
  5. DBUser=zabbix 
  6. DBPassword=redhat 
  7. 注:DBPassword 默認是被註釋掉的 

(10)給zabbix服務端程序作軟連接

  
  
  
  
  1. cd /usr/local/zabbix/bin/ 
  2.  
  3. for i in *;do ln -s /usr/local/zabbix/bin/${i} /usr/bin/${i};done 
  4.  
  5. cd /usr/local/zabbix/sbin/ 
  6.  
  7. for i in *;do ln -s /usr/local/zabbix/sbin/${i} /usr/sbin/${i};done 

(11)添加數據庫Lib文件位置到/etc/ld.so.conf中,並使其生效

  
  
  
  
  1. echo /usr/local/mysql-5.1.48/lib/mysql/ >&gt; /etc/ld.so.conf 
  2.  
  3. ldconfig 

(12)拷貝相應的web程序到相關WEB服務目錄下

  
  
  
  
  1. cp -r zabbix-2.0.3/frontends/php /data/www/wwwroot/zabbix 

(13)拷貝zabbix服務端和客戶端啓動腳本到/etc/init.d目錄下.

  
  
  
  
  1. 注:這個地方存放腳本的目錄結構也有變化,沒有redhat這個目錄,因此我cp的gentoo目錄裏的啓動腳本,具體區別能夠閱讀README。 
  2.  
  3. cp zabbix-2.0.3/misc/init.d/zabbix_server /etc/init.d 
  4. chmod +x /etc/init.d/zabbix_server     # 爲腳本加上可執行權限 
  5.  
  6. cp zabbix-2.0.3/misc/init.d/zabbix_agentd /etc/init.d 
  7. chmod +x /etc/init.d/zabbix_agentd 
  8. 文檔中說還要更改啓動腳本中的路徑,可是我更改以後反而不對了,因此沒有更改。

(14)啓動zabbix,而且添加開機自啓動

  
  
  
  
  1. service zabbix-server start 
  2. service zabbix-agentd start  #啓動服務
  3.  
  4. chkconfig zabbix-server on 
  5. chkconfig zabbix-agentd on  #開機自啓動

(15)Nginx服務中添加zabbix虛擬主機

  
  
  
  
  1. vim /usr/local/nginx/conf/vhosts/monitor.conf 
  2. server { 
  3.  
  4. listen       80; 
  5.  
  6. server_name  zabbixA.cyhd.com.cn; 
  7.  
  8. #access_log   logs/zabbix_access.log  main; 
  9.  
  10. location / { 
  11.  
  12. root   /data/www/wwwroot/zabbix; 
  13.  
  14. index  index.html index.htm index.php; 
  15.  
  16.  
  17. location ~ \.php$ { 
  18.  
  19. root   /data/www/wwwroot/zabbix; 
  20.  
  21. fastcgi_pass   127.0.0.1:9000; 
  22.  
  23. fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; 
  24.  
  25. fastcgi_index  index.php; 
  26.  
  27. include        fastcgi_params; 
  28.  
  29.  

(16)啓動nginx添加開機自啓動

  
  
  
  
  1. service nginx start 
  2.  
  3. chkconfig nginx on 

(17)修改PHP配置文件php.ini內容

  
  
  
  
  1. vim /usr/local/php-5.2.17/etc/php.ini 
  2. date.timezone = Asia/Shanghai 
  3. post_max_size = 32M 
  4. max_execution_time = 300M 
  5. max_input_time = 300M 
  6. 注:更改完以後須要重啓nginx和php 

(18)啓動重啓php

  
  
  
  
  1. 默認開機是啓動的 
  2. pkill php     #關閉php 
  3. 也能夠經過以下命令 
  4. /usr/local/php-5.2.17/sbin/php-fpm start|stop 
  5.  
  6. 啓動重啓以後最好使用ps -ef | grep php 查看下 

4、瀏覽器安裝

(1)瀏覽器打開剛安裝的zabbix

http://IP

(2)檢測php組件,所有OK才能夠點擊next

  
  
  
  
  1. 注:這個地方要有些改動。 
  2. 最後一欄 PHP gettext 確定是No狀態,由於在LNMP中沒有加入  PHP gettext,因此動態編譯下php。 
  3.  
  4. cd lemp/packages     #這個目錄都是一鍵安裝源碼包的存放位置 
  5. tar -zxvf php-5.2.17.tar.gz   #解壓php源碼包 
  6. cd php-5.2.17/ext/gettext     #php自帶的有這個,只是編譯的時候沒加 
  7. /usr/local/php-5.2.17/bin/phpize    #執行此命令 
  8. ./configure --with-php-config=/usr/local/php-5.2.17/bin/php-config #從新編譯php 
  9. 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

到此服務端的安裝就完成了

相關文章
相關標籤/搜索