Zabbix 6 系列學(xué)習(xí) :包安裝(Ubuntu)
本文采用的是 Ubuntu 22.04,其他系統(tǒng)請參考后續(xù)文章。
本文環(huán)境
- 系統(tǒng):Ubuntu 22.04 LTS
- PHP:8.0
- PostgreSQL:14
- 前端:Nginx
系統(tǒng)版本
前提
由于初始化的 Ubuntu 是普通用戶權(quán)限,所以會出現(xiàn)沒有權(quán)限使用 apt 工具,所以在安裝過程中使用 sudo 命令提權(quán),或者是直接切換成 root 賬戶,建議使用 sudo 提權(quán)。
添加 Zabbix 倉庫
下載倉庫文件:
安裝倉庫文件:
中途會提示輸入用戶的密碼,非 root 密碼
更新倉庫文件,實測安裝過程比較快,所以不進行倉庫的更換。
添加完后一定要更新,否則會出現(xiàn)上述報錯
安裝 Zabbix 相關(guān)組件
完成安裝
數(shù)據(jù)庫部分
安裝數(shù)據(jù)庫
Zabbix 6.0 需要 PostgreSQL 需要 13.0 版本以上。22.04 默認(rèn)自帶的版本為 14,本文測試簡單,所以直接采用14的版本安裝,如果想用指定版本,安裝的時候帶指定版本,eg:postgresql-13。
需要注意的是,Ubuntu 和 CentOS 的區(qū)別,安裝完 PostgreSQL 是自動啟動的。
創(chuàng)建數(shù)據(jù)庫以及相對應(yīng)的用戶
命令執(zhí)行完會出現(xiàn)下面的警告,無需關(guān)心,因為 kasar 的家目錄 postgres用戶 是沒有權(quán)限的,所以會彈出此警告,不影響此操作。
數(shù)據(jù)庫配置問題
此時我們想查看上面的步驟是否 OK,就需要登錄到數(shù)據(jù)庫里看了。
此時會發(fā)現(xiàn)驗證方式存在問題,需要調(diào)整 PostgreSQL 的權(quán)限配置文件。
HBA 文件講解(簡易,詳細(xì)請參閱官方文檔)
hba配置文件
該配置文件有5個參數(shù):
- type:類型
- database:數(shù)據(jù)庫名稱
- user:用戶
- address:地址
- method:步驟
TYPE
該字段下有6個值,僅 14 版本,其他版本自行參考配置文件,詳細(xì)可以翻閱官方文檔。
- local:通過 Unix-domain 套接字連接。
- host:通過 TCP/IP 套接字連接。
- hostssl:通過 TCP/IP 套接字連接(SSL 加密)。
- hostnossl:通過 TCP/IP 套接字連接(無SSL 加密)。
- hostgssenc:通過 TCP/IP 套接字連接(GSSAPI 加密)。
- hostnogssenc:通過 TCP/IP 套接字連接(無GSSAPI 加密)。
DATABSE
數(shù)據(jù)庫實例名稱,可以是 all、 sameuser、samerole、replication。all 表示所有,但不包括 replication。多個數(shù)據(jù)庫用","隔開。
USER
用戶名,可以為"all",表示所有,也可以具體指定一個用戶。指定組需要加上"+"的前綴多個用戶用","隔開。和DATABASE一樣,也可以將配置放到文件中,文件名加上前綴@。
ADDRESS
可以是為一個主機名,或者由 IP 地址和 CIDR 掩碼組成。掩碼可以為0-32(IPv4)或者0-128(IPv6)間的一個整數(shù),32 表示子網(wǎng)掩碼為255.255.255.255,24 表示子網(wǎng)掩碼為255.255.255.0。主機名以“.”開頭。samehost 可以匹配所有主機、samenet可以匹配同一個掩碼內(nèi)的所有主機。
eg:192.168.20.100/32 表示單一主機,192.168.20.0/24 表示 192.168.0.1~192.168.0.255網(wǎng)段內(nèi)所有主機,0.0.0.0/0 表示所有主機。
METHOD
指定如何處理客戶端的認(rèn)證。常用的有 ident、md5、password、trust、peer、reject。其中 ident 和 peer 模式僅適用于 Linux、Unix 和 Mac,不適用于Windows。該參數(shù)一共有13個值(僅 14 版本,其他版本需要自行參考配置文件)
- md5 是常用的密碼認(rèn)證方式,如果你不使用 ident,最好使用 md5。密碼是以 md5 形式傳送給數(shù)據(jù)庫,較安全,且不需建立同名的操作系統(tǒng)用戶。
- password 是以明文密碼傳送給數(shù)據(jù)庫,建議不要在生產(chǎn)環(huán)境中使用。
- trust 是只要知道數(shù)據(jù)庫用戶名不需要密碼或 ident 就能登錄,建議不要在生產(chǎn)環(huán)境中使用。
- ident 通過從 ident 服務(wù)器獲取客戶端的操作系統(tǒng)用戶名然后使用它來訪問數(shù)據(jù)庫服務(wù)器來工作。這個方法建議用于客戶端計算機受系統(tǒng)管理員嚴(yán)格控制的封閉網(wǎng)絡(luò)。
- peer這類似于 ident,但客戶端操作系統(tǒng)用戶名是從內(nèi)核獲得的。
- reject 是拒絕認(rèn)證。
即使是針對同一個數(shù)據(jù)庫,多種身份驗證模式可以同時使用。對于每一個連接請求,postgres 服務(wù)器會按照 pg_hba.conf 文件中記錄的規(guī)則條目自上而下進行檢查。
當(dāng)匹配到第一條滿足條件的規(guī)則時,就不再向下檢查。如果到文件末尾都沒有搜到匹配的規(guī)則,那么按默認(rèn)規(guī)則處理,即拒絕該鏈接。
HBA 文件配置
通過上述的描述,本文的目標(biāo)就是 local 用戶能直接本地登錄,其次 Zabbix 用戶通過自身的密碼訪問到數(shù)據(jù)庫。
修改如下,將本地登錄認(rèn)證方式改為 trust。
host 部分改為 md5 方式即可,改完后重啟數(shù)據(jù)庫。
再次登錄,此時就恢復(fù)正常了,并且能看到前面創(chuàng)建的數(shù)據(jù)庫。
嘗試使用 zabbix 用戶登錄,出現(xiàn)下面截圖即為正常,由于本機優(yōu)先采用 IPv6 的方式連接數(shù)據(jù)庫,所以導(dǎo)致 md5 的方式不生效,采用的為 scram-sha-256,效果是一樣,僅限于演示,實際自行測試。
導(dǎo)入 Zabbix 相關(guān)架構(gòu)及數(shù)據(jù)
完成導(dǎo)入
Zabbix 部分配置
Zabbix 配置文件修改。
還是根據(jù)自己的數(shù)據(jù)庫部分配置而定,如果根據(jù)本文一路走下來,僅需要調(diào)整 DBHost 和DBPassword 兩個參數(shù)。
修改為127.0.0.1
填寫數(shù)據(jù)庫密碼
Nginx 部分配置
由于 Nginx 默認(rèn)端口為 80,會導(dǎo)致訪問直接出現(xiàn) Nginx 的訪問界面。不要奇怪,安裝 PHP 會自帶安裝 apache2,所以會出現(xiàn) apache2 的界面。
可以調(diào)整 Zabbix 的端口,也可以改默認(rèn)端口,本文采用改默認(rèn)端口的方式。
改為8080
重啟 Nginx 服務(wù)。
此時就能正常訪問 Zabbix 的前端頁面了。
啟動 Zabbix 相關(guān)服務(wù)
前端配置
環(huán)境檢查,下一步。
數(shù)據(jù)庫界面需要注意下,需要將 Database host 改為 127.0.0.1,Databse schema 填寫 public,密碼自行填寫,Database TLS encryption 勾去掉即可下一步。
填寫 Zabbix Server 的名稱及調(diào)整對應(yīng)的時區(qū),選擇東八上海。
下一步:
完成安裝,點擊 Finish,如果此頁面出現(xiàn)無法生成對應(yīng)的前端文件,基本是所在目錄的權(quán)限問題,筆者曾經(jīng)碰到過,后面的問題篇也會提到。
默認(rèn)用戶名密碼還是為 Admin/zabbix。
最終效果
running處為yes即為正常
最后
Ubuntu 環(huán)境下相比 CentOS 要簡單的多,得益于 Ubuntu 在許多地方做的比較人性化,CentOS 的報錯顯得比較直接,只能查閱資料或者是尋求其他幫助,下期見!