官方文檔:zabbix安裝文檔
環境如下
環境 | 版本 |
---|---|
nginx | 1.26.3 |
zabbix | 7.0.16 |
mysql | 8.0.41 |
安裝nginx和mysql
一鍵部署腳本
部署zabbix
#!/bin/bash
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu22.04_all.debdpkg -i zabbix-release_latest_7.0+ubuntu22.04_all.debapt updateapt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent# 在數據庫主機上運行以下代碼。
mysql -uzabbix -p123456 -h 192.168.100.153create database zabbix character set utf8mb4 collate utf8mb4_bin;
CREATE USER 'zabbix'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'%';
set global log_bin_trust_function_creators = 1;
quit;# 由于我的數據庫和zabbix不在同一臺主機,所以要指定主機IP
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p123456 -h 192.168.100.153 zabbix#導入數據庫架構后禁用 log_bin_trust_function_creators 選項。
mysql -uzabbix -p123456 -h 192.168.100.153
set global log_bin_trust_function_creators = 0;
quit;#編輯配置文件 /etc/zabbix/zabbix_server.conf
vim /etc/zabbix/zabbix_server.conf
DBPassword=123456
DBHost=192.168.100.153# 編輯配置文件 /etc/zabbix/nginx.conf 取消注釋并設置 'listen' 和 'server_name' 指令。
mv /etc/zabbix/nginx.conf /usr/local/nginx1/conf/conf.d/zabbix.conf# 啟動Zabbix server和agent進程,并為它們設置開機自啟:
systemctl restart zabbix-server zabbix-agent nginx php8.1-fpm
systemctl enable zabbix-server zabbix-agent nginx php8.1-fpm#注意nginx的用戶和php的用戶是否一致,可能會出現權限問題,導致無法進入zabbix的網頁
初始化zabbix
初始化之后登錄zabbix如下:
Zabbix 的默認用戶名是 “Admin”,密碼是 “zabbix”。
監控其它主機
其它主機安裝zabbix-agent,zabbix主機安裝zabbix-get命令
被監控主機執行:
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu22.04_all.deb
dpkg -i zabbix-release_latest_7.0+ubuntu22.04_all.deb
apt update
apt install zabbix-agent#修改配置文件,是zabbix主機可以通過認證,訪問到被監控主機的agent
vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.50.0/24 # 允許訪問的服務器/客戶端 IP 段
#Server=192.168.50.230,127.0.0.1 #也可以這樣寫#重啟生效配置
systemctl restart zabbix-agent
zabbix服務器驗證
zabbix_get -s 192.168.50.113 -k agent.ping
1
zabbix_get -s 192.168.50.113 -k vm.memory.size[free]
2195476480
以下是 zabbix_get
命令中 -k
參數(監控項鍵值)的常見用法表格:
監控項鍵值(Item Key) | 描述 | 返回值示例 |
---|---|---|
system.cpu.load[percpu,avg1] | 獲取系統 CPU 1 分鐘平均負載(按 CPU 核心) | 0.25 |
system.cpu.util[,idle] | 獲取 CPU 空閑時間百分比 | 95.2 |
vm.memory.size[free] | 獲取空閑內存大小(字節) | 4294967296 |
vm.memory.size[total] | 獲取總內存大小(字節) | 17179869184 |
vm.memory.size[pavailable] | 獲取可用內存百分比 | 24.8 |
system.hostname | 獲取主機名 | server01 |
system.uname | 獲取系統信息(類似 uname -a ) | Linux server01 5.4.0-104-generic #118-Ubuntu SMP Thu Mar 24 16:04:27 UTC 2022 x86_64 |
net.if.in[eth0] | 獲取網絡接口(eth0)接收的字節數 | 123456789 |
net.if.out[eth0] | 獲取網絡接口(eth0)發送的字節數 | 987654321 |
disk.space[/,free] | 獲取根分區(/)的空閑空間(字節) | 50000000000 |
disk.space[/,pfree] | 獲取根分區(/)的空閑空間百分比 | 45.2 |
proc.num[] | 獲取正在運行的進程總數 | 289 |
agent.ping | 測試 Zabbix Agent 是否響應 | 1 (成功)或 0 (失敗) |
zabbix[host,items] | 獲取 Zabbix 服務器上該主機的監控項數量 | 568 |
system.swap.size[,free] | 獲取空閑交換空間大小(字節) | 2147483648 |
system.swap.size[,total] | 獲取總交換空間大小(字節) | 4294967296 |
system.cpu.intr | 獲取 CPU 中斷頻率 | 1234 |
system.localtime | 獲取主機本地時間(Unix 時間戳) | 1689580800 |
vfs.file.size[/etc/passwd] | 獲取文件大小(字節) | 2048 |
vfs.file.age[/etc/passwd] | 獲取文件修改時間(秒) | 86400 |
如果出現如下報錯,證明配置文件未修改,或者改錯
root@ubuntu:~# zabbix_get -s 192.168.50.113 -k vm.memory.size[free]
ZBX_NOTSUPPORTED: Received empty response from Zabbix Agent at [192.168.50.113]. Assuming that agent dropped connection because of access permissions.