24.zabbix高可用

環境準備

準備三臺機器

主機名字IP地址軟件環境
zabbix-server01192.168.111.70httpd+php+keepalived+sshpasszabbix server+agent
zabbix-server02192.168.111.71httpd+php+keepalived+sshpasszabbix server+agent
zabbix-agent192.168.111.80zabbix agent+mysql

VIP規劃:192.168.111.72
使用sshpass免密鑰交互,也可以做ssh相互免密鑰登錄
zabbix server的高可用,我試過在agent配置文件中,使用VIP,發現不能正常監控,于是才有本文。

我的做法agent中的配置文件,Server和ServerActive中分別都配置了兩個ip,就是為了保證,zabbix-server01宕機了,還可以把監控數據發往zabbix-server02,由于兩個zabbix-server共用一個數據庫,肯定不能同時往數據庫寫數據,于是我想到了使用keepalived來控制zabbix server的開關,做到VIP在哪,那臺機器的zabbix server就啟動,另外一臺關閉,而zabbix的web頁面使用VIP去訪問

本文把zabbix數據庫獨立出來,為了方便做mysql高可用集群

安裝zabbix-server服務

將兩臺zabbix-server01和zabbix-server02機器上傳兩個文件"zabbix_rpm.tar.gz",“zabbix.conf.php”,然后兩臺機器執行如下命令安裝部署zabbix服務。

tar xf zabbix_rpm.tar.gz
rpm -Uvh zabbix_rpm/*.rpm
wget http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
rpm -ivh https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.11-1.el7.x86_64.rpm
rpm -ivh zabbix-release-4.0-1.el7.noarch.rpm
yum install zabbix-server-mysql zabbix-web-mysql -y
yum install mariadb-server httpd -y
systemctl restart mariadb.service
systemctl restart zabbix-server.service 
systemctl restart httpd.service 
systemctl restart zabbix-agent.service
sed -i 's@# php_value date.timezone Europe/Riga@php_value date.timezone Asia/Shanghai@g' /etc/httpd/conf.d/zabbix.conf
mysql -e "create database zabbix character set utf8 collate utf8_bin;"
mysql -e "grant all privileges on zabbix.* to zabbix@localhost identified by '123456';"
cd /usr/share/doc/zabbix-server-mysql-*/
zcat  create.sql.gz |mysql -uzabbix -p123456 zabbix
sed -i '115a DBPassword=123456' /etc/zabbix/zabbix_server.conf
sed -i '123a DBSocket=/var/lib/mysql/mysql.sock' /etc/zabbix/zabbix_server.conf
cd -
\mv zabbix.conf.php /etc/zabbix/web/  
systemctl restart mariadb.service 
systemctl restart zabbix-server.service 
systemctl restart httpd.service 
systemctl restart zabbix-agent.service
netstat -lntup

數據庫備份操作

mysqldump -B zabbix >zabbix.sql

前提agent主機安裝完成MySQL之后,在進行測試連接agent主機的mysql

mysql -uzabbix -p123456 -h 192.168.111.80

修改zabbix-server連接數據庫的配置文件,注意SourceIP一定要指定到vip地址,不然創建監控主機不成功,因為找不到。

vim /etc/zabbix/zabbix_server.conf
DBHost=192.168.111.80
SourceIP=192.168.111.72

修改web連接數據庫配置文件

vim /etc/zabbix/web/zabbix.conf.php
$DB['SERVER']   = '192.168.111.80';

安裝keepalived和sshpass服務

在zabbix-server01和zabbix-server02上分別安裝keepalived的

yum install -y keepalived sshpass

zabbix-server01配置文件如下

cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id LVS_DEVEL 29
}vrrp_instance VI_1 {
state BACKUP
interface ens32
virtual_router_id 51
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.111.72
}
notify_master /opt/to_master.sh
}

創建一個腳本,只允許運行一個zabbix-server服務,通過遠程sshpass工具連接,停止遠端服務,啟動本地服務

cat /opt/to_master.sh
#!/bin/bash
sshpass -p 123456 ssh -o StrictHostKeyChecking=no root@192.168.111.71 "systemctl stop zabbix-server.service"
systemctl restart zabbix-server.service

給to_master.sh腳本加一個執行權限

chmod +x /opt/to_master.sh

zabbix-server02配置文件如下

cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id LVS_DEVEL 52
}vrrp_instance VI_1 {
state BACKUP
interface ens32
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.111.72
}
notify_master /opt/to_master.sh
}

創建一個腳本,只允許運行一個zabbix-server服務:通過遠程sshpass工具連接,停止遠端服務,啟動本地服務

cat /opt/to_master.sh
#!/bin/bash
sshpass -p 123456 ssh -o StrictHostKeyChecking=no root@192.168.111.70 "systemctl stop zabbix-server.service"
systemctl restart zabbix-server.service

給to_master.sh腳本加一個執行權限

chmod +x /opt/to_master.sh

將兩臺zabbix-server01和zabbix-server02均啟動keepalived.service服務并設置開機自啟動

systemctl start keepalived.service
systemctl enable keepalived.service

開始測試keepalived服務功能,看vip是否切換,當前vip地址在01上
在這里插入圖片描述

查看服務zabbix-server運行正常
在這里插入圖片描述

訪問成功,vip地址192.168.111.72/zabbix
在這里插入圖片描述

同時zabbix-server02上的keep服務正常運行,zabbix-server服務未啟動
在這里插入圖片描述

手動停止zabbix-server01上的keepalived服務,vip已切換,zabbix-server已停止
在這里插入圖片描述

查看zabbix-server02的server服務已經啟動,還有存在vip地址,驗證成功。
在這里插入圖片描述

安裝數據庫zabbix-agent

讓zabbix-server01和zabbix-server02兩臺服務指向zabbix-agent機器的數據

yum install mariadb-server httpd -y
systemctl restart mariadb.service
systemctl enable mariadb.service
scp -rp 192.168.111.70:/root/zabbix.sql .
mysql < zabbix.sql
mysql -e "grant all privileges on zabbix.* to zabbix@'192.168.111.%' identified by '123456';"

安裝zabbix-agent服務

下載agent的rpm包
rpm -ivh https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.11-1.el7.x86_64.rpm
#修改配置文件指定VIP地址
vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.111.72
#啟動agent服務,設置開機自啟動
systemctl start zabbix-agent.service 
systemctl enable zabbix-agent.service 

zabbix-server界面創建監控主機

創建監控主機
在這里插入圖片描述

配置鏈接模板
在這里插入圖片描述

添加監控主機成功,并且狀態正常為綠色
在這里插入圖片描述

監控數據,我設置更新數據時間間隔為10秒鐘,都是10秒一刷新數據,圖中vip切換期間有30秒沒有檢測。
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/13940.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/13940.shtml
英文地址,請注明出處:http://en.pswp.cn/web/13940.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AWS計算之Batch

AWS Batch是亞馬遜提供的一項批量計算服務&#xff0c;旨在幫助用戶高效地處理大規模的計算工作負載。AWS Batch可以自動調度、運行和監控批處理作業&#xff0c;用戶無需管理底層的計算資源&#xff0c;可以專注于編寫和提交作業。AWS Batch提供了靈活的配置選項&#xff0c;包…

《Ai-企業知識庫》-討論、構思01

阿丹&#xff1a; 經過幾天的Ai學習&#xff0c;開始對于整個大模型&#xff0c;開始有清晰的認知了。開始準備上手操作&#xff0c;編程自己去寫一些東西了。 什么是會話AI? 一個計算機程序&#xff0c;允許人類使用各種輸入方法&#xff0c;如語音&#xff0c;文字&#x…

使用STM32F103讀取TF卡并模擬U盤:使用標準庫實現

使用STM32F103讀取TF卡并模擬U盤&#xff1a;使用標準庫實現 STM32F103是一款流行的ARM Cortex-M3微控制器&#xff0c;在嵌入式系統中廣泛應用。本文將介紹如何使用STM32F103讀取TF卡&#xff0c;并將其模擬成U盤&#xff0c;讓電腦可以讀取TF卡的內容。我們將使用標準庫&…

Spring常見問題

如何理解spring屬于低侵入式設計&#xff1f; 在代碼中不需要寫明具體依賴對象&#xff0c;在運行時進行自動注入&#xff0c;降低了組件的耦合依賴的是接口&#xff0c;而接口的實現類具有拓展性 Spring IOC 實現了什么功能&#xff0c;談談你對IOC的理解。 負責創建對象&…

【云原生】K8s管理工具--Kubectl詳解(一)

一、陳述式管理 1.1、陳述式資源管理方法 kubernetes 集群管理集群資源的唯一入口是通過相應的方法調用 apiserver 的接口kubectl 是官方的 CLI 命令行工具&#xff0c;用于與 apiserver 進行通信&#xff0c;將用戶在命令行輸入的命令&#xff0c;組織并轉化為apiserver 能識…

Elasticsearch集群和Logstash、Kibana部署

1、 Elasticsearch集群部署 服務器 安裝軟件主機名IP地址系統版本配置ElasticsearchElk10.3.145.14centos7.5.18042核4GElasticsearchEs110.3.145.56centos7.5.18042核3GElasticsearchEs210.3.145.57centos7.5.18042核3G 軟件版本&#xff1a;elasticsearch-7.13.2.tar.gz 示…

ubuntu18 安裝python3.8

在Ubuntu 18.04上安裝Python 3.8可以通過以下步驟完成&#xff1a; 1.更新包列表和已安裝的包&#xff1a; sudo apt update sudo apt upgrade 2.安裝依賴項&#xff1a; sudo apt install -y software-properties-common 3.添加Python 3.8的PPA&#xff08;個人包歸檔&am…

【Docker系列】 Docker容器具體信息查詢

&#x1f49d;&#x1f49d;&#x1f49d;歡迎來到我的博客&#xff0c;很高興能夠在這里和您見面&#xff01;希望您在這里可以感受到一份輕松愉快的氛圍&#xff0c;不僅可以獲得有趣的內容和知識&#xff0c;也可以暢所欲言、分享您的想法和見解。 推薦:kwan 的首頁,持續學…

Python函數進階:四大高階函數、匿名函數、枚舉、拉鏈與遞歸詳解

系列文章目錄 Python數據類型&#xff1a;編程新手的必修課深入探索Python字符串&#xff1a;技巧、方法與實戰Python 函數基礎詳解Python正則表達式詳解&#xff1a;掌握文本匹配的魔法Python文件操作寶典&#xff1a;一步步教你玩轉文件讀寫Python面向對象基礎與魔法方法詳解…

databricks~Unity Catalog

Unity Catalog hierarchy 包含了用戶授權管理信息和元數據信息 workspace with unity catalog hierarchy unity metastore Ref: https://www.youtube.com/playlist?listPLY-V_O-O7h4fwcHcXgkR_zTLvddvE_GfC

[力扣題解] 494. 目標和

題目&#xff1a;494. 目標和 思路 01背包 轉換為01背包問題 難點在于看出可以用背包問題解決本題&#xff1b; 題目字面意思是劃分出一堆再減去另一堆&#xff0c;得到的結果想要等于target&#xff0c;設定一堆為正&#xff0c;記為left&#xff0c;另一堆為負&#xff0…

ChatGPT類大模型應用入門了解與使用

一 前言 ChatGPT大眾熱情逐漸褪去&#xff0c;但在后臺技術人的探索還處于熱火朝天狀態。如果我們生活的世界是一杯清水&#xff0c; 那類似ChatGPT的語言大模型技術的橫空出世就如滴入水杯的一滴墨汁&#xff0c;第一滴很顯眼&#xff0c;但實際上是后續墨汁慢慢擴散滲透才是…

Windows11下使用Qt5.14.2編譯QtXlsx驅動詳細步驟

原有&#xff1a;由于系統需要將QTableWidget表格中的數據導出、在Windows下最開始使用Excel.Application組件實現了導出功能&#xff0c;后面將代碼轉換到Ubuntu20.04下進行編譯&#xff0c;發現項目.pro文件中的QT axcontainer和代碼.h文件中的#include <QAxObject>跟…

基于圖鳥UI的資訊名片模版開發與應用

一、引言 在前端技術日新月異的今天&#xff0c;快速、高效、美觀的UI組件庫和模板成為了開發者們關注的焦點。圖鳥UI作為一款集成了基礎布局元素、配色體系、圖標icon和精選組件的UI框架&#xff0c;為前端開發者提供了極大的便利。本文將以圖鳥UI為基礎&#xff0c;探討基于…

接口測試工具有哪些,哪些比較火

接口測試工具可以幫助開發人員和測試人員更高效地進行接口測試&#xff0c;以下是一些常用的接口測試工具&#xff1a; 1. **Postman** Postman 是一款廣受歡迎的接口測試工具&#xff0c;它提供了豐富的功能和直觀的用戶界面&#xff0c;幫助開發人員和測試人員輕松進行 API…

如何讓外網訪問內網服務?

隨著互聯網的快速發展&#xff0c;越來越多的企業和個人需要將內網服務暴露給外網用戶訪問。由于安全和隱私等因素的考慮&#xff0c;直接將內網服務暴露在外網是非常不安全的做法。如何讓外網用戶安全訪問內網服務成為了一個重要的問題。 在這個問題上&#xff0c;天聯公司提供…

golang rune類型解析,與byte,string對比,以及應用

Golang中的rune類型是一個32位的整數類型(int32)&#xff0c;它是用來表示Unicode碼點的。rune類型的值可以是任何合法的Unicode碼點&#xff0c;它通常用來處理字符串中的單個字符。 在Golang中&#xff0c;字符常量使用單引號來表示&#xff0c;例如 a。使用單引號表示的字符…

rust - 使用 cargo-nextest 替代 cargo test

cargo-nextest 是新一代的rust測試程序&#xff0c;能夠極大提升測試性能&#xff0c;可以完全替代 cargo test 命令。 1. 安裝 cargo install cargo-nextest2. 執行測試 project ├── Cargo.toml ├── LICENSE ├── README.md ├── build.rs ├── core_utils │ …

K-means聚類模型

目錄 1.定義 2.K-means聚類模型的優點 3.K-means聚類模型的缺點 4.K-means聚類模型的應用場景 5.對K-means聚類模型未來的展望 6.小結 1.定義 什么是 K-means 聚類模型&#xff1f;K-means 聚類模型是一種無監督學習算法&#xff0c;用于將數據劃分為不同的組或簇&#…

Lumines推出RGBL彩色混合LED

Luminus Devices傾心打造了一款嶄新的4合1 RGBL&#xff08;紅綠藍綠石灰&#xff09;LED系列&#xff0c;專為舞臺與建筑照明領域量身打造&#xff0c;滿足對高顯色指數&#xff08;CRI&#xff09;與高輸出顏色混合的苛刻需求。這一創新之舉&#xff0c;無疑是照明技術的一次…