Wardn Hub
MCP ServersSkillsCategoriesAPI docsSubmit server
Submit server
Wardn HubTrusted MCP server directory.

Registry

  • MCP Servers
  • Skills
  • Categories

Resources

  • API docs
  • Score method

Contribute

  • Submit server
  • Advertise
© 2026 Wardn Hub
Wardn Hub
MCP ServersSkillsCategoriesAPI docsSubmit server
Submit server
skills/LeoYeAI/openclaw-master-skills/btpanel

btpanel

1
LeoYeAI/openclaw-master-skills·Monitoring·Audit pending·Snapshot 348658a3864e

Summary

This source did not publish a separate summary. Review SKILL.md before using the skill.

SKILL.md

宝塔面板运维监控

宝塔面板服务器的全方位运维监控工具,支持多服务器管理、资源监控、网站状态检查、服务状态检查、SSH安全审计、计划任务管理等功能。

宝塔面板

图标资源

技能包提供以下图标文件,可在生成报告时引用:

文件格式用途
icon/bt-logo.svgSVG矢量图标,适合缩放

使用示例(生成报告时):

# 服务器巡检报告

![宝塔面板](icon/bt-logo.svg)

## 概述
...

AI 使用约束

本技能用于查询和展示服务器状态数据,AI应遵循以下原则:

  1. 数据中立:如实展示监控数据,不夸大或缩小问题严重性
  2. 客观分析:基于阈值配置给出告警,避免主观判断
  3. 数据驱动:建议和结论应基于实际数据,不得臆测
  4. 隐私保护:不主动泄露服务器敏感信息(如IP、Token、域名)
  5. 执行前告知:由于接口数据较多,获取和分析需要一定时间,AI应先向用户简述即将执行的操作步骤,然后再执行命令获取数据

执行流程示例:

AI: 我将为您执行以下操作:
    1. 获取服务器系统资源状态(CPU、内存、磁盘)
    2. 检查网站运行状态
    3. 检查服务运行状态
    正在获取数据,请稍候...
    [执行命令]
    [展示结果和分析]

服务器配置管理

重要: 没有服务器信息时需要添加

使用配置工具管理服务器:

# 查看帮助
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的方法:

  • 登录宝塔面板
  • 进入「面板设置」->「API接口」
  • 点击「获取API Token」
  • 用户意图识别:

    • "帮我配置宝塔服务器" → 引导用户添加服务器配置
    • "添加一台服务器" → 执行 bt-config.py add
    • "查看有哪些服务器" → 执行 bt-config.py list

    场景二:多服务器资源汇总

    当用户需要了解所有服务器的整体运行状态时:

    # 查看所有服务器的资源使用情况
    python3 {baseDir}/scripts/monitor.py --format table
    
    # 查看所有服务器的网站状态汇总
    python3 {baseDir}/scripts/sites.py
    
    # 查看所有服务器的服务状态
    python3 {baseDir}/scripts/services.py
    

    用户意图识别:

    • "服务器整体情况怎么样" → 执行 monitor.py
    • "所有服务器健康状态" → 执行 monitor.py + sites.py
    • "多服务器资源使用情况" → 执行 monitor.py --format table

    场景三:单台服务器日常巡检

    当用户需要对单台服务器进行全面检查时:

    # 指定服务器名称进行各项检查
    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
    

    用户意图识别:

    • "检查 prod-01 这台服务器" → 执行上述检查命令
    • "帮我日常巡检" → 执行系统监控、网站状态、服务状态检查
    • "这台服务器有问题吗" → 执行全面检查并汇总告警

    场景四:网站SSL证书检查

    当用户关心SSL证书是否即将过期时:

    # 查看SSL即将过期的网站
    python3 {baseDir}/scripts/sites.py --filter ssl-warning
    
    # 查看SSL已过期的网站
    python3 {baseDir}/scripts/sites.py --filter ssl-expired
    

    用户意图识别:

    • "SSL证书快过期了吗" → 执行 sites.py --filter ssl-warning
    • "有哪些网站证书过期了" → 执行 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
    

    用户意图识别:

    • "有没有异常登录" → 执行 ssh.py --logs --filter failed
    • "查一下这个IP的登录记录" → 执行 ssh.py --logs --search IP
    • "SSH安全检查" → 执行 ssh.py --status 和 ssh.py --logs

    场景六:服务故障排查

    当某个服务出现问题时:

    # 查看服务状态
    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
    

    用户意图识别:

    • "Nginx/Apache/Redis出问题了" → 查看服务状态 + 查看错误日志
    • "服务报错了,帮我看看日志" → 执行 logs.py 查看对应服务日志

    场景七:备份任务检查

    当用户关心备份是否正常时:

    # 查看所有备份任务
    python3 {baseDir}/scripts/crontab.py --backup-only
    
    # 查看特定备份任务的执行日志
    python3 {baseDir}/scripts/crontab.py --logs --task-id 11
    

    用户意图识别:

    • "备份任务正常吗" → 执行 crontab.py --backup-only
    • "查看备份日志" → 执行 crontab.py --logs --task-id ID

    版本要求

    • 宝塔面板: >= 9.0.0
    • Python: >= 3.10

    用法

    系统资源监控

    # 查看帮助
    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
    

    SSH状态和日志检查

    # 查看帮助
    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
    

    参数说明

    monitor.py 参数

    参数说明默认值
    --server, -s指定服务器名称所有服务器
    --format, -f输出格式 (json/table)json
    --output, -o输出文件路径标准输出
    --config, -c配置文件路径自动查找

    sites.py 参数

    参数说明默认值
    --server, -s指定服务器名称所有服务器
    --format, -f输出格式 (json/table)table
    --output, -o输出文件路径标准输出
    --filter过滤条件 (stopped/ssl-warning/ssl-expired)无
    --config, -c配置文件路径自动查找

    services.py 参数

    参数说明默认值
    --server, -s指定服务器名称所有服务器
    --format, -f输出格式 (json/table)table
    --output, -o输出文件路径标准输出
    --service指定要检查的服务(可多次指定)默认服务列表
    --config, -c配置文件路径自动查找

    logs.py 参数

    参数说明默认值
    --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配置文件路径自动查找

    注意:只有已安装的服务才能获取日志,尝试获取未安装服务的日志会返回错误。

    ssh.py 参数

    参数说明默认值
    --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配置文件路径自动查找

    crontab.py 参数

    参数说明默认值
    --server, -s指定服务器名称所有服务器
    --backup-only只显示备份任务否
    --logs查看任务日志否
    --task-id任务ID(配合--logs使用)无
    --days日志查询天数7
    --format, -f输出格式 (json/table)table
    --output, -o输出文件路径标准输出
    --config, -c配置文件路径自动查找

    监控指标

    系统资源监控 (monitor.py)

    通过单一API接口获取完整的系统监控数据:

    • CPU: 使用率、核心数、型号、用户/系统占用
    • 内存: 总量、使用量、可用量、缓存、使用率
    • 磁盘: 多分区详情、总量、使用量、使用率
    • 网络: 实时速度、总流量、各网卡统计
    • 负载: 1/5/15分钟负载
    • 系统: 主机名、操作系统、运行时间、面板版本
    • 资源: 网站、数据库、FTP账户数量

    网站状态检查 (sites.py)

    支持多种项目类型:

    类型进程信息运行状态判断
    PHP无status==1 && stop为空
    Javapid_infopid > 0
    Nodeload_inforun==true
    Goload_inforun==true
    Pythonpidsrun==true
    .NETload_inforun==true
    Proxy(反代)无status==1
    HTML(静态)无status==1
    Other(其他)load_inforun==true

    检查项目:

    • 运行状态: 运行中/已停止/启动中
    • SSL证书: 有效/即将过期/已过期
    • 进程信息: PID、内存、CPU、线程数(适用于Java/Node/Go/Python/.NET/Other)
    • 反代健康: 反代项目的后端健康状态
    • 基础信息: 路径、域名、PHP版本、端口、代理地址

    服务状态检查 (services.py)

    支持检查的服务:

    服务状态检查日志支持
    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是支持多版本共存的服务,一台服务器可能同时安装多个PHP版本
    • PHP服务名称格式:php-X.X(如 php-8.2、php-7.4)
    • 系统会自动扫描已安装的PHP版本并分别显示状态
    • 常见PHP版本:8.5, 8.4, 8.3, 8.2, 8.1, 8.0, 7.4, 7.3, 7.2, 7.1, 7.0, 5.4, 5.3, 5.2

    检查项目:

    • 运行状态: 运行中/已停止
    • 版本信息: 已安装版本号
    • 进程PID: 主进程ID

    日志读取 (logs.py)

    支持的日志类型:

    日志类型服务获取方式
    错误日志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)的服务才能获取日志
    • 尝试获取未安装服务的日志会返回错误
    • Memcached 和 Pure-FTPD 不支持日志获取

    SSH状态和日志检查 (ssh.py)

    检查项目:

    • SSH服务状态: 运行中/已停止
    • 端口: SSH监听端口
    • Ping设置: 是否允许ping
    • 防火墙状态: 是否启用
    • Fail2ban: 是否安装和运行

    登录日志字段:

    • 时间: 登录时间
    • 类型: 成功/失败
    • 用户: 登录用户名
    • IP地址: 来源IP
    • 地区: IP归属地
    • 登录方式: password/key

    计划任务检查 (crontab.py)

    任务类型:

    • 备份网站: 自动备份网站文件和数据库
    • 备份数据库: 单独备份数据库
    • 备份目录: 备份指定目录
    • Shell脚本: 自定义Shell命令
    • 同步时间: NTP时间同步
    • 切割日志: 日志分割任务
    • 访问URL: 定时HTTP请求

    检查项目:

    • 任务状态: 启用/禁用
    • 执行周期: 每天/每小时/每周/每月/间隔分钟
    • 备份目标: 网站名称/数据库名称
    • 保留数量: 备份保留份数
    • 执行结果: 最后一次执行状态

    告警配置

    SSL证书告警

    剩余天数告警级别
    已过期critical
    ≤ 7 天critical
    ≤ 30 天warning

    服务器资源告警阈值

    可在配置文件中设置告警阈值:

    global:
      thresholds:
        cpu: 80      # CPU使用率告警阈值(%)
        memory: 85   # 内存使用率告警阈值(%)
        disk: 90     # 磁盘使用率告警阈值(%)
    

    Related skills

    homeassistant-skillgit-commitfinancial-analysis-agentk8s-fta-skillui-design