簡單認識Zabbix監控系統及配置

文章目錄

  • 一、zabbix概述
    • 1、定義
    • 2、zabbix監控原理
    • 3、監控對象
    • 4、zabbix的3種架構
      • (1) C/S架構
      • (2)分布式架構:zabbix-proxy-client架構
      • (3) master-node-client架構
    • 5、zabbix監控模式
  • 二、部署zabbix服務端
    • 1.關閉防火墻和selinux,設置服務器名稱,同步時間
    • 2、下載zabbix和相關軟件
    • 3、修改 zabbix server 配置文件,修改數據庫的密碼
    • 4、修改 zabbix 的 php 配置文件
    • 5、啟動 zabbix 相關服務
    • 6、瀏覽器訪問zabbix:http://192.168.116.60/zabbix
  • 三、部署 zabbix 客戶端
    • 1.關閉防火墻和selinux,設置服務器名稱,同步時間
    • 2.下載zabbix客戶端
    • 3.修改客戶端配置文件并開啟
    • 4.在服務端驗證zabbix-agent2 的連通性
    • 5.新建客戶端
  • 四、監控模板
    • 1.使用官方或已開發設計好的模板
    • 2.自定義監控模板
      • (1)監控客戶端主機登錄人數
      • (2)監控nginx客戶端狀態信息
  • 五、設置郵件報警
    • 1.設置報警媒介
  • 六、配置zabbix服務端自動發現與自動注冊
    • 1.自動發現
    • 2.自動注冊
  • 七、部署zabbix代理服務器
  • 八、SNMP監控


一、zabbix概述

1、定義

zabbix是一個基于 web 界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。

zabbix能監視各種網絡參數,保證服務器系統的安全運營,并提供靈活的通知機制以讓系統管理員快速定位、解決存在的各種問題。

zabbix由兩部分構成,zabbix server與可選組件zabbix agent。通過c/s 模式采集數據,通過b/s 模式在web端展示和配置。

zabbix server可以通過SNMP,zabbix agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視,數據收集等功能,它可以運行在Linux等平臺上。

zabbix agent需要安裝在被監視的目標服務器上,它主要完成對硬件信息或與操作系統有關的內存,CPU等信息的收集。

2、zabbix監控原理

zabix agent安裝在被監控的主機上,zabiboix agent負責定期收集客戶端本地各項數據,并發送至zabbix server端,zabbix server收到數據后,將數據存儲到數據庫中,用戶基于Zabbix WEB可以看到數據在前端展現圖像。當zabbix監控某個具體的項目,該項目會設置一個觸發器閾值,當被監控的指標超過該觸發器設定的閾值,會進行一些必要的動作,動作包括發送信息(郵件、微信、短信)、發送命令( shell命令、reboot、restart、install等)。

3、監控對象

zabbix 監控部署在系統中,包含常見的五個程序:zabbix_server、zabix_agent、zabbix proxy、zabbix_get、zabix_sender等。

(1)zabbix server
zabbix服務端守護進程,其中 zabbix_agent、zabbix_get、zabbix_sender、zabbix _proxy的數據最終都提交給zabbix server;

(2)zabbix agent
客戶端守護進程,負責收集客戶端數據,例如:收集CPU負載、內存、硬盤使用情況等;

(3)zabbix proxy
zabbix分布式代理守護進程,通常大于500臺主機,需要進行分布式監控架構部署;

(4)zabbix get
zabbix 數據接收工具,單獨使用的命令,通常在server或者 proxy端執行獲取遠程客戶端信息的命令;

(5)zabbix sender
zabbix數據發送工具,用戶發送數據給 server或 proxy端,通常用戶耗時比較長的檢查。
在這里插入圖片描述

4、zabbix的3種架構

(1) C/S架構

(1)被監控的機器和zabbix直接相連zabbix agent負責采集服務器的信息,zabbix server 負責存儲并通過web展示硬件信息

(2)zabbix服務端與客戶端是最簡單的架構,監控機器和別監控機器之間不經過任何處理,直接由zabbix-server 和zabbix-agent之間進行數據交換。

(3)適用于網絡比較簡單,盡量在局域網內,設備比較少的監控環境

在這里插入圖片描述

(2)分布式架構:zabbix-proxy-client架構

(1)被監控的機器和zabbix中間有個proxy代理,zabbix agent將采集的信息傳到代理上由代理同一傳給zabbix server進行前端頁面展示和數據存儲。

(2)proxy是server和客戶端溝通的橋梁,proxy本身沒有前端且其本身并不存放數據,只是將agent發來的數據暫時存放,而后再提交給server,這種架構是和master-node-client架構做比較的架構,
(3)一般適用于跨機房、跨網絡、或中型網絡架構的監控
在這里插入圖片描述

(3) master-node-client架構

(1)master下有node節點,node可以存儲數據,node有自己的配置文件和數據庫注意負責將配置信息和監控數據與master同步,node下可以直接接入主機或接入代理proxy。

(2)適用于跨機房、跨網絡、大環境下

在這里插入圖片描述

5、zabbix監控模式

(1)主動模式:zabbix agent主動將采集到的監控信息傳輸給zabbix server

(2)被動模式:zabbix server向zabbix agent索引采集到的監控信息,zabbix agent返回采集到的數據

二、部署zabbix服務端

zabbix 服務端 zabbix_server 默認使用 10051 端口
zabbix_server:192.168.116.60(內存至少 2G,推薦 4G)

1.關閉防火墻和selinux,設置服務器名稱,同步時間

systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-server
su
ntpdate ntp.aliyun.com

2、下載zabbix和相關軟件

#獲取 zabbix 的下載源
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 
#更換 zabbix.repo 為阿里源
cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' zabbix.repoyum clean all && yum makecache
yum install -y zabbix-server-mysql zabbix-agent#安裝SCL(Software Collections),便于后續安裝高版本的 php,默認 yum 安裝的 php 版本為 5.4,版本過低,zabbix 5.0 版本對 php 版本最低要 7.2.0 版本。SCL 可以使得在同一臺機器上使用多個版本的軟件,而又不會影響整個系統的依賴環境。軟件包會安裝在 /etc/opt/rh/ 目錄下。
yum install -y centos-release-scl 

還需要修改一下zabbix源,開啟前端環境下載
在這里插入圖片描述

#安裝前端環境
yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl#安裝 zabbix 所需的數據庫
yum install -y mariadb-server mariadb
systemctl enable --now mariadb#初始化數據庫
mysql_secure_installation

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

#導入數據庫信息
zcat /usr/share/doc/zabbix-server-mysql-5.0.15/create.sql.gz | mysql -uroot -pabc123 zabbix

在這里插入圖片描述

3、修改 zabbix server 配置文件,修改數據庫的密碼

vim /etc/zabbix/zabbix_server.conf 
......
DBPassword=zabbix       #124行,指定 zabbix 數據庫的密碼

4、修改 zabbix 的 php 配置文件

vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
......
php_value[date.timezone] = Asia/Shanghai      #24行,取消注釋,修改時區

5、啟動 zabbix 相關服務

systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

6、瀏覽器訪問zabbix:http://192.168.116.60/zabbix

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
可以點擊主機查看圖形化數據,但會出現中文亂碼,需要導入字符集

#解決 zabbix-server Web頁面中文亂碼問題
yum install -y wqy-microhei-fonts
\cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

三、部署 zabbix 客戶端

zabbix 5.0 版本采用 golang 語言開發的新版本客戶端 agent2 。
客戶端 zabbix_agent2 默認使用 10050 端口。zabbix_agent01:192.168.116.70

1.關閉防火墻和selinux,設置服務器名稱,同步時間

systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-agent01
su
ntpdate ntp.aliyun.com

2.下載zabbix客戶端

#設置 zabbix 的下載源,安裝 zabbix-agent2
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repoyum install -y zabbix-agent2

3.修改客戶端配置文件并開啟

#修改 agent2 配置文件
vim /etc/zabbix/zabbix_agent2.conf
......
Server=192.168.116.60			#80行,指定 zabbix 服務端的 IP 地址
ServerActive=192.168.116.60		#120行,指定 zabbix 服務端的 IP 地址
Hostname=zbx-agent01			#131行,指定當前 zabbix 客戶端的主機名#開啟服務
systemctl enable --now zabbix-agent2.service

在這里插入圖片描述

4.在服務端驗證zabbix-agent2 的連通性

#安裝 zabbix 主動獲取數據的命令
yum install -y zabbix-get                #測試
zabbix_get -s '192.168.116.70' -p 10050 -k 'agent.ping'
zabbix_get -s '192.168.116.70' -p 10050 -k 'system.hostname'

在這里插入圖片描述

5.新建客戶端

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

四、監控模板

1.使用官方或已開發設計好的模板

Browse Zabbix / Zabbix - ZABBIX GIT
Zabbix searcher - 900+ Zabbix projects: templates, scripts, integrations, …
Zabbix community templates

2.自定義監控模板

(1)監控客戶端主機登錄人數

首先再客戶端自定義鍵(這里演示的用于監控主機登錄人數,閾值為3,大于3報警)

 在/etc/zabbix/zabbix_agent2.d/下新建.conf文件,在里面自定義鍵,格式為UserParameter=<key>,<commend>

在這里插入圖片描述
之后重啟服務讀取文件配置 systemctl restart zabbix-agent2.service

可以在服務端使用命令進行測試(當前登錄數為4)
在這里插入圖片描述
測試無誤就可以添加自定義模板了
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
創建配置應用集
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
創建配置觸發器
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
創建配置圖形
在這里插入圖片描述
在這里插入圖片描述
將模板添加到客戶端中
在這里插入圖片描述
查看圖形(監控到了登錄人數)
在這里插入圖片描述

(2)監控nginx客戶端狀態信息

客戶端安裝nginx,模擬監控nginx服務器

vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1yum install nginx -y 

修改nginx配置文件/etc/nginx/conf.d/default.conf,打開狀態統計
在這里插入圖片描述
重啟服務,查看狀態統計頁面

systemctl start nginx
curl -s 127.0.0.1/status

在這里插入圖片描述
編寫監控nginx狀態信息腳本,獲取以上值,并給執行權限
在這里插入圖片描述

#/bin/bash
#Description:Automated monitoring nginx performance and process nginx_status scripts
HOST="localhost"
PORT=80
URL="status"
NGINX_COMMAND=$1
#檢查nginx狀態
nginx_check() {if [ -f /sbin/pidof ]; then/sbin/pidof nginx | wc -welseps aux | grep -v "grep" | grep -c "nginx:"fi
}
#nginx狀態相關信息的值
nginx_active(){/usr/bin/curl -s "http://$HOST:$PORT/${URL}/" 2> /dev/null | awk '/Active/ {print $NF}'
}nginx_reading(){/usr/bin/curl -s "http://$HOST:$PORT/${URL}/" 2> /dev/null | awk '/Reading/ {print $2}'
}nginx_writing(){/usr/bin/curl -s "http://$HOST:$PORT/${URL}/" 2> /dev/null | awk '/Writing/ {print $4}'
}nginx_waiting(){/usr/bin/curl -s "http://$HOST:$PORT/${URL}/" 2> /dev/null | awk '/Waiting/ {print $6}'
}nginx_accepts(){/usr/bin/curl -s "http://$HOST:$PORT/${URL}/" 2> /dev/null | awk 'NR==3 {print $1}'
}nginx_handled(){/usr/bin/curl -s "http://$HOST:$PORT/${URL}/" 2> /dev/null | awk 'NR==3 {print $2}'
}nginx_requests(){/usr/bin/curl -s "http://$HOST:$PORT/${URL}/" 2> /dev/null | awk 'NR==3 {print $3}'
}
#命令獲取對應值
case $NGINX_COMMAND incheck)nginx_check;;active)nginx_active;;reading)nginx_reading;;writing)nginx_writing;;waiting)nginx_waiting;;accepts)nginx_accepts;;handled)nginx_handled;;requests)nginx_requests;;*)echo $"USAGE:$0 {check|active|reading|writing|waiting|accepts|handled|requests}"
esac

腳本測試無誤
在這里插入圖片描述
自定義監控變量,用于模板使用
在這里插入圖片描述

UserParameter=nginx.status[*],/etc/zabbix/zabbix_shell/zabbix_nginx.sh $1
#[*] 代表自定義變量nginx.status傳入的值
#$1 代表前面變量傳入的值作為此腳本執行的參數,獲取對應狀態值

重啟服務systemctl restart zabbix-agent2.service,在服務端進行測試
在這里插入圖片描述
測試無誤,去前端自定義模板
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

五、設置郵件報警

1.設置報警媒介

點擊左邊菜單欄【管理】中的【報警媒介類型】,點擊【創建媒體類型】
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
添加告警告知郵箱
點擊左邊菜單欄【用戶設置】–>【報警媒介】,點擊【添加】
在這里插入圖片描述

在這里插入圖片描述

六、配置zabbix服務端自動發現與自動注冊

1.自動發現

zabbix 自動發現(對于 agent2 是被動模式)是zabbix server 主動的去發現所有的客戶端,然后將客戶端的信息登記在服務端上。缺點是如果定義的網段中的主機數量多,zabbix server 登記耗時較久,且壓力會較大。

首先添加一臺客戶端,安裝好zabbix-agent2服務,修改配置文件指定服務端地址和客戶端名稱,然后開啟服務

服務端和客戶端都需要配置彼此的域名解析
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

2.自動注冊

zabbix 自動注冊(對于 agent2 是主動模式),zabbix agent2 會主動上報自己的信息,發給 zabbix server。缺點是可能因為配置文件配置錯誤或者網絡不通等原因導致 zabbix agent2 可能找不到 zabbix server。

先禁用自動發現,刪除客戶端02,做自動注冊
在這里插入圖片描述
在這里插入圖片描述
在客戶端配置文件開啟自動注冊,然后重啟服務
在這里插入圖片描述
添加自動注冊動作
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

七、部署zabbix代理服務器

配置zabbix代理,分擔 server 的集中式壓力,解決多機房之間的網絡延時問題。
在這里插入圖片描述
首先關閉防火墻,修改主機名,安裝代理

systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-proxyrpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 
cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repoyum install -y zabbix-proxy-mysql zabbix-get

安裝代理所需數據庫,做初始化,密碼設的是123123

yum install -y mariadb-server mariadb
systemctl enable --now mariadb
mysql_secure_installation

添加數據庫和用戶,授權,導入數據庫表信息

mysql -uroot -p123123
CREATE DATABASE zabbix_proxy character set utf8 collate utf8_bin;
GRANT all ON zabbix_proxy.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
flush privileges;
quit
#退出后導入表數據
zcat /usr/share/doc/zabbix-proxy-mysql-5.0.29/schema.sql.gz | mysql -uroot -p123123 zabbix_proxy

在這里插入圖片描述
在這里插入圖片描述
修改agent 指向代理的地址

vim /etc/zabbix/zabbix_agent2.conf
......
Server=192.168.116.40			#80行,指定 zabbix 代理服務器的 IP 地址
ServerActive=192.168.116.40		#120行,指定 zabbix 代理服務器的 IP 地址

還需要在每臺主機添加域名解析
在這里插入圖片描述
之后去服務端指定代理
在這里插入圖片描述
創建客戶端時添加代理
在這里插入圖片描述
之后依次重啟server、proxy、client 服務

在這里插入圖片描述
等待客戶端全部亮起即可

八、SNMP監控

使用SNMP簡單網絡管理協議,對網絡中的資源進行管理和實時監控。

首先在需要監控的路由器、交換機上安裝snmp(這里以server本機為例)

yum install -y net-snmp net-snmp-utils.x86_64systemctl start snmpd.service

然后去前端修改使用snmp
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

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

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

相關文章

項目實戰 — 消息隊列(8){網絡通信設計①}

目錄 一、自定義應用層協議 &#x1f345; 1、格式定義 &#x1f345; 2、準備工作 &#x1f384;定義請求和響應 &#x1f384; 定義BasicArguments &#x1f384; 定義BasicReturns &#x1f345; 2、創建參數類 &#x1f384; 交換機 &#x1f384; 隊列 &#x1f38…

【網絡】傳輸層——TCP(滑動窗口流量控制擁塞控制延遲應答捎帶應答)

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;專欄&#xff1a;《網絡》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交給時間&#xff01; 上篇文章對TCP可靠性機制講解了一部分&#xff0c;這篇文章接著繼續講解。 &#x1f3a8;滑動窗口 在…

Springboot 實踐(2)MyEclipse2019創建項目修改pom文件,加載springboot 及swagger-ui jar包

MyEclipse2019創建工程之后&#xff0c;需要添加Springboot啟動函數、添加application.yml配置文件、修改pom文件添加項目使用的jar包。 添加Springboot啟動函數 創建文件存儲路徑 &#xff08;1&#xff09;右鍵單擊“src/main/java”文件夾&#xff0c;彈出對話框輸入路徑…

Android 簡單的視頻、圖片壓縮工具

首頁需要壓縮的工具包 1.Gradle implementation com.iceteck.silicompressorr:silicompressor:2.2.3 2.添加相關權限&#xff08;手機得動態申請權限&#xff09; <uses-permission android:name"android.permission.READ_EXTERNAL_STORAGE"/> <uses-p…

05 - 研究 .git 目錄

查看所有文章鏈接&#xff1a;&#xff08;更新中&#xff09;GIT常用場景- 目錄 文章目錄 1. HEAD2. config3. refs4. objects 1. HEAD 2. config 3. refs 4. objects Git對象一共有三種&#xff1a;數據對象 blob、樹對象 tree以及提交對象 commit&#xff0c;這些對象都被保…

Vue 目錄結構 vite 項目

Vue3 項目常用的目錄結構和每個文件的作用【通過 vite 創建的項目】 vite目錄結構&#xff1a; dist // 打包后生成的文件目錄 node_modules // 環境依賴 public // 公共資源目錄 favicon.ico …

深入探析設計模式:工廠模式的三種姿態

深入探析設計模式&#xff1a;工廠模式的三種姿態 1. 簡單工廠模式1.1 概念1.2 案例1.3 優缺點 2. 抽象工廠模式2.1 概念2.2 案例&#xff1a;跨品牌手機生產2.3 優缺點 3. 超級工廠模式3.1 概念3.2 案例&#xff1a;動物園游覽3.3 優缺點 4. 總結 歡迎閱讀本文&#xff0c;今天…

go入門實踐四-go實現一個簡單的tcp-socks5代理服務

文章目錄 前言socks協議簡介go實現一個簡單的socks5代理運行與壓測抓包驗證 前言 SOCKS是一種網絡傳輸協議&#xff0c;主要用于客戶端與外網服務器之間通訊的中間傳遞。協議在應用層和傳輸層之間。 本文使用先了解socks協議。然后實現一個socks5的tcp代理服務端。最后&#…

英語詞法——代詞

代詞是用來代替名詞、起名詞作用的短語、分句和句子的詞。英語中代詞根據其意義和作用可分為九類:人稱代詞、物主代詞、反身代詞、相互代詞、指示代詞、疑問代詞、不定代詞、關系代詞和連接代詞。 第一節 人稱代詞 一、人稱代詞的形式和用法 人稱代詞單數復數第一人稱第二人…

【ARM 嵌入式 編譯系列 4 -- GCC 編譯屬性 __read_mostly 詳細介紹】

文章目錄 __read_mostly 介紹__read_mostly 在 linux 中的使用.data.read_mostly 介紹 __read_mostly 介紹 __read_mostly 是一個在Linux內核編程中用到的宏定義&#xff0c;這是一個gcc編譯器的屬性&#xff0c;用于告訴編譯器此變量主要用于讀取&#xff0c;很少進行寫入&am…

MYSQL中用字符串2022-07去匹配Date類型大于2022-07-01并小于2022-07-31

正文 需求上&#xff0c;是有個日期字符串&#xff0c;例如2022-07&#xff0c;代表著年月。數據庫中表對于這個字段存的是年月日&#xff0c;例如&#xff1a;2022-07-15。 我希望的是&#xff1a;獲取到2022-07-01到2022-07-31&#xff0c;之間的數據&#xff0c;條件是&…

21款美規奔馳GLS450更換中規高配主機,漢化操作更簡單

很多平行進口的奔馳GLS都有這么一個問題&#xff0c;原車的地圖在國內定位不了&#xff0c;語音交互功能也識別不了中文&#xff0c;原廠記錄儀也減少了&#xff0c;使用起來也是很不方便的。 可以實現以下功能&#xff1a; ①中國地圖 ②語音小助手&#xff08;你好&#xf…

【BASH】回顧與知識點梳理(二十六)

【BASH】回顧與知識點梳理 二十六 二十六. 二十一至二十五章知識點總結及練習26.1 總結26.2 模擬26.3 簡答題 該系列目錄 --> 【BASH】回顧與知識點梳理&#xff08;目錄&#xff09; 二十六. 二十一至二十五章知識點總結及練習 26.1 總結 Linux 操作系統上面&#xff0c…

unittest單元測試

當你在編寫測試用例時&#xff0c;可以使用Python內置的unittest模塊來進行單元測試。下面是一個逐步指南&#xff0c;幫助你理解如何編寫和運行基本的單元測試。 導入必要的模塊&#xff1a; 首先&#xff0c;你需要導入unittest模塊和需要測試的模塊&#xff08;例如&#xf…

運維監控學習筆記8

在服務器端&#xff0c;我們添加了nginx-server的主機&#xff1a; 在解決Error問題的過程中&#xff0c;我還通過zabbix_get這個命令進行了測試&#xff0c;發現是沒有的&#xff0c;后來確認是在web頁面配置的過程中&#xff0c;我輸錯了密碼。 yum install zabbix-getzabbi…

uniapp-原生地圖截屏返回base64-進行畫板編輯功能

一、場景 vue寫uniapp打包安卓包&#xff0c;實現原生地圖截屏&#xff08;andirod同事做的&#xff09;-畫板編輯功能 實現效果&#xff1a; 二、邏輯步驟簡略 1. 由 原生地圖nvue部分&#xff0c;回調返回 地圖截屏生成的base64 數據&#xff0c; 2. 通過 uni插件市場 im…

《圖解HTTP》——HTTP協議詳解

一、HTTP協議概述 HTTP是一個屬于應用層的面向對象協議&#xff0c;由于其簡捷、快速的方式&#xff0c;適用于分布式超媒體信息系統。它于1990年提出&#xff0c;經過幾年的使用與發展&#xff0c;得到不斷地完善和擴展。目前在WWW中使用的是HTTP/1.0的第六版&#xff0c;HTTP…

muduo 29 異步日志

目錄 Muduo雙緩沖異步日志模型: 異步日志實現: 為什么要實現非阻塞的日志

SQL 語句解析過程詳解

SQL 語句解析過程詳解&#xff1a; 1&#xff0e;輸入SQL語句 2&#xff0e;詞法分析------flex 使用詞法分析器&#xff08;由Flex生成&#xff09;將 SQL 語句分解為一個個單詞&#xff0c;這些單詞被稱為“標記“。標記包括關鍵字、標識符、運算符、分隔符等。 2.1 flex 原…

【CSS 布局】水平垂直方向居中

【CSS 布局】水平垂直方向居中 單行元素 <div class"container"><div class"item"></div> </div>方式一&#xff1a;relative 和 absolute .container {position: relative;height: 400px;border: 1px solid #ccc;.item {posit…