項目實戰12.1—企業級監控工具應用實戰-zabbix安裝與基礎操作

来源:https://www.cnblogs.com/along21/archive/2017/12/26/8118609.html
-Advertisement-
Play Games

無監控,不運維。好了,廢話不多說,下麵都是乾貨。 警告:流量黨勿入,圖片太多!!! 項目實戰系列,總架構圖 http://www.cnblogs.com/along21/p/8000812.html 實驗前準備: ① ntpdate 192.168.30.1 同步時間 ② 關閉防火牆、selinux ...


無監控,不運維。好了,廢話不多說,下麵都是乾貨。

警告:流量黨勿入,圖片太多!!!

  項目實戰系列,總架構圖 http://www.cnblogs.com/along21/p/8000812.html

 

實驗前準備:

① ntpdate 192.168.30.1 同步時間

② 關閉防火牆、selinux

③ vim /etc/hosts 每個機器都設置hosts,以解析主機名;DNS也行

192.168.30.107    server.along.com
192.168.30.7      node1.along.com
192.168.30.2      node2.along.com
192.168.30.3      node3.along.com zbproxy.along.com

實戰一:zabbix的搭建與部署

1、下載安裝

(1)下載

① 去官網,下載自己需要的版本https://www.zabbix.com/download

② 包的介紹

zabbix-agent-3.4.4-2.el7.x86_64.rpm    監控(安裝在被監控者,當然監控自己也需要監控)

zabbix-get-3.4.4-2.el7.x86_64.rpm    在server端,手工連接agent 獲取數據的,做測試的

zabbix-java-gateway-3.4.4-2.el7.x86_64.rpm     基於JAM監控時使用的

proxy 是和代理相關的包:

zabbix-proxy-mysql-3.4.4-2.el7.x86_64.rpm

zabbix-proxy-pgsql-3.4.4-2.el7.x86_64.rpm

zabbix-proxy-sqlite3-3.4.4-2.el7.x86_64.rpm

zabbix-sender-3.4.4-2.el7.x86_64.rpm    安裝在agent端,主動監控模式下,向server端發送測試數據使用的

server 取決自己的存儲系統選mysql 或 pgsql:

zabbix-server-mysql-3.4.4-2.el7.x86_64.rpm

zabbix-server-pgsql-3.4.4-2.el7.x86_64.rpm

zabbix-web-3.4.4-2.el7.noarch.rpm    web部位,核心包

zabbix-web-japanese-3.4.4-2.el7.noarch.rpm    專用日語的web部位

web要連接mysql 或 pgsql時,需要安裝的包:

zabbix-web-mysql-3.4.4-2.el7.noarch.rpm

zabbix-web-pgsql-3.4.4-2.el7.noarch.rpm

zabbix-release-3.4-2.el7.noarch.rpm    zabbix下載的源

  

(2)安裝

① 安裝官方的源

zabbix-release-3.4-2.el7.noarch.rpm    直接下載源

rpm -ivh zabbix-release-3.4-2.el7.noarch.rpm

yum repolist    可以查看自己的倉庫有zabbix源了

聲明:我用的是3.2版本的,以下的示範也是3.2版本

② 安裝

yum -y install zabbix-agent zabbix-get zabbix-sender zabbix-server-mysql zabbix-web zabbix-web-mysql

2、初始化資料庫

(1)vim /etc/my.cnf.d/server.cnf 子配置文件

[server]
skip_name_resolve = on
innodb_file_per_table = on
innodb_buffer_pool_size = 256M   #buffer緩存大小
max_connections = 2000   #最大連接數
log-bin = master-log    #二進位日誌

(2)建資料庫,授權,刷新許可權

MariaDB [(none)]> create database zbxdb character set 'utf8';
MariaDB [(none)]> grant all on zbxdb.* to zbxuser@'192.168.30.%' identified by 'zbxpass';
MariaDB [(none)]> flush privileges;

(3)導入數據

rpm -ql zabbix-server-mysql 下包的時候,帶有資料庫文件的解壓包

cp /usr/share/doc/zabbix-server-mysql-3.4.4/create.sql.gz ./ 考到root下,解壓

gzip -d create.sql.gz

mysql -uroot -p zbxdb < create.sql 導入數據

 

(4)可以去資料庫查看,數據已經生成

 

3、配置,開啟zabbix-server

(1)配置前準備

cd /etc/zabbix/

cp zabbix_server.conf{,.bak} 先備份,養成好習慣

grep -i "^####" zabbix_server.conf 查看有幾個配置段

  GENERAL PARAMETERS 一般性配置

  ADVANCED PARAMETERS 高級配置

  LOADABLE MODULES 可載入模塊

  TLS-RELATED PARAMETERS 配置加密的東西,如私鑰證書等

grep -i "^###" zabbix_server.conf 可以查看一下需要配置的選項

 

(2)配置

vim zabbix_server.conf 修改配置文件

ListenPort=10051    預設埠10051 
SourceIP=      發採用數據請求的埠,可以加多個地址,需要的話自己設置

② 日誌的配置

② 資料庫的配置
DBHost=192.168.30.107   資料庫對外的地址
DBName=zbxdb   資料庫中庫的名字
DBUser=zbxuser   資料庫授權的用戶
DBPassword=zbxpass   密碼
DBPort=3306   資料庫服務埠

(3)開啟服務

systemctl start zabbix-server.service

 

4、設置zabbix的web 服務

(1)zabbix 需要開啟與web 相連的服務

cd /etc/httpd/conf.d/

vim zabbix.conf 額外為php5 設置了一些參數

# php_value date.timezone Europe/Riga php的時區必須設置,不過有兩處可以設置,在php的配置文件中設置,或在這裡設置;在這裡設置,只對zabbix有效

vim /etc/php.ini 在php的配置文件中設置,代表對所有使用php的都生效,我就在這裡設置了

date.timezone = Asia/Shanghai

 

(2)開啟

systemctl start httpd

 

5、在web 頁面初始化設置

(1)初始化配置

① web登錄 http://192.168.30.107/zabbix

② 檢查所依賴的配置,如果有fail,需手動修改

③ 設置資料庫的連接

④ 可能有多個zabbix伺服器,加標識;非必須,可以不填

⑤ 沒有問題,就開始安裝了

⑥ 完成!!!

 

(2)登錄,第一次登錄預設賬號密碼

賬號:admin

密碼:zabbix

(3)登錄進去的儀錶盤

 

(4)status of zabbix 儀錶盤分析

Zabbix server is running

Yes

192.168.30.107:10051

① Number of hosts (enabled/disabled/templates)

39

0 / 1 / 38

② Number of items (enabled/disabled/not supported)

0

0 / 0 / 0

③ Number of triggers (enabled/disabled [problem/ok])

0

0 / 0 [0 / 0]

④ Number of users (online)

2

2

⑤ Required server performance, new values per second

0

 

① 監控主機:已經啟用被監控的主機數量,已經配置好缺被禁止主機數,自帶模板數

② 監控項:啟用多少指標,禁用多少指標,不支持的指標

③ 觸發器數量:啟用,禁用,處於有問題的

④ 當前zabbix有幾個用戶:現在是一個是來賓,一個是管理員

⑤ 重點關註的nvps 每秒的新值(根據我們定義的監控項,每秒採集過來多少新數據,平均值):

 

(5)用戶管理設置,有大家最喜歡的漢語

(1)如果英語不好,可以切換為中文,但推薦使用英文,為了更好的講解,博主使用中文示範

(2)修改密碼

 

6、被監控node zabbix的安裝配置

(1)在node 機器上安裝

yum -y install zabbix-agent zabbix-sender 只需安裝這兩個包就行

 

(2)配置,和之前一樣,先查看一下配置段

① grep -i "^####" zabbix_agentd.conf 先查看一下配置段

GENERAL PARAMETERS 一般配置,有兩個子配置段

  Passive checks related   被動介面

  Active checks related   主動介面

ADVANCED PARAMETERS 高級配置

  USER-DEFINED MONITORED PARAMETERS 用戶自定義的監控參數(必要,高級的特性)

  LOADABLE MODULES

  TLS-RELATED PARAMETERS

② grep -i "^###" zabbix_agentd.conf 查看選項

 

(3)配置

vim zabbix_agentd.conf

① EnableRemoteCommands=0 是否允許執行遠程命令,預設是不允許的,有安全風險

② 指定伺服器主機,可以指定多個
Server=192.168.30.107  
③ 自己的今天IP和埠
ListenPort=10050   自己的監聽埠
ListenIP=0.0.0.0     允許監聽在本機的地址,0.0.0.0 是監聽所有
④ agent個數,被監控項有很多時,可以多寫幾個
StartAgents=3  預設3個,優化時使用
⑤ 主動監控的機器地址是誰
StartAgents=192.168.30.107
⑥ 能被server段解析的主機名,寫IP也行
Hostname=node1.along.com
下邊都是預設值就好

(4)開啟服務

systemctl start zabbix-agent.service

 

7、node1加入到監控中

(1)先添加一個主機群組host groups

添加一個mysrvs 的host groups

(2)創建主機

創建一個屬於mysrvs 主機組的node1.along.com 主機,若介面寫主機,要開啟DNS解析

關於主機加密,在內網中最好不要加密,急耗資源

 

8、對node1主機設置

(1)監控類別 applications應用集

創建3個 CPU Utils 、Memory Stats、Network Interface Stats 的應用集

3個已經生成

 

(2)創建監控項 items

設置名為 rate of interrupt 的監控項 items

備註:

① key鍵值:內建key 、自定義key;對應的是命令;伺服器自動執行key,就相當於採集數據

每一個key 都對應,能在客戶端/agent端,執行的命令;該命令能幫我們取回關係型數據

例:system.cpu.intr cpu中斷數的key

在命令行 zabbix_get -s 192.168.30.7 -p 10050 -k "system.cpu.intr"

 

② 數據更新間隔:

對於非關鍵型指標,不要太頻繁,使伺服器壓力很大;推薦5分鐘,或以上

為了實驗,選擇5s;關鍵型指標,30s(預設的)也很頻繁了

 

(3)查看自己設置的監控

查看圖形,可以選擇不同時間作為坐標軸

 

實戰二:zabbix 基礎操作

聲明:我下邊已切換為3.4版本了

1、設置items監控項,採集信息

(1)對node1 添加名為rate of packets(in) 入站包的個數 的items監控項

① key 值選的是: net.if.in[if,<mode>]網路介面上傳流量統計;可以加參數

② 點擊進程,可以選擇更多選項;比3.2不一樣的地方

 

③ 查看圖形

 

(2)克隆items 監控項

① 設置rate of packets(out) 出站包的個數,因為和in 很相似,可以克隆再設置

② 修改為out,其他都無需修改

 

(3)為了後邊的實驗,多定義2個items 監控項

① rate of bytes(out) 出站位元組數

② rate of bytes(in) 入站位元組數

 

2、設置trigger 觸發器

(1)介紹

① 界定某特定的item採集到的數據的非合理區間或非合理狀態:邏輯表達式

② 邏輯表達式,閾值:通常用於定義數據的不合理區間;

  OK:正常 狀態 --> 不滿足閾值(不合理區間)為OK

  PROBLEM:非正常狀態 --> 滿足閾值

③ 觸發器存在可調用的函數:(對數據進行評估)

  nodata()沒有數據

  last()最近幾次的平均值

  date()

  time()

  now()

  dayofmonth()

  ...

註意:常用nodata()、last();能用數值採集的結果保存,就不要用字元串;電腦處理數值要快的多

 

(2)創建trigger 觸發器

① 創建

② 設置

表達式可以自己手寫;也可以按選擇生成

次數count / 時間time 選項:二選一

time 時間

④ 下邊的選擇根據自己的需求選擇,我沒有設置

 

(3)查看圖形,會發現多了一根警告線

 

3、設置觸發器的依賴關係

(1)介紹

① 在一個網路中,主機的可用性之間可能存在依賴關係

  例如,當某網關主機不可用時,其背後的所有主機都將無法正常訪問

  如果所有主機都配置了觸發器並定義了相關的通知功能,相關人員將會接收到許多告警信息,這既不利於快速定位問題,也會浪費資源

  正確定義的觸發器依賴關係可以避免類似情況的發生,它將使用通知機制僅發送最根本問題相關的告警

② 註意:目前zabbix 不能夠直接定義主機間的依賴關係,其依賴關係僅能通過觸發器來定義

(2)依賴的解釋:

被依賴者會報警;依賴者不會報警

分析:監控到交換機故障,網卡和主機上的服務不用報警;

監控到主機上的服務,網卡和交換機不用報警

(3)設置依賴

 

4、設置Media 媒介

(1)Media 的介紹

Media:媒介,告警信息的傳遞通道;任何用戶收到報警信息,都需要有媒介的埠

  類型:下麵3個中國都沒實現,中國可以實現微信,需要特殊插件

    Email:郵件

    Script:自定義腳本,每一個script都是一個媒介

    SMS:簡訊,只適用於北美地區

    Jabber:

    Ez Texting:

  接收信息的目標為zabbix用戶:

    需要用戶上定義對應各種媒介通道的接收方式;

每一類媒介,也能分很多種類型,如下圖

系統自帶的3中媒介

 

(2)定義一個media ,可以在email 模板上直接修改

在選項中可以設置併發會話

 

(3)用戶使用media媒介

① 選擇用戶中的admin用戶

② 添加media 報警媒介,一個用戶可以添加多個

為了實驗展示,我選擇所有等級

 

(4)實現給公司用戶發簡訊的媒介

① 創建一個名為 duanxin 的媒介

設置,關於發簡訊的腳本,網上有很多,自己找一個使用

② 設置個用戶,使用duanxin的媒介

 

(5)互聯網中有發微信做媒介的

需先發個公眾號,且公眾號中所有人都能收到

 

5、設置Actions 動作

(1)設置action 動作的準備

① 準備一個被監控的服務redis

yum -y install redis 下載一個redis 服務做實驗

vim /etc/redis.conf 修改配置文件

bind 0.0.0.0 監聽本機所有埠

systemctl start redis 開啟服務

 

② 因為要執行動作時需遠程操作,給admin 用戶設置sudo許可權

a) visudo 修改sudo的配置

zabbix ALL=(ALL) NOPASSWD: ALL 允許zabbix用戶能在所有主機,以所有人的身份執行所有命令

Defaults !visiblepw 預設所有命令要依靠tty執行,先註釋掉

 

b) vim zabbix_agentd.conf 設置agent允許執行遠程命令

EnableRemoteCommands=1 允許執行遠程命令

LogRemoteCommands=1 把遠程執行的命令記錄在日誌中

systemctl restart zabbix-agent.service 重啟zabbix-agent服務

 

(2)設置redis 的監控項items

① 監控埠的key

net.tcp.listen[port] 監聽本地listen:檢查 TCP埠是否處於偵聽狀態,返回 0 - 未偵聽;1 - 正在偵聽

net.tcp.port[<ip>,port]:server遠程掃描redis服務:檢查是否能建立 TCP 連接到指定埠,返回 0 - 不能連接;1 - 可以連接

net.tcp.service[service,<ip>,<port>] 直接指定服務:檢查服務是否運行並接受 TCP 連接,返回 0 - 服務關閉;1 - 服務運行

 

(3)設置triggers 觸發器

① 設置表達式

 

(4)設置action 動作

a) 創建一個action

 

b) 設置action

① 設置action 的動作

② 設置action 的操作

③ 設置要操作的步驟1:重啟redis服務

④ 設置要操作的步驟2:給admin發郵件

⑤ 設置完的action 的操作:共兩步

 

c) 設置action 的恢復操作

d) 設置action 成功

 

6、測試動作

(1)手動停掉redis 服務,模擬服務故障

systemctl stop redis

 

(2)可以看到problem 問題已產生

① 問題生成

② 執行動作,10s,第一個action 1 執行成功,problem問題解決

因為第一個action1 執行成功,所以action 2沒有執行

③ 恢復操作執行了,zabbix server 收到了mail "Resolved"

 

 

(3)模擬故障,且無法恢復

systemctl stop redis && rpm -e redis 停止服務,且刪除redis

① 問題產生

② action 1 無法完成

③ action 2 執行:給admin 發郵件

 

實戰三、展示介面的實現

1、Graphs 圖形的設置

(1)創建一個圖形

設置一個名為interface traffic packets 的圖形

圖形類別展示:

① normal 正常的

註釋:

  工作時間:白色

  非工作時間:黑色

② Stacked 層積的

③ Pie

④ Exploded 爆髮式圖形

設置完後:加入兩個監控項

rate of packets(in)

rate of packets(out)

 

(2)仿照上邊的,再創建2個圖形

① interface traffic bytes 加入2個監控項

rate of bytes(in)

rate of bytes(out)

redis status 加入一個監控項

redis status

 

2、定義Screens 聚合圖形

(1)創建screen 屏幕

 

(2)設置screens

 

3、把graphs 圖形加入到screens 屏幕中

(1)編輯上邊設置的screens

 

(2)點擊更改,把3個graphs 加入進來

① graph加入screen

② 設置

③ 添加成功,在瀏覽器上可以按F11 ,全屏查看

 

4、多個screens可以做成幻燈片

(1)再設置一個screens

 

(2)設置Slide shows 幻燈片

① 創建一個幻燈片

② 把兩個screens 加入到幻燈片設置中

② 播放幻燈片,5s 會切換一次

 

 

5、Maps 拓撲圖

Local network 自帶的maps 拓撲圖;用處不是想象中那麼大,就不講了

 

實戰四、Templates 模板和macro 巨集

1、Templates 模板

(1)模板介紹:

  主機配置模板:用於鏈接至目標主機實現快速監控管理;

          link, unlink, unlink and clear

   模板可繼承;

   主機link多個模板必須註意,模板們不能含有相同的item key。trigger和graphs中使用的items不能是來自多個模板。

(2)創建template 模板

① 創建

② 設置template 模板

③ complete 模板,應用集application、監控項items、觸發器triggers、圖形graphs、屏幕screens、自動發現discover rules、web檢測web scenarios。

  模板complete 的一系列添加設置,和主機host 幾乎一模一樣,但是不會直接生效、採集數據;只有鏈接至主機才能生效、採集數據

  區別:主機介面;complete 沒有;host 有

host 有主機介面

complete 沒有主機介面

 

④ 導入模板

可以在網上找到很多不錯的別人定義的模板,可以直接導入

 

 

⑤ 也可導出自己的模板給其他人使用

 

(3)在hosts 中導入模板complete

① 導入

② 導入成功

 

(4)不想在host主機中使用模板,可以取消鏈接 或 取消並清除

 

(5)組group 使用模板

如果有很多屬於同一組內的主機host,想快速基於某模板監控,組group添加模板

 

(6)模板也可以鏈接到其他模板

 

2、巨集:macro,預設的文本替換模式

(1)介紹

級別:

  全局:Administration --> General --> Macros ,對所有主機、所有模板都有效,優先順序很低

  模板:編輯模板 --> Macros ,對所有鏈接至此模板的主機都有效

  主機:編輯主機 --> Macros ,僅對單個主機有效

類型:

  內建巨集:調用 {MACRO_NAME}

  自定義:{$MACRO_NAME} ;命名方式:大寫字母、數字和下劃線

查詢巨集的官方文檔:

https://www.zabbix.com/documentation/3.4/manual/appendix/macros/supported_by_location

 

(2)設置使用巨集

① 還以redis 為例

yum -y install redis

vim /etc/redis.conf

bind 0.0.0.0 #監聽本地所有埠

systemctl start redis 開啟服務

 

② 定義全局巨集

③ 在items 監控項中調用

④ 調用成功

⑤ 設置模板巨集

⑥ 定義主機巨集

註意:巨集的優先順序:host 主機巨集 > complete 模板巨集 > 全局巨集

 

下篇zabbix 操作進階更精彩~~~


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、統一賬號管理 1.LDAP 統一管理各種平臺帳號和密碼,包括但不限於各種操作系統(Windows、Linux),Linux系統sudo集成,系統用戶分組,主機登入限制等;可與Apache,HTTP,FTP,SAMBA,ZABBIX,Jenkins等集成;支持密碼策略(密碼強度、密碼過期時間、強制 ...
  • 無監控,不運維。好了,廢話不多說,下麵都是乾貨。 流量黨勿入,圖片太多!!! 項目實戰系列,總架構圖 http://www.cnblogs.com/along21/p/8000812.html 一、User parameters 用戶參數 1、介紹和用法 ① 介紹 自定義用戶參數,也就是自定義key ...
  • python簡介: 一、什麼是python Python(英國發音:/ pa θ n/ 美國發音:/ pa θɑ n/),是一種面向對象、直譯式的電腦程式語言。 每一門語言都有自己的哲學: pythonde 設計哲學是:“優雅”、“明確”、“簡單” 二、python由來 1989年的聖誕節期間,吉 ...
  • 本文目錄:1. 入門示例:虛擬主機提供web服務2. tomcat體繫結構基本說明3. tomcat的appBase和docBase詳細說明4. webapp體繫結構5. tomcat進階:tomcat配置文件server.xml詳解 5.1 頂級元素server 5.2 頂級元素service 5 ...
  • sudo命令 系統安全sudo命令用來以其他身份來執行命令,預設的身份為root。在/etc/sudoers中設置了可執行sudo指令的用戶。若其未經授權的用戶企圖使用sudo,則會發出警告的郵件給管理員。用戶使用sudo時,必須先輸入密碼,之後有5分鐘的有效期限,超過期限則必須重新輸入密碼。 語法 ...
  • 首先環境搭建: 1、下載安裝JDK,並且配置環境變數 2、下載Apache James ,下載解壓之後的目錄如圖 雙擊bin下邊的run.bat批處理文件安裝James 服務,提示如下信息說明安裝成功: 安裝之後如圖所示: 修改E:\james-2.3.2.1\apps\james\SAR-INF\ ...
  • 一、BIO、NIO、AIO 先瞭解四個概念: 同步 : 自己親自出馬持銀行卡到銀行取錢(使用同步IO時,Java自己處理IO讀寫)。 非同步 : 委托一小弟拿銀行卡到銀行取錢,然後給你(使用非同步IO時,Java將IO讀寫委托給OS處理,需要將數據緩衝區地址和大小傳給OS(銀行卡和密碼),OS需要支持異 ...
  • 對於現代的智能手機來說,其內部要塞入太多各種不同介面的設備,給手機的設計 和元器件選擇帶來很大的難度。下圖是一個智能手機的例子,我們可以看到其內部存儲、顯示、攝像、聲音等內部介面都是各不相同的。即使以攝像頭介面來說,不 同的攝像頭模組廠商也可能會使用不同的介面形式,這給手機廠商設計手機和選擇器件帶來 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...