Zabbix-Server及Zabbix Agent安裝設定


一、Zabbix Server 設定

  • Server ip及 Hostname 設定
1
2
3
4
5
[root@zabbix ~]# ip -br a
lo UNKNOWN 127.0.0.1/8 ::1/128
ens18 UP 192.168.0.40/24
[root@zabbix ~]#

  • 下載Zabbix套件
1
[root@zabbix ~]# rpm -Uvh https://repo.zabbix.com/zabbix/7.2/release/rocky/9/noarch/zabbix-release-latest-7.2.el9.noarch.rpm
  • 安裝Zabbix套件
1
[root@zabbix ~]# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
  • 安裝Mariadb
  1. 安裝軟體
1
2
[root@zabbix ~]# dnf install mariadb-server

  1. 啟動Mariadb 服務
1
2
3
4
5
6
[root@zabbix ~]# systemctl enable --now  mariadb
Created symlink /etc/systemd/system/mysql.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/mysqld.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /usr/lib/systemd/system/mariadb.service.
[root@zabbix ~]#

  1. 初始化SQL及設置root密碼
1
[root@zabbix ~]# mysql_secure_installation

先不輸入現有的root密碼,按下enter

unix認證,按下預設Y

變更資料庫 Root密碼

移除匿名使用者 > 依照預設 Y

禁止Root遠端登入,依預設Y即可

移除測試資料庫及重新讀取資料表 > 皆預設Y即可

  • 建立Zabbix資料庫
  1. 登入sql
1
2
[root@zabbix ~]# mysql -u root -p

  1. 建立資料庫
1
2
3

mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;

  1. 建立資料庫使用者
1
mysql> create user zabbix@localhost identified by 'yourpassword';
  1. 建立
1
mysql> grant all privileges on zabbix.* to zabbix@localhost;

5.

1
mysql>  set global log_bin_trust_function_creators = 1;
  1. 離開
1
mysql>  quit;
1
[root@zabbix ~]# zcat /usr/share/zabbix/sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
  1. 登入mysql
1
[root@zabbix ~]# mysql -u root -p
  1. 停用 log_bin_trust_function_creators
1
mysql> set global log_bin_trust_function_creators = 0;
  1. 離開mysql
1
mysql> quit;
  1. 編輯 Zabbix設定檔
1
2
[root@zabbix zabbix]# vim zabbix_server.conf

  1. 編輯DBPassword=yourdbpasssword
1
DBPassword="yourdbpasssword"
  1. 重新啟動Zabbix相關服務
1
[root@zabbix zabbix]# systemctl restart zabbix-server zabbix-agent httpd php-fpm
  1. 開機啟動Zabbix相關服務
1
2
[root@zabbix zabbix]# systemctl enable zabbix-server zabbix-agent httpd php-fpm

  1. 防火牆新增http
1
2
3
4
[root@zabbix html]# firewall-cmd  --add-service=http --permanent

[root@zabbix html]# firewall-cmd --reload

二、登入Zaibbix Server Web GUI

  • 登入Web http://hosts ip /zabbix/

  • 設定語系 > Next step

  • 確認php相關設置

  • 輸入zabbix資料庫密碼

  • 設定時區

  • 開始安裝

  • 登入Zabbix Server 系統
    預設帳號: Admin > A要大寫
    預設密碼: zabbix

  • 已可正常登入到zabbix介面

三、安裝Zabbix agent 及增加監控設備

  • 嘗試加入proxmox 主機 pve2
  • 確認os版本
1
root@pve2:~# cat /etc/os-release

  • 下載zabbix 官方套件庫,對應Debin12的版本
1
root@pve2:~# wget https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_7.2-1+debian12_all.deb

  • 安裝套件庫
1
root@pve2:~# dpkg -i zabbix-release_7.2-1+debian12_all.deb
  • 重新更新套件庫
1
root@pve2:~#  apt update 
  • 安裝 Zabbix Agent2(支援更多模組,建議新版用這個)
1
root@pve2:~# apt install -y zabbix-agent2
  • 編輯Zabbix agent設定檔
1
root@pve2:~# vim /etc/zabbix/zabbix_agent2.conf
  • 修改這幾個參數
1
2
3
Server=192.168.0.40
ServerActive=192.168.0.40
Hostname=pve2
  • 重啟服務及預設開機啟動
1
2
3
root@pve2:~# systemctl restart zabbix-agent2.service
root@pve2:~#
root@pve2:~# systemctl enable zabbix-agent2.service

  • 確認 pve2主機已有監聽 zabbix 10050 port
1
root@pve2:~# netstat -tunlp | grep 10050

  • 在Zabbix Server 上 安裝 zabbix-get 測試工具軟體
1
2
[root@zabbix html]# dnf  install zabbix-get

  • 測試可從Server 找到這台pve 的zabbix agent設備
1
[root@zabbix html]# zabbix_get -s 192.168.0.20 -k system.hostname

四、Zabbix Server 增加 Proxmox pve2 主機監控

  • 點選Monitoring > Hosts > Create host

  • 新增pve2主機

備註: Host name: pve2 >> 請務必跟zabbix agent主機conf中的名稱一致

  • 新增pve2 ip位置 : Interfaces > Add > Agent

  • 輸入agent ip > pve2 主機ip位置 > add

  • 確認這個欄位資訊是正常

  • 儀錶板增加pve2主機

  • Hosts輸入pve2 搜尋主機

  • 確認有看到pve2後 按下 Apply

  • 確認pve2已加入

  • 點選後可看到pve2儀表板訊息

  • filesystems

  • system performance

設定Gmail 告警

#zabbix

作者

Sam Peng

發表於

2025-05-08

更新於

2025-05-13

許可協議