寶塔面板伺服器的全方位運維監控工具,支援多伺服器管理、資源監控、網站狀態檢查、服務狀態檢查、SSH安全審計、計劃任務管理等功能。
技能包提供以下圖示檔案,可在生成報告時引用:
| 檔案 | 格式 | 用途 |
|---|---|---|
icon/bt-logo.svg |
SVG | 向量圖示,適合縮放 |
使用示例(生成報告時):
# 伺服器巡檢報告
## 概述
...
本技能用於查詢和展示伺服器狀態資料,AI應遵循以下原則:
執行流程示例:
AI: 我將為您執行以下操作:
1. 獲取伺服器系統資源狀態(CPU、記憶體、磁碟)
2. 檢查網站執行狀態
3. 檢查服務執行狀態
正在獲取資料,請稍候...
[執行命令]
[展示結果和分析]
當前寶塔面板技能包,共包含 3 個相互關聯的技能:
| 技能名稱 | 描述 | 依賴關係 |
|---|---|---|
| btpanel | 運維監控技能 | ✅ 基礎技能,主要用於資源監控、網站狀態檢查、服務狀態檢查等 |
| btpanel-files | 檔案管理技能 | ✅ 提供遠端伺服器檔案輔助服務,可以讀取檔案列表和內容 |
| btpanel-phpsite | PHP 網站管理技能 | ✅ 提供遠端伺服器 PHP 網站管理功能,能夠部署和管理php網站 |
重要: 沒有伺服器資訊時需要新增
使用配置工具管理伺服器:
# 檢視幫助
python3 {baseDir}/scripts/bt-config.py -h
# 新增伺服器
python3 {baseDir}/scripts/bt-config.py add -n prod-01 -H https://panel.example.com:8888 -t YOUR_TOKEN
# 列出伺服器
python3 {baseDir}/scripts/bt-config.py list
# 設定閾值
python3 {baseDir}/scripts/bt-config.py threshold --cpu 75 --memory 80
當用戶第一次使用本技能時,需要先配置伺服器連線資訊:
# 新增伺服器(需要面板地址和API Token)
python3 {baseDir}/scripts/bt-config.py add -n prod-01 -H https://panel.example.com:8888 -t YOUR_API_TOKEN
# 檢視已配置的伺服器
python3 {baseDir}/scripts/bt-config.py list
獲取 API Token 的方法:
重要提示 - SSL 證書驗證配置: 新增伺服器時,AI 應詢問使用者:
"您的寶塔面板是否使用了受信任的 SSL 證書(如 Let's Encrypt、商業 CA 證書)?"
--verify-ssl false 引數示例:
# 自簽名證書場景
python3 {baseDir}/scripts/bt-config.py add -n prod-01 -H https://panel.example.com:8888 -t YOUR_TOKEN --verify-ssl false
# 受信任證書場景(預設)
python3 {baseDir}/scripts/bt-config.py add -n prod-01 -H https://panel.example.com:8888 -t YOUR_TOKEN
使用者意圖識別:
當用戶需要了解所有伺服器的整體執行狀態時:
# 檢視所有伺服器的資源使用情況
python3 {baseDir}/scripts/monitor.py --format table
# 檢視所有伺服器的網站狀態彙總
python3 {baseDir}/scripts/sites.py
# 檢視所有伺服器的服務狀態
python3 {baseDir}/scripts/services.py
使用者意圖識別:
當用戶需要對單臺伺服器進行全面檢查時:
# 指定伺服器名稱進行各項檢查
python3 {baseDir}/scripts/monitor.py --server prod-01 --format table
python3 {baseDir}/scripts/sites.py --server prod-01
python3 {baseDir}/scripts/services.py --server prod-01
python3 {baseDir}/scripts/ssh.py --status --server prod-01
python3 {baseDir}/scripts/crontab.py --backup-only --server prod-01
使用者意圖識別:
當用戶關心SSL證書是否即將過期時:
# 檢視SSL即將過期的網站
python3 {baseDir}/scripts/sites.py --filter ssl-warning
# 檢視SSL已過期的網站
python3 {baseDir}/scripts/sites.py --filter ssl-expired
使用者意圖識別:
當用戶需要進行安全檢查時:
# 檢視SSH登入失敗記錄
python3 {baseDir}/scripts/ssh.py --logs --filter failed
# 搜尋特定IP的登入記錄
python3 {baseDir}/scripts/ssh.py --logs --search 192.168.1.100
# 檢視SSH服務狀態
python3 {baseDir}/scripts/ssh.py --status
使用者意圖識別:
當某個服務出現問題時:
# 檢視服務狀態
python3 {baseDir}/scripts/services.py --server prod-01
# 檢視服務錯誤日誌
python3 {baseDir}/scripts/logs.py --server prod-01 --service nginx --lines 200
python3 {baseDir}/scripts/logs.py --server prod-01 --service redis
使用者意圖識別:
當用戶關心備份是否正常時:
# 檢視所有備份任務
python3 {baseDir}/scripts/crontab.py --backup-only
# 檢視特定備份任務的執行日誌
python3 {baseDir}/scripts/crontab.py --logs --task-id 11
使用者意圖識別:
# 檢視幫助
python3 {baseDir}/scripts/monitor.py -h
# 監控所有伺服器
python3 {baseDir}/scripts/monitor.py
# 監控指定伺服器
python3 {baseDir}/scripts/monitor.py --server prod-01
# JSON格式輸出
python3 {baseDir}/scripts/monitor.py --format json
# 表格格式輸出
python3 {baseDir}/scripts/monitor.py --format table
# 輸出到檔案
python3 {baseDir}/scripts/monitor.py --output report.json
# 檢視幫助
python3 {baseDir}/scripts/sites.py -h
# 檢查所有伺服器的網站狀態
python3 {baseDir}/scripts/sites.py
# 檢查指定伺服器
python3 {baseDir}/scripts/sites.py --server prod-01
# 只顯示停止的網站
python3 {baseDir}/scripts/sites.py --filter stopped
# 只顯示SSL即將過期的網站(30天內)
python3 {baseDir}/scripts/sites.py --filter ssl-warning
# 只顯示SSL已過期的網站
python3 {baseDir}/scripts/sites.py --filter ssl-expired
# JSON格式輸出
python3 {baseDir}/scripts/sites.py --format json
# 輸出到檔案
python3 {baseDir}/scripts/sites.py --output sites.json
# 檢視幫助
python3 {baseDir}/scripts/services.py -h
# 檢查所有伺服器的服務狀態
python3 {baseDir}/scripts/services.py
# 檢查指定伺服器
python3 {baseDir}/scripts/services.py --server prod-01
# 只檢查特定服務
python3 {baseDir}/scripts/services.py --service nginx --service redis
# JSON格式輸出
python3 {baseDir}/scripts/services.py --format json
# 輸出到檔案
python3 {baseDir}/scripts/services.py --output services.json
# 檢視幫助
python3 {baseDir}/scripts/logs.py -h
# 檢視Nginx錯誤日誌
python3 {baseDir}/scripts/logs.py --service nginx
# 檢視Redis日誌
python3 {baseDir}/scripts/logs.py --service redis
# 檢視Apache錯誤日誌
python3 {baseDir}/scripts/logs.py --service apache
# 檢視MySQL錯誤日誌
python3 {baseDir}/scripts/logs.py --service mysql
# 檢視MySQL慢查詢日誌
python3 {baseDir}/scripts/logs.py --service mysql --log-type slow
# 檢視PostgreSQL日誌(需要外掛)
python3 {baseDir}/scripts/logs.py --service pgsql
# 檢視PostgreSQL慢日誌
python3 {baseDir}/scripts/logs.py --service pgsql --log-type slow
# 指定伺服器和行數
python3 {baseDir}/scripts/logs.py --server prod-01 --service nginx --lines 200
# JSON格式輸出
python3 {baseDir}/scripts/logs.py --service nginx --format json
# 檢視幫助
python3 {baseDir}/scripts/ssh.py -h
# 檢視SSH服務狀態
python3 {baseDir}/scripts/ssh.py --status
# 檢視SSH登入日誌
python3 {baseDir}/scripts/ssh.py --logs
# 只查看失敗的登入日誌
python3 {baseDir}/scripts/ssh.py --logs --filter failed
# 只查看成功的登入日誌
python3 {baseDir}/scripts/ssh.py --logs --filter success
# 搜尋特定IP的登入記錄
python3 {baseDir}/scripts/ssh.py --logs --search 192.168.1.1
# 指定伺服器
python3 {baseDir}/scripts/ssh.py --status --server prod-01
# JSON格式輸出
python3 {baseDir}/scripts/ssh.py --logs --format json
# 檢視幫助
python3 {baseDir}/scripts/crontab.py -h
# 檢視所有計劃任務
python3 {baseDir}/scripts/crontab.py
# 只查看備份任務
python3 {baseDir}/scripts/crontab.py --backup-only
# 檢視指定伺服器
python3 {baseDir}/scripts/crontab.py --server prod-01
# 檢視備份任務日誌
python3 {baseDir}/scripts/crontab.py --logs --task-id 11
# JSON格式輸出
python3 {baseDir}/scripts/crontab.py --format json
| 引數 | 說明 | 預設值 |
|---|---|---|
--server, -s |
指定伺服器名稱 | 所有伺服器 |
--format, -f |
輸出格式 (json/table) | json |
--output, -o |
輸出檔案路徑 | 標準輸出 |
--config, -c |
配置檔案路徑 | 自動查詢 |
| 引數 | 說明 | 預設值 |
|---|---|---|
--server, -s |
指定伺服器名稱 | 所有伺服器 |
--format, -f |
輸出格式 (json/table) | table |
--output, -o |
輸出檔案路徑 | 標準輸出 |
--filter |
過濾條件 (stopped/ssl-warning/ssl-expired) | 無 |
--config, -c |
配置檔案路徑 | 自動查詢 |
| 引數 | 說明 | 預設值 |
|---|---|---|
--server, -s |
指定伺服器名稱 | 所有伺服器 |
--format, -f |
輸出格式 (json/table) | table |
--output, -o |
輸出檔案路徑 | 標準輸出 |
--service |
指定要檢查的服務(可多次指定) | 預設服務列表 |
--config, -c |
配置檔案路徑 | 自動查詢 |
| 引數 | 說明 | 預設值 |
|---|---|---|
--server, -s |
指定伺服器名稱 | 所有伺服器 |
--service |
服務名稱 (nginx/apache/redis/mysql/pgsql) | 必填 |
--log-type |
日誌型別 (error/slow) | error |
--lines, -n |
返回最後N行日誌 | 100 |
--format, -f |
輸出格式 (json/table) | table |
--output, -o |
輸出檔案路徑 | 標準輸出 |
--config, -c |
配置檔案路徑 | 自動查詢 |
注意:只有已安裝的服務才能獲取日誌,嘗試獲取未安裝服務的日誌會返回錯誤。
| 引數 | 說明 | 預設值 |
|---|---|---|
--server, -s |
指定伺服器名稱 | 所有伺服器 |
--status |
檢視SSH服務狀態 | 否 |
--logs |
檢視SSH登入日誌 | 否 |
--filter |
日誌過濾 (ALL/success/failed) | ALL |
--search |
搜尋關鍵字(IP或使用者名稱) | 無 |
--limit, -n |
返回日誌條數 | 50 |
--format, -f |
輸出格式 (json/table) | table |
--output, -o |
輸出檔案路徑 | 標準輸出 |
--config, -c |
配置檔案路徑 | 自動查詢 |
| 引數 | 說明 | 預設值 |
|---|---|---|
--server, -s |
指定伺服器名稱 | 所有伺服器 |
--backup-only |
只顯示備份任務 | 否 |
--logs |
檢視任務日誌 | 否 |
--task-id |
任務ID(配合--logs使用) | 無 |
--days |
日誌查詢天數 | 7 |
--format, -f |
輸出格式 (json/table) | table |
--output, -o |
輸出檔案路徑 | 標準輸出 |
--config, -c |
配置檔案路徑 | 自動查詢 |
通過單一API介面獲取完整的系統監控資料:
支援多種專案型別:
| 型別 | 程序資訊 | 執行狀態判斷 |
|---|---|---|
| PHP | 無 | status==1 && stop為空 |
| Java | pid_info | pid > 0 |
| Node | load_info | run==true |
| Go | load_info | run==true |
| Python | pids | run==true |
| .NET | load_info | run==true |
| Proxy(反代) | 無 | status==1 |
| HTML(靜態) | 無 | status==1 |
| Other(其他) | load_info | run==true |
檢查專案:
支援檢查的服務:
| 服務 | 狀態檢查 | 日誌支援 |
|---|---|---|
| Nginx | ✓ | ✓ 錯誤日誌 |
| Apache | ✓ | ✓ 錯誤日誌 |
| MySQL | ✓ | ✓ 錯誤日誌/慢日誌 |
| Redis | ✓ | ✓ 日誌檔案 |
| Memcached | ✓ | ✗ |
| Pure-FTPD | ✓ | ✗ |
| PHP (多版本) | ✓ | ✗ |
| PostgreSQL | ✓ | ✓ 錯誤日誌/慢日誌 |
服務狀態欄位說明:
| 欄位 | 說明 |
|---|---|
installed (setup) |
服務是否已安裝 |
status |
服務是否正在執行 |
version |
已安裝的版本號 |
pid |
主程序ID(執行中時) |
重要區別:
installed=false:服務未安裝,無法獲取日誌installed=true, status=false:服務已安裝但未執行installed=true, status=true:服務已安裝且正在執行PHP多版本共存說明:
php-X.X(如 php-8.2、php-7.4)檢查專案:
7w4.net小蔥技能站,你的AI助手技能庫。
支援的日誌型別:
| 日誌型別 | 服務 | 獲取方式 |
|---|---|---|
| 錯誤日誌 | nginx | 檔案: /www/server/nginx/logs/error.log |
| 錯誤日誌 | apache | 檔案: /www/wwwlogs/error_log |
| 日誌檔案 | redis | 檔案: /www/server/redis/redis.log |
| 錯誤日誌 | mysql | 介面: /database?action=GetErrorLog |
| 慢日誌 | mysql | 介面: /database?action=GetSlowLogs |
| 錯誤日誌 | pgsql | 外掛介面: pgsql_manager |
| 慢日誌 | pgsql | 外掛介面: pgsql_manager |
注意事項:
installed=true)的服務才能獲取日誌檢查專案:
登入日誌欄位:
任務型別:
檢查專案:
| 剩餘天數 | 告警級別 |
|---|---|
| 已過期 | critical |
| ≤ 7 天 | critical |
| ≤ 30 天 | warning |
可在配置檔案中設定告警閾值:
global:
thresholds:
cpu: 80 # CPU使用率告警閾值(%)
memory: 85 # 記憶體使用率告警閾值(%)
disk: 90 # 磁碟使用率告警閾值(%) 這個技能質量不錯,文件寫得很詳細,功能覆蓋了伺服器監控、網站狀態、SSL證書檢查等常用運維場景。配置管理清晰,支援多伺服器管理。不足之處是部分文件引用了不存在的圖示檔案,README太簡單缺少完整的使用說明。如果你需要管理寶塔面板伺服器,這個工具值得一試,但建議先仔細閱讀SKILL.md文件瞭解詳細用法。