Ops Maintenance

👤 fish1981bimmer 📦 v3.1.0 ⭐ 4.4 ⬇️ 1K 下載
🔒 IT運維與安全 免費

📖 技能介紹


name: ops-maintenance version: 3.1.0 description: 運維助手 v3.1 - 支援本地、遠端、多伺服器叢集監控、安全審計、智慧日誌分析、配置變更追蹤、告警通知、定時巡檢、Docker容器健康巡檢、SSL證書監控 userInvocable: true argumentHint: [args] allowedTools: - Bash - Read


運維助手 (ops-maintenance) v3.1

專業的運維助手,支援單伺服器和多伺服器叢集監控、安全審計、智慧日誌分析、配置變更追蹤、告警通知、定時巡檢、Docker容器健康巡檢、SSL證書監控。

v3.1 新功能

Docker 容器健康巡檢

  • 全面巡檢: 自動檢查所有容器的健康狀況
  • 重啟檢測: 檢測容器重啟次數超限,識別啟動即崩潰的殭屍容器
  • OOM Kill檢測: 識別因記憶體不足被Kill的容器
  • 健康檢查失敗: 檢測Docker HEALTHCHECK失敗
  • 資源超限: CPU/記憶體使用率超閾值告警(70%/75%警告, 90%/90%嚴重)
  • 映象過期: 檢測超過90天未更新的映象
  • 單容器檢查: 支援指定容器名深度檢查

SSL 證書監控

  • 批次域名檢查: 支援同時檢查多個域名的SSL證書
  • 過期告警: 預設30天前告警,7天前嚴重告警
  • 證書詳情: 顯示頒發者、有效期、SAN域名、協議版本
  • 鏈路檢查: 檢測SAN不匹配、不安全協議(TLSv1.0/1.1)
  • 配置檔案支援: 從 ~/.config/ops-maintenance/ssl-domains.json 載入域名
  • 備用方案: openssl命令作為Node.js TLS的備用檢測方式

安全審計系統

  • 自動安全掃描: SSH配置、防火牆狀態、檔案許可權、Docker安全、核心引數
  • 風險分級: high/medium/low 三級風險分類
  • 修復建議: 每項發現自動生成修復建議
  • 合規檢查: 對照安全基線自動評估

智慧日誌分析

  • 趨勢統計: 按時間段統計錯誤量,生成時間線
  • 模式識別: 相似日誌自動聚合,提取通用模式
  • 異常檢測: 4種異常檢測(錯誤突增/新模式/超時聚類/連續爆發)
  • 多源關聯: 多個日誌源的關聯分析
  • 自動發現: 自動發現常見日誌路徑

配置變更追蹤

  • 基線快照: 為關鍵配置檔案建立SHA256基線
  • 變更檢測: 自動檢測配置檔案變更
  • 差異對比: 變更詳情展示(行級diff)
  • 變更歷史: 保留完整變更歷史記錄
  • 預設追蹤: 預設追蹤nginx/SSH/sysctl/fstab/hosts/DNS/crontab

運維報告生成

  • 綜合報告: 一鍵彙總健康/安全/日誌/配置四維報告
  • 多格式輸出: Markdown / JSON / 純文本
  • 模組可選: 可選擇性跳過某些模組
  • 狀態總覽: 一目瞭然的OK/WARN/CRIT狀態彙總

告警通知系統

  • 多渠道通知: 飛書機器人 / 企業微信 / 郵件 / Webhook / 控制台
  • 8種預設告警規則: 磁碟(80%/90%)、記憶體(85%/95%)、負載(5/10)、CPU(80%)、服務宕機
  • 告警去重: 同一規則+伺服器不重複觸發
  • 告警靜默: 指定時間內遮蔽重複告警
  • 自動恢復檢測: 閾值恢復後自動標記 resolved 併發送恢復通知
  • 告警升級: 按閾值從高到低,優先觸發最高級別
  • 持久化儲存: 告警記錄儲存在 ~/.config/ops-maintenance/alerts.json

定時巡檢排程

  • 自動巡檢: 按配置間隔自動執行 health/disk/memory/load/cpu/service 檢查
  • 2種預設任務: 基礎健康巡檢(5分鐘)、服務狀態巡檢(1分鐘)
  • 巡檢報告: 自動生成 Markdown 格式報告,儲存在 ~/.config/ops-maintenance/reports/
  • 手動觸發: 隨時手動執行單個或全部巡檢任務

    7w4.net有更好的技能外掛。

  • 告警聯動: 巡檢結果自動評估告警規則並觸發通知

CLI 命令 (v3.1)

ops health              # 系統健康檢查
ops security            # 安全審計
ops security --fix      # 安全審計+修復建議
ops logs                # 智慧日誌分析
ops logs --trends       # 只看趨勢
ops logs --anomalies    # 只看異常
ops config list         # 檢視追蹤檔案
ops config check        # 檢查配置變更
ops config baseline     # 建立配置基線
ops config history      # 檢視變更歷史
ops report              # 生成綜合運維報告
ops report -f json      # JSON格式報告
ops audit               # 檢視審計日誌
ops docker-health       # Docker容器健康巡檢(全部)
ops docker-health -c nginx  # 檢查指定容器
ops docker-health --images  # 只檢查映象更新
ops docker-health --json    # JSON格式輸出
ops ssl example.com     # 檢查域名SSL證書
ops ssl a.com b.com c.com   # 批次檢查
ops ssl example.com --detail  # 證書詳情
ops ssl example.com --port 8443  # 指定埠
ops ssl example.com --warn-days 14  # 14天內告警

告警命令

/ops-maintenance alert rules          # 檢視告警規則
/ops-maintenance alert list           # 檢視活躍告警
/ops-maintenance alert stats          # 檢視告警統計
/ops-maintenance alert silence <ruleId> <server> [分鐘]  # 靜默告警
/ops-maintenance alert cleanup [天數] # 清理舊告警
/ops-maintenance alert notify <channel> <config>  # 配置通知渠道
/ops-maintenance alert add <rule>     # 新增告警規則
/ops-maintenance alert remove <ruleId> # 刪除告警規則
/ops-maintenance alert toggle <ruleId> <on|off>  # 啟用/停用規則

巡檢命令

/ops-maintenance patrol start         # 啟動定時巡檢
/ops-maintenance patrol stop          # 停止定時巡檢
/ops-maintenance patrol run [jobId]   # 手動執行巡檢
/ops-maintenance patrol jobs          # 檢視巡檢任務
/ops-maintenance patrol reports       # 檢視巡檢報告
/ops-maintenance patrol add <job>     # 新增巡檢任務
/ops-maintenance patrol remove <jobId> # 刪除巡檢任務
/ops-maintenance patrol toggle <jobId> <on|off>  # 啟用/停用任務

網路診斷命令

/ops-maintenance net ping <host> [count]     # Ping測試
/ops-maintenance net dns <host> [server]     # DNS查詢
/ops-maintenance net trace <host> [maxHops]  # 路由追蹤
/ops-maintenance net mtr <host> [count]      # MTR測試
/ops-maintenance net port <host> <port>      # 埠連通測試
/ops-maintenance net check <host> [ports]    # 綜合連通性測試

服務管理命令 (Docker + systemd)

/ops-maintenance docker ps [all]             # 容器列表
/ops-maintenance docker stats [container]    # 容器資源使用
/ops-maintenance docker inspect <name|id>    # 容器詳情
/ops-maintenance docker logs <name|id> [lines] # 容器日誌
/ops-maintenance docker images               # 映象列表
/ops-maintenance svc status <name>           # 服務狀態(systemd)
/ops-maintenance svc status <n1> <n2> ...    # 批次服務狀態
/ops-maintenance svc logs <name> [lines]     # 服務日誌(journalctl)

基礎功能命令

健康檢查

/ops-maintenance health                     # 本地
/ops-maintenance user@host health           # 遠端 SSH

日誌分析

/ops-maintenance logs [關鍵詞]              # 本地
/ops-maintenance user@host logs error       # 遠端

效能監控 (本地)

/ops-maintenance perf

埠檢查

/ops-maintenance ports [埠]               # 本地
/ops-maintenance user@host ports 80         # 遠端

程序檢查

/ops-maintenance process [名稱]             # 本地
/ops-maintenance user@host process nginx    # 遠端

磁碟使用

/ops-maintenance disk                       # 本地
/ops-maintenance user@host disk             # 遠端

檔案傳輸

/ops-maintenance upload <local> <remote>    # 上傳檔案
/ops-maintenance download <remote> <local>  # 下載檔案
/ops-maintenance list <remote>              # 列出遠端目錄

審計日誌

/ops-maintenance audit                      # 檢視審計統計

遠端伺服器配置

方式 1: 配置檔案 (推薦)

~/.config/ops-maintenance/servers.json 中配置:

[
  {
    "host": "192.168.1.100",
    "user": "root",
    "port": 22,
    "keyFile": "~/.ssh/id_rsa",
    "name": "web-1",
    "tags": ["production", "web"]
  }
]

方式 2: 直接指定

user@192.168.1.100 health
root@server.com:2222 disk

多伺服器叢集管理

檢視叢集狀態

/ops-maintenance cluster                    # 檢視所有伺服器狀態
/ops-maintenance cluster @production        # 按標籤篩選

批次新增伺服器

/ops-maintenance batch-add 192.168.1.100 192.168.1.101
/ops-maintenance batch-add root@192.168.1.100 admin@192.168.1.101
/ops-maintenance import-servers <<EOF
192.168.1.100,22,root,web-1,production;web
192.168.1.101,22,admin,db-1,production;database
EOF

批次執行命令

/ops-maintenance exec "df -h" @production   # 在 production 組執行
/ops-maintenance exec "uptime" all          # 在所有伺服器執行

安全性說明

v2.1 安全改進

  • 移除預設root使用者:必須顯式指定SSH使用者
  • 密碼加密儲存:使用AES-256-GCM加密
  • 命令白名單驗證:只允許執行安全的只讀命令
  • 增強安全檢查:檢測管道、重定向、命令替換等繞過方式

命令白名單

允許: uptime, free, df, ps, tail, grep, journalctl, netstat, ss, lsof, systemctl status, docker ps, ls, du, find 禁止: rm, mv, cp, chmod, shutdown, reboot, useradd, passwd, apt, yum, npm, systemctl start/stop

認證方式

  1. 金鑰認證(推薦): "keyFile": "~/.ssh/id_rsa"
  2. 密碼認證(加密儲存): 密碼自動使用AES-256-GCM加密
  3. 預設金鑰: 自動使用 ~/.ssh/id_rsa

審計日誌

  • 位置: ~/.config/ops-maintenance/logs/audit.log
  • 記錄: 時間戳、操作型別、目標伺服器、執行命令、狀態、時長、錯誤資訊

效能最佳化

  • 連線池: 最大10連線,5分鐘超時,自動清理
  • 併發控制: 批次操作預設5併發
  • 重試機制: 3次重試,指數退避

技術棧

  • Node.js + TypeScript
  • ssh2: SSH客戶端庫
  • ssh2-sftp-client: SFTP檔案傳輸
  • commander: CLI命令框架
  • 審計日誌: JSON格式,支援查詢和統計

開發說明

cd /Users/a1234/.openclaw/workspace/skills/ops-maintenance
npm install
npm run dev
npm test
npm run build

🤖 AI 評測

這個 Skill 功能非常豐富,基本涵蓋了伺服器運維的各種場景,文件清晰易懂,安裝配置也比較簡單。它在安全性方面做了較多考慮,包括密碼加密、命令驗證和審計日誌。不足之處是部分功能在複雜環境下可能存在安全風險,建議在非生產環境或瞭解風險後謹慎使用。整體質量良好,適合有一定運維經驗的使用者使用。

📊 多維度評分

適應性4
規範性4.1
有效性4.5
可靠性4.6
可信度4.9

📁 包含檔案 (38 個)

📄 CHANGELOG.md 3.4 KB
📄 MIGRATION_GUIDE.md 4.9 KB
📄 OPTIMIZATION_REPORT.md 6.5 KB
📄 QUICKSTART.md 2.4 KB
📄 README.md 5.1 KB
📄 RELEASE_NOTES.md 4.3 KB
📄 SECURITY_CHECKLIST.md 5 KB
📄 SECURITY_IMPROVEMENTS.md 6.6 KB
📄 SECURITY_SUMMARY.md 7 KB
📄 SKILL.md 10.2 KB
📄 _meta.json 134 B
📄 examples/cluster-example.ts 2.4 KB
📄 examples/remote-example.ts 1.9 KB
📄 package-lock.json 67.6 KB
📄 package.json 849 B
📄 skill-card.md 2.8 KB
📄 src/cli.ts 12.9 KB
📄 src/index.ts 47.6 KB
📄 src/utils/alert-manager.ts 22.2 KB
📄 src/utils/audit-logger.ts 5.2 KB
📄 src/utils/command-validator.ts 5.4 KB
📄 src/utils/config-change-tracker.ts 14.1 KB
📄 src/utils/crypto.ts 3.9 KB
📄 src/utils/docker-health-checker.ts 14.2 KB
📄 src/utils/health-checker.ts 11.3 KB
📄 src/utils/network-diagnostics.ts 12.4 KB
📄 src/utils/patrol-scheduler.ts 14.2 KB
📄 src/utils/report-generator.ts 8.7 KB
📄 src/utils/security-auditor.ts 16.8 KB
📄 src/utils/service-manager.ts 13 KB
📄 src/utils/sftp-client.ts 4 KB
📄 src/utils/smart-log-analyzer.ts 19.4 KB
📄 src/utils/ssh-pool.ts 6.5 KB
📄 src/utils/ssl-monitor.ts 12.8 KB
📄 test/alert-patrol.test.ts 10.5 KB
📄 test/security.test.ts 7.9 KB
📄 tsconfig.json 507 B
📄 vitest.config.ts 174 B