從源安裝
您可以從源代碼中編譯Zabbix的最新版本。
這裏提供了從源代碼安裝Zabbix的分步教程。
1安裝Zabbix守護程序
1下載源檔案
轉到Zabbix下載頁面並下載源檔案。下載後,通過運行以下命令提取源:
$ tar -zxvf zabbix-4.0.0.tar.gz
2創建用戶帳號
對於所有Zabbix守護進程,需要一個沒有特權的用戶。如果從無特權的用戶帳戶啓動Zabbix守護程序,它將以該用戶身份運行。
但是,如果守護程序是從“ root”帳戶啓動的,它將切換到“ zabbix”用戶帳戶,該帳戶必須存在。要創建這樣的用戶帳戶(在其自己的組“ zabbix”中),
在基於RedHat的系統上,運行:
groupadd --system zabbix
useradd --system -g zabbix -d / usr / lib / zabbix -s / sbin / nologin -c“ Zabbix監控系統” zabbix
在基於Debian的系統上,運行:
addgroup --system --quiet zabbix
adduser --quiet --system --disabled-login --ingroup zabbix --home / var / lib / zabbix --no-create-home zabbix
$HOME/.my.cnf
),則可以使用以下命令自由創建它。在基於RedHat的系統上,運行:
mkdir -m u=rwx,g=rwx,o= -p /usr/lib/zabbix
chown zabbix:zabbix /usr/lib/zabbix
在基於Debian的系統上,運行:
mkdir -m u=rwx,g=rwx,o= -p /var/lib/zabbix
chown zabbix:zabbix /var/lib/zabbix
Zabbix前端安裝不需要單獨的用戶帳戶。
如果Zabbix 服務器和代理程序在同一臺計算機上運行,建議使用與運行代理程序不同的用戶來運行服務器。否則,如果兩者都以同一用戶身份運行,則代理可以訪問服務器配置文件,並且Zabbix中的任何管理員級別用戶都可以很容易地檢索到數據庫密碼。
root
,bin
或其他具有特殊權限的帳戶運行Zabbix 會帶來安全風險。3創建Zabbix數據庫
對於Zabbix 服務器和代理守護程序以及Zabbix前端,需要數據庫。不需要運行Zabbix 代理。
提供了 SQL 腳本,用於創建數據庫架構和插入數據集。Zabbix代理數據庫僅需要架構,而Zabbix服務器數據庫也需要架構頂部的數據集。
創建了Zabbix數據庫之後,請繼續執行以下編譯Zabbix的步驟。
4配置源
爲Zabbix服務器或代理配置源時,必須指定要使用的數據庫類型。一次只能使用服務器或代理進程編譯一種數據庫類型。
要查看所有受支持的配置選項,請在提取的Zabbix源目錄中運行:
./configure-help
要爲Zabbix服務器和代理配置源,您可以運行以下命令:
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
--with-libcurl
,--with-libxml2
需要監視和配置選項;--with-libcurl
SMTP身份驗證和web.page.*
Zabbix代理項也需要。請注意,配置選項要求使用cURL 7.20.0或更高版本--with-libcurl
。--with-libpcre=[DIR]
僅允許指向特定的基本安裝目錄,而不是在多個常用位置中搜索libpcre文件。要配置Zabbix服務器的源(使用PostgreSQL等),可以運行:
./configure --enable-server --with-postgresql --with-net-snmp
要配置Zabbix代理的源(使用SQLite等),可以運行:
./configure --prefix=/usr --enable-proxy --with-net-snmp --with-sqlite3 --with-ssh2
要爲Zabbix代理配置源,可以運行:
./configure --prefix=/usr/local/zabbix --enable-agent
您可以使用--enable-static標誌來靜態鏈接庫。如果計劃在不同的服務器之間分發編譯的二進制文件,則必須使用此標誌來使這些二進制文件在沒有必需的庫的情況下工作。請注意,--enable-static 在Solaris下不起作用。
爲了靜態構建服務器,您必須具有所需的每個外部庫的靜態版本。在配置腳本中沒有對此進行嚴格檢查。
當在同一系統上安裝了多個版本的MySQL或與MySQL一起安裝了MariaDB時,此功能很有用。
使用--with-oracle標誌指定OCI API的位置。
對於加密支持,請參閱使用加密支持編譯Zabbix。
5製作並安裝所有東西
$ make dbschema
make install
此步驟應以具有足夠權限(通常爲'root'或使用sudo
)的用戶身份運行。
make install
默認情況下, 運行將在/ usr / local / sbin中安裝守護程序二進制文件(zabbix_server,zabbix_agentd,zabbix_proxy),並在/ usr / local / bin中安裝客戶端二進制文件(zabbix_get,zabbix_sender)。
6查看和編輯配置文件
-
編輯Zabbix代理配置文件/usr/local/etc/zabbix_agentd.conf
您需要爲每個安裝了zabbix_agentd的主機配置此文件。
您必須在文件中指定Zabbix服務器IP地址。來自其他主機的連接將被拒絕。
-
編輯Zabbix服務器配置文件/usr/local/etc/zabbix_server.conf
您必須指定數據庫名稱,用戶和密碼(如果使用)。
如果安裝規模較小(最多十臺受監視的主機),其餘的參數將使用它們的默認值。但是,如果您想最大程度地提高Zabbix服務器(或代理)的性能,則應更改默認參數。有關更多詳細信息,請參見性能調整部分。
-
如果已安裝Zabbix代理,請編輯代理配置文件/usr/local/etc/zabbix_proxy.conf
您必須指定服務器IP地址和代理主機名(服務器必須知道),以及數據庫名,用戶名和密碼(如果使用)。
7啓動守護程序
在服務器端運行zabbix_server。
shell> zabbix_server
請參閱此頁面底部的“另請參見”部分,以瞭解如何配置共享內存。
在所有受監視的計算機上運行zabbix_agentd。
shell> zabbix_agentd
如果您已安裝Zabbix代理,請運行zabbix_proxy。
shell> zabbix_proxy
2安裝Zabbix Web界面
複製PHP文件
Zabbix前端是用PHP編寫的,因此要運行它,需要一個PHP支持的Web服務器。只需將PHP文件從frontends / php複製到Web服務器HTML文檔目錄即可完成安裝。
Apache Web服務器 的HTML文檔目錄的常見位置包括:
-
/ usr / local / apache2 / htdocs(從源代碼安裝Apache時的默認目錄)
-
/ srv / www / htdocs(OpenSUSE,SLES)
-
/ var / www / html(Debian,Ubuntu,Fedora,RHEL,CentOS)
建議使用子目錄而不是HTML根目錄。要創建一個子目錄並將Zabbix前端文件複製到其中,請執行以下命令,替換實際目錄:
mkdir <htdocs>/zabbix
cd frontends/php
cp -a . <htdocs>/zabbix
如果從SVN安裝並計劃使用英語以外的任何其他語言,則必須生成翻譯文件。爲此,請運行:
locale/make_mo.sh
msgfmt
需要gettext包中的實用程序。
assets
。安裝前端
第1步
第2步
確保滿足所有軟件先決條件。
前提條件 | 最低值 | 描述 |
---|---|---|
PHP版本 | 5.4.0 | |
PHP memory_limit選項 | 128MB | 在php.ini中: memory_limit = 128M |
PHP post_max_size選項 | 16MB | 在php.ini中: post_max_size = 16M |
PHP upload_max_filesize選項 | 2MB | 在php.ini中: upload_max_filesize = 2M |
PHP max_execution_time選項 | 300秒(允許使用值0和-1) | 在php.ini中: max_execution_time = 300 |
PHP max_input_time選項 | 300秒(允許使用值0和-1) | 在php.ini中: max_input_time = 300 |
PHP session.auto_start選項 | 必須禁用 | 在php.ini中: session.auto_start = 0 |
數據庫支持 | 其中之一:MySQL,Oracle,PostgreSQL,IBM DB2 | 必須安裝以下模塊之一: mysql,oci8,pgsql,ibm_db2 |
bcmath | php-bcmath | |
mbstring | php-mbstring | |
PHP mbstring.func_overload選項 | 必須禁用 | 在php.ini中: mbstring.func_overload = 0 |
PHP always_populate_raw_post_data選項 | 必須禁用 | 僅PHP版本5.6.0或更高版本才需要。 在php.ini中: always_populate_raw_post_data = -1 |
插座 | php-net-socket。用戶腳本支持所必需。 | |
d | 2.0或更高 | php-gd。PHP GD擴展必須支持PNG圖像(--with-png-dir),JPEG(-- with-jpeg-dir)圖像和FreeType 2(-- with-freetype-dir)。 |
的libxml | 2.6.15 | php-xml或php5-dom |
xmlwriter | php-xmlwriter | |
xmlreader | php-xmlreader | |
類型 | php-ctype | |
會議 | PHP會話 | |
文字 | php-gettext 自Zabbix 2.2.1起,PHP gettext擴展不是安裝Zabbix的強制要求。如果未安裝gettext,則前端將照常工作,但是,翻譯將不可用。 |
列表中還可能包含可選的先決條件。失敗的可選前提條件以橙色顯示,並且具有警告狀態。如果可選的先決條件失敗,則設置可以繼續。
第三步
第四步
第5步
第6步
下載配置文件,並將其放在將Zabbix PHP文件複製到的Web服務器HTML文檔子目錄中的conf /下。
步驟7
步驟8
3安裝Java網關
僅在要監視JMX應用程序時才需要安裝Java網關。Java網關是輕量級的,不需要數據庫。
要從源代碼安裝,請首先下載並解壓縮源歸檔文件。
要編譯Java網關,請./configure
使用--enable-java
option 運行腳本。建議您指定--prefix
選項來請求安裝路徑,而不是默認的/ usr / local,因爲安裝Java網關會創建整個目錄樹,而不僅僅是一個可執行文件。
$ ./configure --enable-java --prefix=$PREFIX
要將Java網關編譯並打包到JAR文件中,請運行make
。請注意,對於此步驟,您將需要路徑中的javac
和jar
可執行文件。
make
現在,您在src / zabbix_java / bin中有一個zabbix-java-gateway- $ VERSION.jar文件。如果您可以從分發目錄中的src / zabbix_java運行Java網關,那麼可以繼續閱讀有關配置和運行Java gateway的說明。否則,請確保您具有足夠的特權並運行make install
。
make install
繼續進行設置,以獲取有關配置和運行Java網關的更多詳細信息。