Install
openclaw skills install @thcjp/atlas-admin-consoleopenclaw skills install @thcjp/atlas-admin-console| 能力分类 | 免费版 | 专业版 |
|---|---|---|
| API调用 | 单次串行 | 批量并发(多线程) |
| 结果导出 | 无 | CSV/JSON/Excel导出 |
| 历史记录 | 无 | 调用历史+回放 |
| 工作流编排 | 无 | 多API串联+条件分支 |
| 监控告警 | 手动查询 | 自动响应+自愈 |
| Terraform | 无 | 官方Provider集成 |
| 多项目管理 | 单项目 | 跨组织/项目统一视图 |
| 审计日志 | 无 | 完整操作审计 |
| 优先支持 | 社区 | 工单优先响应 |
执行能力分类操作,处理用户输入并返回结果。
输入: 用户提供能力分类所需的参数和指令。
输出: 返回能力分类的处理结果。
能力分类操作,处理输入数据并返回结果能力分类相关配置参数进行设置执行API调用操作,处理用户输入并返回结果。
输入: 用户提供API调用所需的参数和指令。
输出: 返回API调用的处理结果。
API调用操作,处理输入数据并返回结果API调用相关配置参数进行设置执行结果导出操作,处理用户输入并返回结果。
输入: 用户提供结果导出所需的参数和指令。
输出: 返回结果导出的处理结果。
结果导出操作,处理输入数据并返回结果结果导出相关配置参数进行设置本skill还覆盖以下能力场景: MongoDB、Atlas、全功能管理控制台、含批量、历史回放、编排与监控告警自、运维团队的企业级、在免费版基础上新、增批量、调用与并发执行、调用结果导出、调用历史记录与回、监控告警自动化、多项目统一管理等、高级能力、配套面向、DBA、SRE、平台工程的多角色、场景指南。这些能力在上述核心功能中均有对应处理逻辑。
每日对全部集群执行健康检查,输出CSV报告。
# 批量查询所有集群状态并导出CSV
atlas-pro batch \
--operation listClusters \
--groups "group1,group2,group3" \
--output cluster-health-$(date +%Y%m%d).csv \
--format csv \
--parallel 5
# 批量检查备份状态
atlas-pro batch \
--operation listSnapshots \
--groups "group1,group2,group3" \
--output backup-status.csv \
--filter "createdAt > now-24h"
CPU使用率超80%自动扩容节点规格。
# alert-rules.yml
rules:
- name: auto-scale-on-high-cpu
condition:
metric: cpu_usage
threshold: 80
duration: 5m
action:
workflow: scale-up-cluster
params:
new_size: M30
cooldown: 30m # 防止频繁触发
通过Terraform管理Atlas集群,所有变更走代码评审流程。
# main.tf
terraform {
required_providers {
mongodbatlas = {
source = "mongodb/mongodbatlas"
version = "~> 1.0"
}
}
}
provider "mongodbatlas" {
public_key = var.atlas_public_key
private_key = var.atlas_private_key
}
resource "mongodbatlas_cluster" "main" {
project_id = var.project_id
name = "production-cluster"
cluster_type = "REPLICASET"
replication_factor = 3
provider_name = "AWS"
region_name = "us-east-1"
provider_instance_size_name = "M30"
backup_enabled = true
auto_scaling_disk_gb_enabled = true
}
将多个API调用串联为工作流,支持条件分支与循环。
# workflow: provision-new-cluster.yml
steps:
- name: create-cluster
operation: createCluster
params:
name: "(根据实际场景填充)"
providerSettings:
providerName: "AWS"
instanceSizeName: "M10"
- name: wait-for-ready
operation: getCluster
until: "status == 'IDLE'"
timeout: 600s
interval: 30s
- name: create-db-user
operation: createDatabaseUser
depends_on: wait-for-ready
params:
username: "(根据实际场景填充)"
password: "(根据实际场景填充)"
roles: [{roleName: "readWrite", databaseName: "admin"}]
- name: add-ip-to-whitelist
operation: createProjectIpAddress
params:
cidrBlock: "(根据实际场景填充)/32"
# 配置多个项目的API Key
cat > ~/.atlas-pro/credentials.yml <<EOF
profiles:
production:
client_id: "\${ATLAS_PROD_CLIENT_ID}"
client_secret: "\${ATLAS_PROD_CLIENT_SECRET}"
groups: ["prod-group-1", "prod-group-2"]
staging:
client_id: "\${ATLAS_STAGING_CLIENT_ID}"
client_secret: "\${ATLAS_STAGING_CLIENT_SECRET}"
groups: ["staging-group-1"]
EOF
atlas-pro batch \
--operation listClusters \
--profile all \
--output daily-report.csv \
--format csv
atlas-pro alert start --config alert-rules.yml
完整上手时间约180秒(含多项目配置)。
-and-restore-test: 命令参数,用于指定操作选项-test-: 命令参数,用于指定操作选项-east-1: 命令参数,用于指定操作选项-scale-on-high-cpu: 命令参数,用于指定操作选项-group-1: 命令参数,用于指定操作选项-connection-pool: 命令参数,用于指定操作选项--groups: 命令参数,用于指定操作选项-new-cluster: 命令参数,用于指定操作选项-report: 命令参数,用于指定操作选项-group-2: 命令参数,用于指定操作选项-cpu-auto-scale: 命令参数,用于指定操作选项-ip-to-whitelist: 命令参数,用于指定操作选项--operation: 命令参数,用于指定操作选项-status: 命令参数,用于指定操作选项--output: 命令参数,用于指定操作选项-space-low: 命令参数,用于指定操作选项-for-ready: 命令参数,用于指定操作选项--format: 命令参数,用于指定操作选项-pool-exhausted: 命令参数,用于指定操作选项-up-cluster: 命令参数,用于指定操作选项--filter: 命令参数,用于指定操作选项-health-: 命令参数,用于指定操作选项-db-user: 命令参数,用于指定操作选项-rules: 命令参数,用于指定操作选项-target: 命令参数,用于指定操作选项--config: 命令参数,用于指定操作选项| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| content | string | 是 | 相关说明 |
| content | string | 否 | 相关说明, 默认: 全部维度 |
| strict_level | string | 否 | 审查严格度, 可选: strict/normal/loose, 默认: normal |
{
"success": true,
"data": {
"overall_grade": "A",
"total_score": 92,
"max_score": 100,
"summary": "处理完成",
"details": [
{
"item": "代码风格",
"status": "pass",
"score": 95,
"comment": "符合规范"
},
{
"item": "安全合规",
"status": "warn",
"score": 80,
"comment": "符合规范"
}
],
"improvements": [
{
"priority": "high",
"suggestion": "建议优化",
"expected_gain": "+5分"
},
{
"priority": "medium",
"suggestion": "建议优化",
"expected_gain": "+3分"
}
]
},
"error": null
}
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| Node.js | 运行时 | 必需 | nodejs.org 官方下载 |
| atlas-pro.mjs | 脚本 | 必需 | 随本Skill分发 |
| Terraform | IaC工具 | 可选 | terraform.io 官方下载 |
| mongodbatlas Terraform Provider | 插件 | 可选 | Terraform Registry自动获取 |
| AWS CLI | 命令行 | 可选 | aws.amazon.com(S3 state存储) |
| Prometheus | 监控 | 可选 | prometheus.io 官方下载 |
# ~/.atlas-pro/batch.yml
batch:
parallel: 5 # 并发数
retry: 3 # 失败重试次数
retry_interval: 5s # 重试间隔
rate_limit: 100 # 每分钟最大调用数
timeout: 30s # 单次调用超时
output:
format: csv # csv/json/xlsx
include_metadata: true # 包含调用元数据
split_by_group: false # 是否按项目分文件
# workflows/backup-and-restore-test.yml
name: backup-restore-test
description: 创建备份并验证可恢复性
steps:
- id: create_snapshot
operation: createSnapshot
params:
clusterName: "(根据实际场景填充)"
description: "automated-test-(根据实际场景填充)"
- id: wait_snapshot_complete
operation: getSnapshot
depends_on: create_snapshot
until: "status == 'completed'"
timeout: 1800s
- id: restore_to_test_cluster
operation: createRestoreJob
depends_on: wait_snapshot_complete
params:
snapshotId: "按流程执行"
targetClusterName: "test-cluster"
- id: verify_restore
operation: getCluster
depends_on: restore_to_test_cluster
until: "status == 'IDLE'"
on_failure:
alert: true
message: "备份恢复测试失败"
# 初始化Terraform
terraform init
# 查看变更计划
terraform plan -out=tfplan
# 应用变更
terraform apply tfplan
# 销毁资源(谨慎)
terraform destroy -target=mongodbatlas_cluster.main
# alert-rules.yml
rules:
- name: high-cpu-auto-scale
condition:
metric: system.cpu.usage
threshold: 80
operator: ">"
duration: 5m
action:
workflow: scale-up-cluster
cooldown: 30m
notify:
- type: webhook
url: "${ALERT_WEBHOOK_URL}"
- type: dingtalk
token: "${DINGTALK_TOKEN}"
- name: disk-space-low
condition:
metric: disk.used_percent
threshold: 90
operator: ">"
duration: 1m
action:
operation: modifyCluster
params:
diskSizeGB: "current * 1.5"
cooldown: 1h
- name: connection-pool-exhausted
condition:
metric: connections.current
threshold: "max * 0.9"
operator: ">"
duration: 2m
action:
workflow: add-connection-pool
cooldown: 15m
A:专业版默认重试3次,仍失败的记录在错误报告中。可通过--resume参数从断点继续,避免重复执行已成功的部分。
A:专业版持久化工作流执行状态,使用atlas-pro workflow resume <execution-id>从断点恢复。若步骤已副作用(如集群已创建),恢复时会跳过该步骤。
A:(1) 使用远程state存储(S3/OSS)配合state锁(DynamoDB);(2) 团队协作时先terraform state pull再操作;(3) 冲突时通过terraform state push强制覆盖(谨慎使用)。
A:(1) 设置合理的cooldown冷却期;(2) 增加duration持续时间要求,避免瞬时波动触发;(3) 关键动作(如销毁集群)配置require_approval: true人工确认;(4) 监控告警动作日志,发现异常立即停用规则。
A:在credentials.yml中配置多个profile,使用--profile all遍历所有配置的组织与项目。专业版支持跨组织统一视图,便于集团级管理。
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| LLM响应超时或无响应 | 网络延迟或模型负载过高 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接,执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令请求;确认Agent平台LLM服务正常 |
| 输入内容格式不正确 | 用户输入不符合skill预期格式 | 检查输入是否符合skill使用说明中的格式要求,参考示例章节 |
| 执行结果与预期不符 | 指令描述不够明确或上下文不足 | 提供更详细的指令描述,补充必要的上下文信息 |
| 命令执行失败 | 运行环境不满足要求或权限不足 | 确认运行环境符合依赖说明中的要求;检查命令权限设置 |
A:(1) 降低parallel并发数;(2) 降低rate_limit每分钟调用数;(3) 启用指数退避重试;(4) 大批量操作分批执行,间隔5-10分钟。
A:(1) 使用terraform apply前先plan并保存计划;(2) 变更出问题时terraform apply之前的state文件回滚;(3) 关键资源变更前备份state:terraform state pull > backup.tfstate。
A:(1) 批量导出集群信息为JSON,定时同步到CMDB;(2) 通过Webhook接收Atlas事件变更,实时更新CMDB;(3) 专业版提供REST API供CMDB主动查询。
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| LLM响应超时或无响应 | 网络延迟或模型负载过高 | 检查网络连接,重试请求;确认Agent平台LLM服务正常 |
| 输入内容格式不正确 | 用户输入不符合skill预期格式 | 检查输入是否符合skill使用说明中的格式要求,参考示例章节 |
| 执行结果与预期不符 | 指令描述不够明确或上下文不足 | 提供更详细的指令描述,补充必要的上下文信息 |
| 命令执行失败 | 运行环境不满足要求或权限不足 | 确认运行环境符合依赖说明中的要求;检查命令权限设置 |