首頁 > 軟體

zabbix叢集搭建分散式監控的操作步驟

2022-11-05 14:01:53

作用:

  • 分擔server的集中式壓力
  • 解決多機房之間的網路延遲問題

環境準備:

伺服器1:zabbix-server
伺服器2:zabbix-proxy
伺服器3:zabbix-agent
關係:zabbix-agent傳送資料到代理,代理彙總資料傳送到server

操作步驟:

1.關閉某些設定

關閉server中的自動發現

關閉server中的自動註冊
在設定—動作中(沒設定自動註冊)

2.server伺服器端無需變動,繼續執行

3.設定代理伺服器

1.設定zabbix5.0的yum源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
2.修改源地址
sed -i ‘s#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#’ /etc/yum.repos.d/zabbix.repo
3.安裝proxy,以及資料庫和資料庫使用者端
yum install zabbix-proxy-mysql zabbix-get -y
yum install mariadb-server mariadb -y(提示已被mysql-community取代,就執行yum remove mysql-libs,再重新安裝)
yum -y install mariadb-server mariadb mariadb-client mariadb-devel

4. 啟動資料庫

systemctl start mariadb

5. 進入資料庫

mysql(預設沒有使用者名稱和密碼)

6. 建立資料表

create database zabbix_proxy character set utf8 collate utf8_bin;

7. 授予所有的許可權

在zabbix_proxy資料庫以及裡面所有的表,設定使用者名稱zabbix的密碼是zabbix
grant all privileges on zabbix_proxy.* to zabbix@‘localhost’ identified by ‘zabbix’;

8. 重新整理mysql許可權

flush privileges;
exit #退出資料庫使用者端

9. 匯入zabbix_proxy資料庫資訊

rpm -ql zabbix-proxy-mysql #查詢sql檔案路徑
zcat 查詢到的sql.gz全路徑 |mysql -uzabbix -pzabbix zabbix_proxy

10. 檢視資料是否成功匯入,看到有很有資料表即為成功

mysql -uzabbix -pzabbix
show databases;
use zabbix_proxy;
show tables;
exit

11. 修改zabbix-proxy組態檔,連結資料庫的資訊

sed -i.ori ‘162a DBPassword=zabbix’ /etc/zabbix/zabbix_proxy.conf
sed -i ‘s#Server=127.0.0.1#Server=server端ip地址#’ /etc/zabbix/zabbix_proxy.conf
sed -i ‘s#Hostname=Zabbix proxy#Hostname=代理伺服器域名#’ /etc/zabbix/zabbix_proxy.conf

12. 檢查代理伺服器組態檔

grep ‘1' /etc/zabbix/zabbix_proxy.conf

13. 重啟伺服器

reboot

14. 啟動代理伺服器

systemctl restart zabbix-proxy
systemctl status zabbix-proxy #檢視是否啟動成功,有綠色的active(running)即為成功

web頁面新增代理

顯示從未,可能是資料庫沒開啟,開啟資料庫即可

agent使用proxy 頁面設定使用proxy

修改agent端的設定

設定開機自啟

1.給組態檔新增執行許可權
sudo chmod +x /etc/rc.d/rc.local
2.開啟組態檔
sudo vi /etc/rc.d/rc.local
3.在組態檔中新增兩行內容
systemctl start mariadb
systemctl restart zabbix-proxy
4.儲存退出組態檔
Esc
:wq

zabbix-server 啟動不起來看紀錄檔有報錯

1. 檢視紀錄檔

tail -n 100 /var/log/zabbix/zabbix_proxy.log
cannot start alert manager service: Cannot bind socket to “/var/run/zabbix/zabbix_server_alerter.sock”: [13] Permission denied.
59422:20201224:001003.895 One child process died (PID:59459,exitcode/signal:1). Exiting

2. 關閉selinux

vi /etc/selinux/config
#修改組態檔永久關閉。
SELINUX=disabled
#臨時關閉SELINUX
setenforce 0

3. 重啟

systemctl restart zabbix-proxy

Zabbix_proxy重啟無任何相關程序處理

通過系統命令檢視proxy狀態

原以為一切正常,但仔細檢視zabbix有關服務時,卻沒有發現發現相應的proxy埠在使用。如圖1、2.

圖1

圖2

那實際上zabbix_proxy是沒在工作的。

對其紀錄檔檔案進行檢視

如圖3.檢視命令: tail -n 1000 /var/log/zabbix/zabbix_proxy.log #篩選最新的1000行資料進行檢視。

圖3

從最新的幾行報錯可以出看是資料庫連線失敗引起的問題。

檢視資料庫狀態

systemctl status mariadb
圖4.

  1. a-Z ↩︎

到此這篇關於zabbix叢集搭建分散式監控的操作步驟的文章就介紹到這了,更多相關zabbix分散式監控內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com