Zabbix 3.4 源碼安裝

你可以通過源代碼編譯,獲得最新版本的Zabbix。

本頁面提供從源代碼安裝Zabbix的詳細教程。

1 安裝Zabbix守護進程

1 下載源代碼歸檔

前往 Zabbix download page 並下載源代碼歸檔。當下載完畢後,執行下列命令解壓縮源代碼:

$ tar -zxvf zabbix-3.4.0.tar.gz

在命令行中輸入正確的Zabbix版本號。版本號必須和下載的歸檔包文件名相同。

2 創建用戶賬戶

對於所有Zabbix的守護進程,需要一個無特權的用戶。如果Zabbix守護進程以一個無特權的用戶賬戶啓動,那麼它會使用該用戶運行。

然而,如果一個守護進程以‘root’用戶啓動,它會切換爲‘zabbix’用戶賬戶,且這個用戶必須存在。在Linux系統中,可以使用下面命令建立一個用戶(該用戶屬於自己的用戶組,“zabbix”):

groupadd zabbix
useradd -g zabbix zabbix

對於Zabbix前端的安裝,不需要使用單獨的用戶賬戶。

如果Zabbix server 和 agent 運行在同一臺計算機上,建議使用不同的賬戶運行Server和Agent。否則,如果兩個進程使用了同一個用戶,Agent就可以訪問Server的配置文件,並可輕易地讀取Zabbix中任何管理員級別的用戶,比如數據庫密碼。

使用rootbin或其他特殊權限的賬戶運行Zabbix是一個安全風險。

3 創建Zabbix數據庫

對於Zabbix server 和 proxy 守護進程以及Zabbix前端,都需要連接到一個數據庫。Zabbix agent不需要數據庫的支持。

SQL 腳本 用於創建數據庫架構(schema)並插入數據集(dataset)。 Zabbix proxy數據庫只需要數據庫架構(schema),而Zabbix server數據庫在建立數據庫架構(schema)後,還需要數據集(dataset)。

建立Zabbix數據庫後,可以開始對Zabbix進行編譯。

4 配置源代碼

當配置Zabbix server或者proxy的源代碼時,需要指定所使用的數據庫類型。每個Zabbix server或者proxy進程在同一時間內只能使用一種數據庫類型。

如果需要查看所有支持的配置選項,可在解壓縮後的Zabbix源代碼目錄中,運行下列命令:

./configure --help

如果需要爲Zabbix server和agent配置源代碼,可以按下列格式運行命令:

./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2

自Zabbix 3.0.0版本起,SMTP認證需要--with-libcurl 配置選項,同時要求cURL 7.20.0或者更改版本。\\自Zabbix 2.2.0版本起,虛擬機監控需 --with-libcurl 和 --with-libxml2 配置選項。

爲Zabbix server配置源代碼(以使用PostgreSQL爲例),你可以運行下列命令:

./configure --enable-server --with-postgresql --with-net-snmp

爲Zabbix proxy配置源代碼(以使用SQLite爲例),你可以運行下列命令:

./configure --prefix=/usr --enable-proxy --with-net-snmp --with-sqlite3 --with-ssh2

爲Zabbix Agent配置源代碼,你可以運行下列命令:

./configure --enable-agent

你可以使用 --enable-static 開關靜態連接類庫。如果你打算在不同的服務器之間分發已編譯的二進制文件,你必須使用這個標籤以使得這些二進制文件在不依賴於所需要的類庫的情況下也可常運行。請注意 --enable-static 在 Solaris 系統下無效

不建議在搭建Zabbix server時使用 --enable-static 選項。

爲了靜態搭建Zabbix server,你必須擁有每個所需的外部類庫的靜態版本。配置腳本中不提供這些類庫的嚴格檢查。

命令行工具 zabbix_get 和 zabbix_sender 只有在 --enable-agent 選項啓用時纔會被編譯。

如果MySQL客戶端類庫不再默認的位置,需要在MySQL的配置文件中添加可選路徑 --with-mysql=/<文件路徑>/mysql_config 。

這可以有效解決,一個系統上安裝了多個版本的MySQL或者MariaDB的情況。

使用 --with-ibm-db2 開關以指定CLI API的位置。
使用 --with-oracle 開關以指定OCI API的位置。

如需要使用加密,可以參照 使用加密方式編譯Zabbix

5 安裝組件

如果從SVN安裝,需要先運行下列命令:

$ make dbschema

make install

這一步需要使用一個擁有足夠權限的用戶來運行 (一般而言如 'root',或者使用 sudo)。

運行 make install 將使用在/usr/local/sbin下的守護進程二進制文件(zabbix_server, zabbix_agentd, zabbix_proxy)和在/usr/local/bin下的客戶端二進制文件進行默認安裝。

如需要指定/usr/local以外的位置,可在之前的配置源代碼的步驟中使用 --prefix 開關,比如 --prefix=/home/zabbix。在這個案例中,守護進程二進制文件會被安裝在 <prefix>/sbin下,工具會安裝在 <prefix>/bin下。幫助文件會安裝在 <prefix>/share下。

6 查看和編輯配置文件

  • 在下列路徑編輯Zabbix Agent的配置文件 /usr/local/etc/zabbix_agentd.conf

你需要配置爲每臺安裝了 zabbix_agentd 的主機配置這個文件。

你必須在這個文件中指定Zabbix server的 IP地址 。從其他主機發起的請求會被拒絕。

  • 在下列路徑編輯Zabbix server的配置文件 /usr/local/etc/zabbix_server.conf

你必須指定數據庫名稱,用戶名和密碼(如果使用的話)。

如果使用SQLite,必須指定數據庫文件的全路徑。數據庫用戶名和密碼不是必填項。

如果進行小規模部署(最多10臺被監控主機),其餘的參數你可以使用默認設置。如果你需要最大化Zabbix server(或者Zabbix proxy)的性能,你需要更改其他默認參數。可參考 性能調優 章節以瞭解詳細信息。

  • 如果你已經安裝了Zabbix proxy,可以在下列路徑編輯proxy的配置文件 /usr/local/etc/zabbix_proxy.conf

你必須指定server的IP地址和proxy的主機名稱(必須被server識別),同時也需要指定數據庫名稱,用戶名和密碼(如果使用的話)。

如果使用SQLite,必須指定數據庫文件的全路徑。數據庫用戶名和密碼不是必填項。

7 啓動守護進程

在Zabbix server端啓動zabbix_server。

shell> zabbix_server

確認你的系統允許分配36MB (可能略多一些)的共享內存。否則Zabbix server可能無法啓動。你會在Zabbix server的日誌文件中看到“Cannot allocate shared memory for <type of cache>.”的提示。 這可能在FreeBSD,Solaris 8上發生。
查看本頁底部的"查看其他" 章節,以尋找如何配置共享的方法。

在所有的被監控機器上啓動zabbix_agentd。

shell> zabbix_agentd

確認你的系統允許分配2MB的共享內存,否則agent可能無法啓動。你會在agent的日誌文件中看到“Cannot allocate shared memory for collector.”的提示。這可能會在Solaris 8發生。

如果你已經安裝了Zabbix proxy,啓動zabbix_proxy。

shell> zabbix_proxy

2 安裝Zabbix web界面

複製PHP文件

Zabbix前端使用PHP寫的,所以必須運行在PHP支持的Web服務器上。只需要簡單的從frontends/php路徑下複製PHP文件到Web服務器的HTML文件目錄,就可以完成安裝。

Apache Web服務器的HTML文件目錄的一般包括:

  • /usr/local/apache2/htdocs (從源代碼安裝Apache的默認目錄)

  • /srv/www/htdocs (OpenSUSE, SLES)

  • /var/www/html (Fedora, RHEL, CentOS)

  • /var/www (Debian, Ubuntu)

建議使用子目錄替代HTML根目錄。可以使用下列命令,以創建一個子目錄並複製Zabbix的前端文件到這個目錄下(注意替換爲實際的目錄):

mkdir <htdocs>/zabbix
cd frontends/php
cp -a . <htdocs>/zabbix

如果準備從SVN安裝英語以外的語言,你必鬚生成翻譯文件。可以運行下列命令:

locale/make_mo.sh

需要gettext安裝包的msgfmt組件。

另外,使用英語以外的語言,需要在Web服務器上安裝該語言對應的locale。參見“用戶文件”頁面中的"查看其他" 板塊,以尋找如何安裝它(如果需要的話)。

安裝前端

第一步

在你的瀏覽器中,打開Zabbix URL: http://<服務器IP或主機名>/zabbix

你可以看到前端安裝嚮導的第一個頁面。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章