---
# System prepended metadata

title: Beszel
tags: [監控工具]

---

# Beszel

Beszel 就是一套用來監控電腦、有警報、有歷史記錄、可以多人共用的輕量級工具。
| 角色         | 作用                   | 比喻          |
| ---------- | -------------------- | -------------- |
| Hub        | 顯示所有 Agent 的狀態       | 控制室裡的主螢幕       |
| Agent      | 收集單一電腦的資訊            | 房間裡的小監控魔像      |
| Agent 安裝流程 | 透過 Hub 的「新增系統」功能快速設定 | 控制室發訊息給房間讓魔像啟動 |

[github](https://github.com/henrygd/beszel/releases)

[官網](https://www.beszel.dev/zh/)

### 安裝教學
:::warning
請先安裝 docker
:::
建立新資料夾
```
mkdir beszel
```

進去
```
cd beszel
```

建立 docker-compose.yml 檔案
```
vim docker-compose.yml
```
將以下內容貼進去
```yml
services:
  beszel:
    image: henrygd/beszel:latest
    container_name: beszel
    restart: unless-stopped
    ports:
      - 8090:8090
    volumes:
      - ./beszel_data:/beszel_data
      - ./beszel_socket:/beszel_socket

  beszel-agent:
    image: henrygd/beszel-agent:latest
    container_name: beszel-agent
    restart: unless-stopped
    network_mode: host
    volumes:
      - ./beszel_agent_data:/var/lib/beszel-agent
      - ./beszel_socket:/beszel_socket
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      LISTEN: /beszel_socket/beszel.sock
      HUB_URL: http://localhost:8090
      TOKEN: <TOKEN 待填>
      KEY: "<KEY 待填>"
```

啟動
```
docker compose up -d
```

打開瀏覽器，輸入網址(localhost 替換成你的 ip)：
```
http://localhost:8090
```

### 設定
設定管理員帳號, 密碼至少 8 字元

![2025-09-04 11 06 39](https://hackmd.io/_uploads/BJfGQKI5ex.png)

在 Hub 裡增加你的電腦（Add System）

![2025-09-04 11 07 09](https://hackmd.io/_uploads/HkEB7KL9xg.png)

這裡 Hub 會告訴你要填的 “公鑰” (KEY) 和 “令牌” (TOKEN), 請點選複製鈕

![2025-09-04 11 13 18](https://hackmd.io/_uploads/SJeVVFUqgg.png)

把拿到的 KEY 和 TOKEN 貼回 docker-compose.yml
```
vim docker-compose.yml
```
![2025-09-04 11 23 07](https://hackmd.io/_uploads/Byb08YUcex.png)

再執行一次
```
docker compose up -d
```

### 完成本台主機的 Agent 連線設定

填入名稱、ip, 點選新增系統
![2025-09-04 11 20 00](https://hackmd.io/_uploads/ryCYSt8cxx.png)

### 開始監控囉
![image](https://hackmd.io/_uploads/SkJkDYUcle.png)

![image](https://hackmd.io/_uploads/H1tkwFU9gg.png)


### 多台 Agent
如果要監控多台主機, 那每一台主機都要安裝 beszel-agent, 然後從 hub 主機的 UI 上面取得公鑰跟令牌

請先新增一個系統, 產生公鑰和令牌
![image](https://hackmd.io/_uploads/rkcH5YLqlg.png)

以下是 beszel-agent 的安裝方式

```
mkdir beszel-agent
```

```
cd beszel-agent
```

```
vim docker-compose.yml
```

將以下 yml 貼上, 然後把 UI 上面的公鑰 (KEY) 跟令牌 (TOKEN) 貼上
:::warning
請更換 yml 的 HUB_URL
:::
```yml
services:
  beszel-agent:
    image: henrygd/beszel-agent:latest
    container_name: beszel-agent
    restart: unless-stopped
    network_mode: host
    volumes:
      - ./beszel_agent_data:/var/lib/beszel-agent
    environment:
      LISTEN: /beszel_socket/beszel.sock
      HUB_URL: http://192.168.1.100:8090
      TOKEN: <TOKEN>
      KEY: "<KEY>"
```
啟動
```
docker compose up -d
```

按下新增系統
![2025-09-04 11 40 31](https://hackmd.io/_uploads/BJapAF8cxg.png)

![image](https://hackmd.io/_uploads/By9hRtUcxg.png)

### 查看 agent 的 log
如果持續無法連線就重新生成一個公鑰跟令牌
```
docker logs beszel-agent
```
