Zabbix 企業級分布式監控

目錄

簡介

一、監控系統基礎

1.1 監控的價值

1.2 監控的 5 大類型與 5 大層次

1.3 監控系統的實現原理

二、Zabbix:企業級監控方案

2.1 Zabbix 簡介

2.2 Zabbix 核心功能特性

2.3 Zabbix 角色與架構

三、Zabbix 部署案例

3.1 資源清單

3.2 基礎環境配置

(1)關閉防火墻

(2)關閉 SELinux

(3)時間同步

(4)修改主機名

3.3 部署 Zabbix Server

(1)添加 Zabbix 源

(2)安裝依賴軟件

(3)配置 MySQL 數據庫

(4)導入 Zabbix 初始數據

(5)配置 Zabbix Server

(6)配置 Nginx(Web 服務)

(7)啟動服務并設置自啟

3.4 Zabbix Web 界面配置

(1)訪問登錄頁面

(2)語言與許可協議

(3)環境檢查

(4)配置數據庫連接

(5)設置 Server 名稱與時區

(6)完成安裝

(7)登錄驗證

3.5 部署 Zabbix Proxy(分布式監控)

(1)添加 Zabbix 源(同 Server)

(2)安裝 Proxy 組件

(3)導入 Proxy 初始數據

(4)配置 Proxy

(5)啟動 Proxy 并設置自啟

(6)Web 界面添加 Proxy

3.6 部署 Zabbix Agent(被監控節點)

(1)添加 Zabbix 源(同 Server)

(2)安裝 Agent

(3)配置 Agent

(4)啟動 Agent 并設置自啟

(5)Web 界面添加主機

四、常見問題:解決 Zabbix 字體顯示亂碼

總結


簡介

在 IT 運維領域,監控系統如同 “千里眼” 與 “順風耳”,是保障業務穩定運行的核心支柱。據行業經驗,監控工作在運維環節中占比可達 30%,構建一套高效的監控告警系統更是運維工程師的核心能力。本文將從監控系統的基礎原理出發,講解 Zabbix 的功能特性,并完成 Zabbix 企業級分布式監控的部署與配置。

一、監控系統基礎

1.1 監控的價值

監控(Monitoring)的本質是 “檢測與預防”,通過對 IT 系統全鏈路的指標采集、分析與告警,提前發現潛在問題,避免故障擴散。在復雜的 IT 架構中,監控需覆蓋從底層硬件到上層業務的全棧場景。

1.2 監控的 5 大類型與 5 大層次

  • 5 大監控類型:應用性能監控、業務交易監控、網絡性能監控、操作系統監控(文檔中列 4 項,實際涵蓋全場景)。
  • 5 大邏輯層次(從底層到上層):
  • 基礎設施監控:網絡設備(交換機、路由器)的流量、丟包率、連接數等,由運維負責,保障底層穩定性。
  • 系統層監控:物理機 / 虛擬機 / 操作系統的 CPU 使用率、內存占用、磁盤 IO、網絡帶寬等核心指標。
  • 應用層監控:接口響應時間、調用量、錯誤率、慢 SQL、緩存命中率等服務相關指標。
  • 業務監控:用戶登錄、下單、支付等核心業務流程數據,為運營決策和戰略調整提供數據支撐。
  • 端用戶體驗監控:用戶端(APP、H5、PC)的性能、錯誤碼、地域 / 運營商訪問情況等,直接反映用戶感知。

1.3 監控系統的實現原理

一個完整的監控系統需包含數據采集數據處理(存儲、分析、告警、展示)?兩大部分,核心組件與工作模式如下:

  • 采集協議:分為專用客戶端(如 Zabbix Agent)和公用協議(SNMP、IPMI、SSH、Telnet 等)。
  • 工作模式
  • 被動模式:服務器主動向客戶端采集數據(對服務器開銷大,適合小規模場景)。
  • 主動模式:客戶端主動向服務器上報數據(對服務器開銷小,適合大規模場景)。
  • 代理架構:在大規模 / 跨地域場景中,通過 C/S/P(Client/Proxy/Server)架構分攤服務器壓力,支持分布式監控。

二、Zabbix:企業級監控方案

2.1 Zabbix 簡介

Zabbix 是一款開源的企業級分布式監控系統,支持從服務器、網絡設備到 Web 應用、數據庫的全場景監控。其優勢在于:

  • 跨平臺適配:可運行于 Linux、Windows、AIX 等主流系統。
  • 開源免費:基于 GPLv2 協議,源代碼公開可定制。
  • 功能全面:覆蓋數據采集、告警、可視化、自動化等全流程。

2.2 Zabbix 核心功能特性

  1. 數據收集:支持 SNMP、IPMI、自定義檢測,可按自定義間隔采集數據,包含 Server、Proxy、Agent 三種角色。
  2. 靈活告警:通過 “觸發器(trigger)” 定義閾值,支持告警升級、多渠道通知(郵件、短信等),可結合宏變量自定義告警信息,甚至通過遠程命令實現自動化修復。
  3. 可視化與報告:內置實時繪圖、網絡拓撲圖、自定義面板,支持生成監控報告,助力數據可視化分析。
  4. 歷史數據管理:數據存儲于數據庫,支持配置保留周期,內置自動清理機制。
  5. 自動化能力:支持網絡設備自動發現、Agent 自動注冊、模板繼承(減少重復配置)。
  6. 高擴展性:通過 API 支持第三方集成,Agent 輕量可擴展,支持大規模分布式部署(Proxy 架構)。

2.3 Zabbix 角色與架構

Zabbix 采用分布式架構,核心角色包括:

  • Zabbix Server:核心組件,負責接收、存儲、分析數據,觸發告警。
  • Zabbix Proxy:代理節點,用于大規模場景,分攤 Server 壓力,支持跨網絡監控。
  • Zabbix Agent:部署在被監控節點,負責采集本地數據(主動 / 被動模式)。
  • Zabbix Web:基于 PHP 的 Web 界面,用于配置、管理和查看監控數據。

架構示意圖如下:

Client(Agent)<--> Proxy <--> Server(數據存儲/分析/告警)<--> Web界面

三、Zabbix 部署案例

3.1 資源清單

本次部署采用 4 臺 openEuler 24.03 主機,配置如下:

操作系統

配置

主機名

IP 地址

角色

openEuler 24.03

2C4G

zabbix

192.168.207.137

Zabbix Server

openEuler 24.03

2C4G

proxy

192.168.207.138

Zabbix Proxy

openEuler 24.03

2C4G

server01

192.168.207.139

被監控節點

openEuler 24.03

2C4G

server02

192.168.207.140

被監控節點

3.2 基礎環境配置

所有節點需完成以下預處理(以 root 用戶操作):

(1)關閉防火墻

防火墻可能攔截 Zabbix 通信,需關閉并禁用自啟動:

systemctl stop firewalld  # 臨時關閉防火墻
systemctl disable firewalld  # 永久禁用防火墻(生產環境可按需配置規則)
(2)關閉 SELinux

SELinux 可能限制進程權限,臨時關閉并永久禁用:

setenforce 0  # 臨時關閉(立即生效)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config  # 永久禁用(需重啟)
(3)時間同步

確保所有節點時間一致(避免日志與監控數據時間錯亂):

timedatectl set-timezone Asia/Shanghai  # 設置時區為上海
chronyc sources -v  # 同步時間(需安裝chrony:dnf install -y chrony)
(4)修改主機名

按資源清單設置主機名,便于識別角色:

# 在zabbix節點執行
hostnamectl set-hostname zabbix
# 在proxy節點執行
hostnamectl set-hostname proxy
# 在server01節點執行
hostnamectl set-hostname server01
# 在server02節點執行
hostnamectl set-hostname server02

3.3 部署 Zabbix Server

Zabbix Server 是核心節點,負責數據存儲與分析,需關聯數據庫(本次用 MySQL)。

(1)添加 Zabbix 源

Zabbix 官方源提供穩定版本,適用于 RHEL 系系統(openEuler 兼容):

rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/9/x86_64/zabbix-release-latest-6.4.el9.noarch.rpm
dnf clean all  # 清理緩存,確保源生效
(2)安裝依賴軟件

需安裝 Zabbix Server、Web 組件、MySQL 及 SNMP 庫:

# 安裝Zabbix Server核心組件
dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
# 安裝MySQL數據庫(Zabbix 6.4要求MySQL 8.0.30+)
dnf -y install mysql-server-8.0.41 mysql
# 安裝SNMP依賴(監控網絡設備需用到)
dnf -y install https://www.rpmfind.net/linux/centos-stream/9-stream/AppStream/x86_64/os/Packages/net-snmp-libs-5.9.1-17.el9.x86_64.rpm
(3)配置 MySQL 數據庫

Zabbix 需數據庫存儲監控數據,需創建庫、用戶并授權:

  1. 啟動 MySQL 并設置開機自啟:
systemctl enable mysqld --now  # --now表示立即啟動
  1. 登錄 MySQL 并配置(默認無密碼,首次登錄直接回車):
mysql -uroot
  1. 執行 SQL 語句(設置 root 密碼、創建 Zabbix 庫和用戶):
-- 設置root本地登錄密碼(示例為123456,生產環境需復雜密碼)
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;  # 刷新權限-- 創建Zabbix主數據庫(utf8mb4支持中文)
create database zabbix character set utf8mb4 collate utf8mb4_bin;
-- 創建Zabbix用戶(本地訪問)
create user zabbix@localhost identified by 'zabbix';
grant all privileges on zabbix.* to zabbix@localhost;-- 創建Proxy數據庫(若需部署Proxy)
create database zabbix_proxy character set utf8mb4 collate utf8mb4_bin;
-- 允許Zabbix用戶遠程訪問Proxy庫(Proxy需連接Server的數據庫)
create user zabbix@'%' identified by 'zabbix';
grant all privileges on zabbix_proxy.* to zabbix@localhost;
grant all privileges on zabbix_proxy.* to zabbix@'%';-- 允許創建存儲函數(導入數據時需要)
set global log_bin_trust_function_creators=1;
quit;  # 退出MySQL
(4)導入 Zabbix 初始數據

Zabbix 提供預設 SQL 腳本,需導入主數據庫:

# 導入Server初始數據(輸入密碼zabbix)
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix# 導入完成后關閉存儲函數創建權限(安全加固)
mysql -uroot -p  # 輸入root密碼123456
set global log_bin_trust_function_creators=0;
quit;
(5)配置 Zabbix Server

修改配置文件,關聯數據庫密碼:

vim /etc/zabbix/zabbix_server.conf
# 找到129行左右,取消注釋并設置數據庫密碼
DBPassword=zabbix  # 與之前創建的zabbix用戶密碼一致
(6)配置 Nginx(Web 服務)

Zabbix Web 通過 Nginx 提供訪問,需設置監聽端口:

vim /etc/nginx/conf.d/zabbix.conf
# 找到并修改監聽端口(避免與其他服務沖突,示例用8080)
listen 8080;
server_name _;  # 保持默認
(7)啟動服務并設置自啟
# 重啟相關服務
systemctl restart zabbix-server zabbix-agent nginx php-fpm
# 設置開機自啟
systemctl enable zabbix-server zabbix-agent nginx php-fpm

3.4 Zabbix Web 界面配置

通過 Web 界面完成 Zabbix 初始化,步驟如下:

(1)訪問登錄頁面

在瀏覽器輸入 Server 節點 IP + 端口:??http://192.168.207.137:8080/??

(2)語言與許可協議

選擇 “中文”(支持多語言),同意 GPLv2 許可協議,點擊 “下一步”。

(3)環境檢查

系統會自動檢測依賴(如 PHP 版本、數據庫驅動等),全部通過后點擊 “下一步”。

(4)配置數據庫連接
  • 數據庫類型:MySQL
  • 服務器:localhost(數據庫與 Server 同機)
  • 端口:3306(MySQL 默認)
  • 數據庫名:zabbix
  • 用戶名:zabbix
  • 密碼:zabbix(與之前配置一致)
    點擊 “下一步”。
(5)設置 Server 名稱與時區
  • Zabbix 主機名稱:保持默認(或自定義)
  • 時區:選擇 “Asia/Shanghai”(上海時區)
    點擊 “下一步”。
(6)完成安裝

確認配置無誤后,點擊 “下一步”,提示 “Zabbix 前端已配置好” 即完成。

(7)登錄驗證

默認賬號:??Admin???,默認密碼:??zabbix??(首次登錄建議修改密碼)。

3.5 部署 Zabbix Proxy(分布式監控)

Proxy 用于分擔 Server 壓力,適合大規模監控場景,部署步驟如下:

(1)添加 Zabbix 源(同 Server)
rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/9/x86_64/zabbix-release-latest-6.4.el9.noarch.rpm
dnf clean all
(2)安裝 Proxy 組件
dnf -y install zabbix-proxy-mysql zabbix-sql-scripts zabbix-selinux-policy mysql
# 安裝SNMP依賴(同Server)
dnf -y install https://www.rpmfind.net/linux/centos-stream/9-stream/AppStream/x86_64/os/Packages/net-snmp-libs-5.9.1-17.el9.x86_64.rpm
(3)導入 Proxy 初始數據

Proxy 數據需存儲在之前創建的??zabbix_proxy??庫(在 Proxy 節點執行):

# 輸入zabbix用戶密碼(zabbix)
zcat /usr/share/zabbix-sql-scripts/mysql/proxy.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix_proxy -h 192.168.207.137
(4)配置 Proxy
vim /etc/zabbix/zabbix_proxy.conf
# 修改以下參數:
Server=192.168.207.137  # 指向Zabbix Server的IP
Hostname=Zabbix proxy  # 與Web添加時的名稱一致
DBHost=192.168.207.137  # 數據庫主機(Server節點IP)
DBPassword=zabbix  # 數據庫密碼
(5)啟動 Proxy 并設置自啟
systemctl start zabbix-proxy
systemctl enable zabbix-proxy
(6)Web 界面添加 Proxy
  • 登錄 Zabbix Web,進入 “管理”→“Agent 代理程序”→“創建代理”
  • 代理名稱:與??zabbix_proxy.conf???中??Hostname??一致(Zabbix proxy)
  • 代理類型:主動式(Proxy 主動向 Server 匯報)
  • 點擊 “添加”。

3.6 部署 Zabbix Agent(被監控節點)

在被監控節點(server01、server02)部署 Agent,步驟如下:

(1)添加 Zabbix 源(同 Server)
rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/9/x86_64/zabbix-release-latest-6.4.el9.noarch.rpm
dnf clean all
(2)安裝 Agent
dnf -y install zabbix-agent
(3)配置 Agent
vim /etc/zabbix/zabbix_agentd.conf
# 修改以下參數:
Server=192.168.207.137  # 被動模式:允許哪個節點采集數據(Server或Proxy)
ServerActive=192.168.207.137  # 主動模式:向哪個節點上報數據(與Server一致)
Hostname=server01  # 與Web添加的主機名一致(server01節點用此名,server02改為server02)
(4)啟動 Agent 并設置自啟
systemctl start zabbix-agent
systemctl enable zabbix-agent
(5)Web 界面添加主機
  • 進入 “數據采集”→“主機”→“創建主機”
  • 主機名稱:與 Agent 配置的??Hostname??一致(如 server01)
  • 主機群組:選擇或創建(如 “Linux 服務器”)
  • 接口:添加 “Agent”,IP 地址填寫被監控節點 IP(192.168.207.139)
  • 模板:鏈接 “Template OS Linux by Zabbix agent”(系統自帶模板)
  • (若通過 Proxy 監控)在 “由代理程序監測” 中選擇之前創建的 Proxy
  • 點擊 “添加”。

四、常見問題:解決 Zabbix 字體顯示亂碼

默認情況下,Zabbix 圖表可能因缺少中文字體導致亂碼,解決方法如下:

  1. 查找字體配置
# 查找字體路徑定義
grep "ZBX_FONTPATH" /usr/share/zabbix/include/defines.inc.php
# 輸出:define('ZBX_FONTPATH', realpath('assets/fonts'));# 查找默認字體名稱
grep "ZBX_GRAPH_FONT_NAME" /usr/share/zabbix/include/defines.inc.php
# 輸出:define('ZBX_GRAPH_FONT_NAME', 'graphfont');
  1. 替換字體文件
  • 上傳中文字體文件(如微軟雅黑??msyh.ttc???)到??/usr/share/zabbix/assets/fonts/??
  • 創建軟鏈接替換默認字體:
cd /usr/share/zabbix/assets/fonts
ln -snf msyh.ttc graphfont.ttf  # 讓系統識別為默認字體
  1. 刷新頁面:字體生效,中文正常顯示。

總結

Zabbix 作為企業級監控方案,憑借靈活的架構、豐富的功能和開源免費的優勢,被廣泛應用于各行業。本文從原理到實戰,詳細講解了 Zabbix 的部署流程,涵蓋 Server、Proxy、Agent 全組件。實際生產中,還可結合模板自定義、自動發現、告警升級等功能,進一步提升監控效率。

監控系統的核心價值不僅在于 “發現問題”,更在于 “預防問題”。通過 Zabbix 構建全鏈路監控體系,可為業務穩定運行提供堅實保障。

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

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

相關文章

SQL JOIN 全解析:用 `users` 與 `orders` 表徹底掌握內連接、左連接、右連接

SQL JOIN 全解析&#xff1a;用 users 與 orders 表徹底掌握內連接、左連接、右連接 在日常開發中&#xff0c;SQL 的連接&#xff08;JOIN&#xff09;語句是數據庫查詢的核心技能。尤其在多表聯合查詢時&#xff0c;不掌握好 INNER JOIN、LEFT JOIN、RIGHT JOIN&#xff0c;…

(一)從零搭建unity3d機械臂仿真-unity3d導入urdf模型

1.新建工程并加載模型 &#xff08;1&#xff09;unity中新建3d工程 &#xff08;2&#xff09;將機器人模型導入到unity3d中 導入開源Unity-Robotics-Hub的機械臂。 詳細操作參考視頻 ROS Unity URDF Import Testing Robot Motion 使用 URDF Importer工具 在 Unity 中&#x…

Linux之網絡部分-應用層自定義協議與序列化

一、應用層 1.1、理解協議 協議是一種 "約定". socket api 的接口, 在讀寫數據時, 都是按 "字符串" 的方式來發送接收的。如果我們要傳輸一些 "結構化的數據" 怎么辦呢? 其實&#xff0c;協議就是雙方約定好的結構化的數據。 1.2、網絡版計…

機器學習week3-分類、正則化

1. 邏輯回歸1.1. 線性回歸 vs 邏輯回歸對比維度線性回歸邏輯回歸任務類型回歸&#xff08;預測連續值&#xff09;分類&#xff08;預測離散類別&#xff09;輸出范圍(?∞,∞)[0,1]&#xff08;概率值&#xff09;損失函數均方誤差&#xff08;MSE&#xff09;對數損失&#x…

FastAdmin 中生成插件

在 FastAdmin 中生成一個 OCR 發票識別插件&#xff0c;可以按照以下步驟進行開發。這里假設你已經熟悉 FastAdmin 插件開發的基本流程&#xff0c;并會使用 Composer 和 PHP 擴展。1. 創建插件骨架使用 FastAdmin 命令行工具生成插件基礎結構&#xff1a;php think addon -a o…

DevExpress WinForms中文教程:Grouping(分組)- 如何自定義分組算法?

DevExpress WinForms擁有180組件和UI庫&#xff0c;能為Windows Forms平臺創建具有影響力的業務解決方案。DevExpress WinForms能完美構建流暢、美觀且易于使用的應用程序&#xff0c;無論是Office風格的界面&#xff0c;還是分析處理大批量的業務數據&#xff0c;它都能輕松勝…

PHP 與 Vue.js 結合的前后端分離架構

PHP 與 Vue.js 結合是構建現代 Web 應用的流行技術棧&#xff0c;通常采用 前后端分離架構。以下是關鍵要點和推薦實現方案&#xff1a; 一、技術棧組合 角色技術選項后端 (PHP)Laravel (推薦)、Symfony、CodeIgniter前端 (Vue)Vue 2/3、Vue Router、Pinia/Vuex、Vite通信協議…

XML高效處理類 - 專為Office文檔XML處理優化

/**** 提供XML讀取、寫入、修改、查詢等高級功能&#xff0c;支持命名空間和復雜XML結構* * 主要功能&#xff1a;* 1. 復雜路徑解析&#xff08;支持屬性篩選、索引、通配符&#xff09;* 2. 完整節點類型支持&#xff08;元素、文本、CDATA、注釋、PI&#xff09;* 3. 高效元…

星慈光編程蟲2號小車講解第一篇--向前向后

星慈光編程蟲2號小車是一款基于微控制器&#xff08;如Arduino&#xff09;的編程教學小車&#xff0c;常用于學習機器人控制和編程基礎。本講解將重點介紹小車的基本運動&#xff1a;前進、后退、左轉和右轉。這些運動通過控制電機實現&#xff0c;通常涉及調整電機的方向和速…

iOS 加固工具有哪些?快速發布團隊的實戰方案

在當今快速迭代的 iOS 開發環境中&#xff0c;團隊需要在高頻上線與應用安全之間找到平衡。快速發布不應犧牲安全性&#xff0c;而安全加固也不應成為阻礙上線的瓶頸。這就要求開發者在加固工具的選型與流程設計上&#xff0c;做到既高效又可靠。 那么&#xff0c;iOS 加固工具…

結構型模式-架構解耦與擴展實踐

結構型模式聚焦于對象間的組合關系&#xff0c;通過優化類與對象的裝配方式&#xff0c;實現系統的靈活性與可擴展性。在分布式系統中&#xff0c;由于多節點協作、跨網絡通信及異構環境集成等特性&#xff0c;傳統結構型模式需進行適應性改造&#xff0c;以應對分布式特有的復…

scratch筆記和練習-第三課

角色的大小變化 亮度等特效設置 流程圖圖形符號 Figma攻略&#xff1a;26個流行流程圖符號及其解釋 練習 實現在閃動10次后角色緩緩變回原形

Redis MCP 安裝與配置完整指南

一、Redis MCP 簡介 Redis MCP (Managed Control Plane) 是一個獨立于 Redis 服務運行的管理控制平臺&#xff0c;用戶可通過該平臺快速高效地管理和配置 Redis 實例。Redis MCP 可配合開源 Redis 或 Redis Cloud 使用。 二、安裝 Redis MCP 服務 Redis MCP 提供多種安裝方式&a…

Spring Boot配置文件加載全指南:從基礎到Spring Cloud集成

??? ??一、核心概念? 配置文件默認存在加載順序優先級主要用途必需依賴bootstrap.yml? 無1(最先)最高Spring Cloud上下文初始化spring-cloud-starter-bootstrapbootstrap.properties? 無1(略高于.yml)最高同上同上application.yml? 自動創建2中等應用核心配置無appl…

Python通關秘籍(六)數據結構——字典

前文復習 五、數據結構 5.1 列表(List) 列表是一種有序的可變數據集合,可以包含不同類型的元素。

自學嵌入式 day33 TCP、HTTP協議(超文本傳輸協議)

6、黏包問題&#xff08;1&#xff09;、原因&#xff1a;發送方發送數據太快或者接收方接收數據太慢&#xff0c;導致數據在緩沖區緩存。&#xff08;2&#xff09;、解決方法&#xff1a;①發送指定大小數據&#xff08;結構體&#xff09;問題&#xff1a;結構體對齊問題&am…

LinuxShell 的 Here-Document(<< EOF) 筆記250723

LinuxShell 的 Here-Document(<< EOF) 筆記250723 Here-Document(<< EOF) Linux Shell Here Document (<< EOF) 終極指南 Here Document&#xff08;立即文檔&#xff09;是 Shell 中用于多行輸入重定向的強大功能&#xff0c;其核心語法為 << DELI…

【windows修復】解決windows10,沒有【相機] 功能問題

問題: windows10,相機模塊,好像是被卸載了,想重新安裝 方法簡介: 先下載windows store, 然后,在windows store 里面下載 相機功能: 解決: 直接下載官方離線包并手動安裝(成功率 90%+) 1 用瀏覽器打開 https://store.rg-adguard.net 這是微軟 CDN 解析站,安…

Python 中字典和 if-else 的選擇

一、為什么要寫這篇文章&#xff1f; 在 Python 編程中&#xff0c;我們經常需要根據不同的條件做不同的事情。比如&#xff1a; 根據用戶等級顯示不同的內容根據成績給出不同的評價根據天氣決定穿什么衣服 這時候&#xff0c;我們通常有兩種選擇&#xff1a; 用 if-else 語句用…

【開源解析】基于HTML5的智能會議室預約系統開發全攻略:從零構建企業級管理平臺

&#x1f680; 【開源解析】基于HTML5的智能會議室預約系統開發全攻略&#xff1a;從零構建企業級管理平臺 &#x1f308; 個人主頁&#xff1a;創客白澤 - CSDN博客 &#x1f4a1; 熱愛不止于代碼&#xff0c;熱情源自每一個靈感閃現的夜晚。愿以開源之火&#xff0c;點亮前行…