跳到主要内容

资产管理

OpsKat 将你的基础设施组织为树状结构的资产清单。资产代表单个服务器、数据库、消息队列、Kubernetes 集群等。分组提供层级化的组织方式。

资产类型

OpsKat 支持九种资产类型,每种类型都有自己的连接表单、控制台和策略模型。

SSH

用于终端访问、命令执行和文件传输的 SSH 服务器资产。

  • 主机 — 主机名或 IP 地址
  • 端口 — SSH 端口(默认:22)
  • 用户名 — 登录用户
  • 认证方式密码密钥
  • 跳板机 — 可选的跳板机链,用于通过堡垒机访问
  • 代理 — 可选的 SOCKS5/SOCKS4 代理

本地终端

本地终端资产在你自己的机器上打开一个 Shell —— 不进行远程连接。适合在管理服务器的同时运行本地工具。

  • Shell — 可选的 Shell 可执行文件。可从检测到的 Shell 中选择(应用会探测本机,例如 Unix 上的 /etc/shells,以及 Windows 上的 WSL 发行版 / PowerShell / 命令提示符)或手动填写路径。留空则使用操作系统默认 Shell。
  • 参数 — 可选的 Shell 启动参数(例如 --login
  • 工作目录 — 可选的起始目录(默认:~

本地终端没有主机、端口或凭据。

数据库(MySQL / PostgreSQL / SQL Server / SQLite)

用于通过查询编辑器或 AI 智能体执行 SQL 的数据库资产。

  • 驱动mysqlpostgresqlmssql(SQL Server)或 sqlite
  • 主机 / 端口 — 数据库服务器地址(默认端口:MySQL 3306、PostgreSQL 5432、SQL Server 1433)。SQLite 不使用。
  • 用户名 / 密码 — 数据库凭据(SQLite 不使用)
  • 数据库 — 默认数据库名
  • 只读 — 启用后限制为只读连接
  • SSH 资产 — 可选的 SSH 资产用于隧道连接(数据库通过 SSH 隧道经所选服务器访问)

SQLite 使用文件来源而非主机/端口:

  • 路径 — SQLite 数据库文件的路径
  • 来源local(本机上的文件)或 remote_ssh_vfs(远程服务器上的文件,通过 SSH 访问)。远程来源需要一个 SSH 资产。

Redis

用于命令执行和键浏览的 Redis 资产。

  • 主机 / 端口 — Redis 服务器地址(默认端口:6379)
  • 用户名 / 密码 — 可选的认证信息
  • 数据库 — DB 索引(默认:0)
  • TLS — 启用 TLS 连接(支持 CA / 客户端证书 / 客户端密钥、跳过校验和服务器名)
  • SSH 资产 — 可选的 SSH 资产用于隧道连接

MongoDB

用于通过 MongoDB 面板或 AI 智能体执行文档查询的 MongoDB 资产。

  • 主机 / 端口 — MongoDB 服务器地址(默认端口:27017)
  • 用户名 / 密码 — 可选的认证信息(认证源默认为 admin
  • 数据库 — 默认数据库
  • SSH 资产 — 可选的 SSH 资产用于隧道连接

Kafka

用于通过 Kafka 面板管理 Broker、Topic、消费者组、ACL 和 Schema 的 Kafka 集群资产。

  • Brokers — 一个或多个 host:port 引导 Broker(默认端口:9092)。也接受单个主机/端口。
  • Client ID — 可选的客户端标识
  • SASL 机制noneplainscram-sha-256scram-sha-512
  • 用户名 / 密码 — 启用 SASL 时必填
  • TLS — 启用 TLS(CA / 客户端证书 / 客户端密钥、跳过校验、服务器名)
  • SSH 资产 — 可选的 SSH 资产用于隧道连接

Kubernetes

用于通过 Kubernetes 面板浏览工作负载和实时查看日志,并通过 AI 智能体运行 kubectl 的 Kubernetes 集群资产。

  • Kubeconfig — Kubeconfig YAML 内容(必填,静态存储时加密)
  • 命名空间 — 可选的默认命名空间
  • 上下文(Context) — 可选的 kubeconfig 上下文
  • SSH 资产 — 可选的 SSH 资产,用于通过跳板机访问集群 API

etcd

用于通过 etcd 面板浏览和操作键/值的 etcd 集群资产。

  • Endpoints — 一个或多个 host:port 端点(默认端口:2379)
  • 用户名 / 密码 — 可选(启用 RBAC 时)
  • TLS — 启用 TLS(CA / 客户端证书 / 客户端密钥、跳过校验、服务器名)
  • 拨号 / 命令超时 — 可选的连接和命令超时(秒)
  • SSH 资产 — 可选的 SSH 资产用于隧道连接

串口

用于通过串口控制台连接设备的串口资产。

  • 端口路径 — 串口设备路径(例如 Windows 上的 COM3、Linux/macOS 上的 /dev/ttyUSB0)—— 必填
  • 波特率 — 例如 9600115200 —— 必填
  • 数据位5678(默认:8
  • 停止位11.52(默认:1
  • 校验位noneoddevenmarkspace(默认:none
  • 流控nonehardware

分组

分组通过父子关系将资产组织为树状层级结构。每个资产都属于某个分组(或根级别)。

  • 创建嵌套分组来区分环境(例如"生产环境 > Web 服务器")
  • 资产和分组可以通过拖拽重新排序
  • 分组可以有自己的策略配置,子资产会继承这些策略

添加、编辑和删除资产

添加

点击资产侧边栏中的 + 按钮,选择资产类型,填写必填字段后点击 保存

编辑

选择资产并点击 编辑(或右键 > 编辑)。修改任意字段后保存。

删除

右键点击资产并选择 删除。资产采用软删除方式(标记为已删除而非从数据库中移除),以保留审计历史。

凭据管理

所有凭据(密码、SSH 私钥、kubeconfig)在存储前都会使用 Argon2id 密钥派生和 AES-256-GCM 加密。加密主密钥通过 go-keyring 存储在操作系统密钥环中:

  • macOS — Keychain
  • Windows — Windows Credential Manager(Windows 凭据管理器)
  • Linux — Secret Service(GNOME Keyring / KDE Wallet)

opsctl CLI 可以通过 --master-key 参数或 OPSKAT_MASTER_KEY 环境变量提供加密密钥,适用于无图形界面的环境。

SSH 密钥管理

你可以通过两种方式导入 SSH 私钥:

  • 从文件导入 — 从磁盘选择密钥文件(例如 ~/.ssh/id_rsa
  • 从 PEM 导入 — 直接粘贴 PEM 编码的密钥内容

导入的密钥作为凭据存储,可以在多个资产之间复用。

导入 / 导出

OpsKat 支持从外部来源导入资产,也支持导出资产清单用于备份。

导入来源

来源说明
SSH Config解析你的 ~/.ssh/config 文件。可预览条目并选择要导入的项目。
TabbyTabby 配置文件导入。
WindTerm从 WindTerm 会话文件导入。
文件从 OpsKat 备份文件(JSON 格式)导入。

导入时可以先预览条目再确认,还可以选择是否与现有资产合并。

导出

将资产清单导出为本地 JSON 备份文件。导出内容包括资产、分组、凭据(加密)和策略配置。