今天來(lái)介紹一個(gè)很有意思的服務(wù)器資源監(jiān)控工具 Beszel。Beszel 的特點(diǎn)是:輕量級(jí)部署簡(jiǎn)單、支持 docker 部署、可監(jiān)控多設(shè)備。
Beszel 分為 Hub 和 Agent 兩部分:Agent 負(fù)責(zé)數(shù)據(jù)采集(可以理解為客戶端),Hub 負(fù)責(zé)展示數(shù)據(jù)(可以理解為服務(wù)端看板)。都可以通過(guò) docker 進(jìn)行快速部署。
Beszel 部署 Hub 端
通過(guò) docker compose 來(lái)快速部署 beszel 的 Hub 端。Hub 端默認(rèn)訪問(wèn)端口為 8090:
services: beszel: image: 'henrygd/beszel' container_name: 'beszel' restart: unless-stopped ports: - '8090:8090' volumes: - ./beszel_data:/beszel_data
部署 Hub 端后,通過(guò) 8090 端口訪問(wèn) Hub 端頁(yè)面。首先創(chuàng)建一個(gè)賬戶:
然后進(jìn)入首頁(yè)選擇 add system 按鈕新建一個(gè) Agent 端口:name 填寫(xiě)設(shè)備名字, host 添加設(shè)備的 IP 地址, 默認(rèn)的通信端口為 45876。beszel 會(huì)自動(dòng)生成一個(gè)公鑰,而且會(huì)自動(dòng)生成 Agent 端的 docker compose 部署命令:
復(fù)制生成的 docker compose 部署命令保存成 compose.yaml 然后放到客戶端上去部署。如果你還想監(jiān)控特定硬盤(pán)信息,根據(jù)客戶端硬盤(pán)設(shè)備路徑填寫(xiě) FILESYSTEM: 參數(shù)。
services: beszel-agent: image: 'henrygd/beszel-agent' container_name: 'beszel-agent' restart: unless-stopped network_mode: host volumes: - /var/run/docker.sock:/var/run/docker.sock:ro environment: PORT: 45876 KEY: 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIM50g4vasLPtS/OmN0yp4WdBS0u0HnqNQceFCF5PHac' # FILESYSTEM: /dev/sda1 # set to the correct filesystem for disk I/O stats
注意 docker compose 部署命令需要映射 /var/run/docker.sock 、且 network 模式為 host。注意權(quán)限設(shè)置正確防止運(yùn)行失敗。
成功運(yùn)行 Agent 端后,我們?cè)?Hub 端頁(yè)面就可以看到設(shè)備的運(yùn)行情況了:
點(diǎn)擊可以查看運(yùn)行詳情:
beszel 可以整合監(jiān)控多臺(tái)設(shè)備,又部署簡(jiǎn)單,是一個(gè)不錯(cuò)的多服務(wù)器資源監(jiān)控方案。beszel 還可以針對(duì)服務(wù)器運(yùn)行情況設(shè)置報(bào)警提醒。
不過(guò)我在實(shí)際部署中發(fā)現(xiàn) beszel 的 Agent 端在 UGOS、DSM 等一些 nas 系統(tǒng)上,以及 WSL 部署的 Linux 系統(tǒng)上失效,估計(jì)是防火墻及權(quán)限限制的原因,需要自己花時(shí)間去排除一下。
就介紹到這里~
作者聲明本文無(wú)利益相關(guān),歡迎值友理性交流,和諧討論~
,