# SeeyonOPT 运维工作台使用文档
# 1. 功能概览
SeeyonOPT 运维工作台用于集中管理中间件、数据库和对象存储的日常运维操作。
| 模块 | 主要功能 | 使用角色 |
|---|---|---|
| 常用工具 | 维护并打开常用运维平台快捷入口 | 全部用户查看,管理员维护 |
| 运行概览 | 查看连接数量、中间件类型及启用情况 | 全部用户 |
| 连接管理 | 管理 Redis、Kafka、ES、ClickHouse、数据库、对象存储、HTTP、TCP 连接;测试连接并授权用户 | 全部用户查看已授权连接,管理员维护 |
| 运维工作台 | 对 Redis、Kafka、ES、ClickHouse、对象存储、HTTP、TCP 执行诊断或受控操作 | 现场支持、管理员 |
| 数据库 SQL | MySQL、达梦、金仓的 SQL 查询、结果导出及受控写操作 | 现场支持、管理员 |
| 数据处理 | 对象存储迁移/备份;数据库迁移、逻辑备份和恢复 | 管理员 |
| NFS 日志检索 | 单选环境查询、预览和下载普通、Gzip、ZIP 日志 | 现场支持、管理员;仅管理员配置环境 |
| 模型配置 | 配置 AI 模型服务,并在工作台中辅助分析执行结果 | 管理员配置,登录用户使用 |
| 用户管理 | 管理用户、角色、状态和密码 | 管理员 |
| 操作审计 | 查询中间件操作记录及数据库 SQL 审计记录 | 审计员、管理员 |
# 2. 安装与启动
# 2.1 选择并解压发布包
确认服务器 CPU 架构:
uname -m
| 服务器架构 | 发布包 |
|---|---|
x86_64 | middleware-console-linux-amd64-<版本>.tar.gz |
aarch64 | middleware-console-linux-arm64-<版本>.tar.gz |
以 AMD64 为例:
mkdir -p /opt/middleware-console
tar -xzf middleware-console-linux-amd64-<版本>.tar.gz \
-C /opt/middleware-console
cd /opt/middleware-console/middleware-console-linux-amd64-<版本>
cp configs/application.example.yml configs/application.yml
# 2.2 配置运行目录
修改 configs/application.yml:
# HTTP 服务监听地址。默认仅允许本机访问;如需对外提供服务,请配置为实际网卡地址并配合网络访问控制。
host: 127.0.0.1
# HTTP 服务监听端口,取值范围为 1-65535。
port: 8080
# 控制台对外访问路径。默认根路径 /;如需使用nginx等代理服务代理,需设置非 / 的子路径,默认 / 。
base_path: /
# 本地数据目录,用于保存 SQLite 数据库、密钥材料及运行数据。生产环境应使用受限权限的持久化目录。
data_dir: ./data
# 登录 JWT 的有效期。活跃会话会按服务端规则滑动续期。
token_ttl: 30m
# 对外连接和请求的最长处理时间。
request_timeout: 30s
# 单次数据库查询允许返回的最大预览行数,超出部分请使用导出功能获取。
max_rows: 1000
# 单次接口响应的最大字节数,防止大响应占用过多服务端与浏览器内存。
max_response_bytes: 4194304
# 普通 HTTP 请求体的最大字节数。
max_request_bytes: 1048576
# 对象存储上传文件的最大字节数。
max_upload_bytes: 20971520
# 本地备份文件的存放根目录。建议与 data_dir 位于受控的持久化磁盘中,对象存储、数据库备份会存放在此。
backup_root: ./data/backups
# NFS 日志设置:必须配置受信任的挂载根目录白名单;管理员仅可添加这些目录及其子目录作为环境日志根目录。
# 服务运行账号应仅拥有此处挂载目录及子目录的只读权限。
# 防止进行 rootfs 逃逸。
nfs_log_allowed_roots:
- /data/nfsdb
# 可选的首次初始化日志目录;必须位于 nfs_log_allowed_roots 内。留空时由管理员通过页面配置环境。
# nfs_log_base_dir: ""
data_dir保存程序数据和密钥,backup_root保存数据库备份文件;请限制无关账号访问,并在升级时保留这两个目录。
# 2.3 前台启动与验证
cd /opt/middleware-console/middleware-console-linux-amd64-<版本>
./middleware-console --config ./configs/application.yml
浏览器访问 http://<服务器地址>:8080,进入入页面管理员账号admin/admin123,请自行修改密码。
curl http://127.0.0.1:8080/api/health
正常返回:
{"status":"ok","version":"<版本>"}
# 2.4 使用 systemd 守护运行
创建 /etc/systemd/system/middleware-console.service:
[Unit]
Description=SeeyonOPT Middleware Console
After=network-online.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/middleware-console/middleware-console-linux-amd64-<版本>
ExecStart=/opt/middleware-console/middleware-console-linux-amd64-<版本>/middleware-console --config /opt/middleware-console/middleware-console-linux-amd64-<版本>/configs/application.yml
Restart=on-failure
RestartSec=5
# 使用 PATH 自动探测数据库工具时,确保对应目录已加入 PATH。
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
[Install]
WantedBy=multi-user.target
加载并启动:
systemctl daemon-reload
systemctl enable --now middleware-console
systemctl status middleware-console --no-pager
推荐创建专用运行账号后替换
User=root,并授予该账号data_dir、backup_root和数据库工具的访问权限。
# 3. 页面使用说明
# 3.1 登录、账户和角色
首次启动时创建管理员账号,后续使用账号密码登录。登录后可修改自己的密码、退出登录。
系统角色包括:访客、现场支持、审计员、管理员。连接是否可见还受连接授权控制;管理员默认拥有全部连接权限。
- 访客:查看已授权连接、概览及常用工具;
- 现场支持:执行中间件和数据库的只读诊断操作;
- 审计员:查看操作审计;
- 管理员:拥有连接、数据处理、AI、用户和系统配置等管理权限。
# 3.2 常用工具与运行概览
- 在 常用工具 中按分类查看并打开运维平台快捷地址;管理员可维护分类和书签。
- 在 运行概览 中查看连接总数、启用状态和各类中间件连接分布,用于快速确认当前资产情况。
# 3.3 连接管理
进入 连接管理 后,可按名称、地址或类型筛选已授权连接,并执行测试连接。
管理员可新建、编辑、启停、删除连接,设置标签和授权用户。支持的连接类型包括:
- Redis;
- Kafka;
- Elasticsearch;
- ClickHouse;
- MySQL、达梦、金仓;
- S3/MinIO/阿里云 OSS/华为云 OBS 等对象存储;
- HTTP/API;
- TCP。
连接密码、Access Key 等敏感信息加密保存;编辑已有连接时敏感字段留空表示保持原值。
# 3.4 运维工作台
进入 运维工作台,选择已授权且启用的中间件连接,测试或执行运维操作。执行结果支持表格、JSON、原始文本展示和复制;可将结果发送给 AI 进行辅助分析。
| 类型 | 可执行的主要操作 |
|---|---|
| Redis | 执行命令;查看 INFO、集群信息、慢日志、客户端、键扫描与内存信息 |
| Kafka | 查看 Topic;消费消息;查看 Offset 范围和消息堆积 |
| Elasticsearch | 集群健康、节点、索引、分片、映射、模板、搜索等 HTTP 请求 |
| ClickHouse | 执行 SQL;查看版本、库表、表结构、活动查询、大表和 Merge 状态 |
| 对象存储 | 查看 Bucket 和对象;目录导航;文本/JSON/图片/PDF 预览;下载;管理员上传 |
| HTTP/API | 发起 GET、POST、PUT、DELETE、HEAD 请求,自定义 Headers 和 Body |
| TCP | 测试目标地址的 TCP 建连及耗时 |
写操作由后端再次限制,仅管理员可以执行。Kafka 当前仅提供只读排查能力,不支持生产消息、提交 Offset 或修改 Topic 配置。
# 3.5 数据库 SQL
在 数据库 SQL 中选择 MySQL、达梦或金仓连接后,可执行 SQL、查看结果并导出 CSV 或 TXT。
- 支持快捷 SQL:
SELECT 1、当前时间、数据库版本; - 可以只执行编辑器中选中的 SQL 片段;
- 支持
SELECT、INSERT、UPDATE、DELETE; - 禁止多语句、DDL、DCL;
UPDATE和DELETE必须带WHERE; - 写操作仅管理员可执行;
- 每次执行均会记录 SQL 审计,变更操作可保留恢复 SQL。
# 3.6 NFS 日志检索
NFS 日志检索用于在服务器已挂载的 NFS 目录中查询和下载应用日志。服务不会自动挂载 NFS,也不会允许客户端通过请求参数指定任意服务器路径。
# 环境配置
- 确认 NFS 已挂载,例如挂载点为
/mnt/nfs。 - 在
configs/application.yml中配置白名单:
nfs_log_allowed_roots:
- /mnt/nfs
# 推荐留空,由管理员登录页面后添加多个环境
nfs_log_base_dir: ""
- 使用
admin账号进入 NFS 日志检索 页面,点击页面内的 NFS 设置。 - 为每个环境填写自定义名称和日志根目录,例如:
| 环境 | 日志根目录 |
|---|---|
| 开发环境 | /mnt/nfs/dev/nfsdb |
| 测试环境 | /mnt/nfs/test/nfsdb |
| 生产环境 | /mnt/nfs/prod/nfsdb |
环境根目录下的一级目录必须是应用名,应用目录下可以继续包含 Pod、日期等子目录,例如:
/mnt/nfs/dev/nfsdb/app-common-poc/app-comon-*.log
/mnt/nfs/dev/nfsdb/app-common-poc/app-common-<podName>/app-comon-*.log
查询时只能选择一个环境,不支持跨环境聚合。admin 和 support 可以查询、预览和下载,只有 admin 可以查看或修改 NFS 设置。
# 日志和查询规则
- 支持普通文本日志、
.gz和.zip归档;ZIP 可以包含多个日志条目。 - 支持关键词、文件名 Glob、日志行时间范围和排除 Glob;默认排除
access_log*.log,显式传入空排除条件可以取消默认规则。 - 未指定时间时查询最近 7 天;开始时间和结束时间可以是任意历史日期,但单次查询或下载跨度最多 7 天。
- 预览默认最多返回 5,000 条记录,默认最多扫描 200 个候选文件和 100 MiB 内容;设置页可调整资源上限。
- ZIP 归档最多读取 1,000 个非目录条目,单条解压后最多 256 MiB,总解压后最多 1 GiB。
- 白名单、环境目录、应用目录和日志文件必须是已存在的真实目录或文件,不能使用符号链接;服务发现到不安全路径时会拒绝或跳过读取。
# 权限与安全要求
visitor、auditor无权访问 NFS 日志检索接口。support可以访问已配置环境中的日志,但不能查看或修改服务器绝对路径配置。- 运行账号对 NFS 挂载点及日志子目录只授予只读权限,不要将
/、用户目录、应用数据目录等非 NFS 目录加入白名单。 - NFS 挂载异常、权限不足或日志归档损坏时,请先检查服务账号权限和系统挂载状态,再查看服务日志。
# 3.7 数据处理(对象存储与数据库)
数据处理 仅管理员可使用,包含对象存储和数据库两类后台任务。任务可查看状态、进度、详情和错误信息;执行中任务可取消。
# 对象存储
- 跨端迁移:选择源/目标对象存储连接、Bucket 和 Prefix 后异步迁移对象;
- 本地备份:将指定 Bucket/Prefix 的对象备份至服务端安全目录;
- 可查看对象数、失败数、已处理字节数等任务信息。
# 数据库
- 同类型迁移:在同一数据库类型的源/目标连接间迁移数据库或 Schema;支持多组映射,以及目标不存在时自动创建;
- 逻辑备份:调用数据库官方工具生成 ZIP 归档,任务完成后可下载;
- 备份恢复:上传本系统生成的 ZIP,选择目标连接和目标数据库/Schema 后执行恢复;
- 备份工具路径:配置或重新探测数据库官方工具,保存后立即生效。
数据库工具对应关系:
| 数据库 | 备份工具 | 恢复工具 |
|---|---|---|
| MySQL / MariaDB | mysqldump | mysql |
| 达梦 | dexp | dimp |
| 金仓 | sys_dump | sys_restore |
工具必须安装在运行本程序的服务器节点。路径未配置时,程序会从服务进程的 PATH 自动查找;也可在页面填写绝对路径。
备份 ZIP 保存在 <backup_root>/database-backup/;恢复上传的 ZIP 仅在执行期间临时保存,任务完成、失败或取消后自动删除。恢复失败会中断任务,但已成功执行的一部分 DDL/DML 不会自动回滚,建议恢复到新建的空数据库或 Schema。
# 3.8 模型配置与 AI 辅助
管理员在 模型配置 中配置模型服务商、Base URL、模型名、温度和 API Key。支持 OpenAI、OpenAI 兼容接口、DeepSeek、通义千问、智谱 AI 及自定义服务商。
保存配置后,登录用户可在模型配置页对话,也可以在运维工作台中对当前连接、执行参数、结果和错误进行辅助分析。AI 回复支持 Markdown、代码块和复制。
# 3.9 用户管理与操作审计
用户管理 仅管理员可使用,可新建用户、修改角色和状态、重置密码、停用或删除用户。系统至少保留一个启用的管理员;存在历史审计记录的用户应停用而非删除。
操作审计 供审计员和管理员使用,支持按用户、操作类型和时间范围筛选:
- 中间件审计:记录连接、操作、执行结果、耗时、客户端 IP 和参数摘要;
- 数据库 SQL 审计:记录数据库信息、SQL 类型、影响行数、原始 SQL 和恢复 SQL;可在详情中复制 SQL 内容。
# 4. Nginx 反向代理
生产环境建议程序监听 127.0.0.1:8080,由 Nginx 提供 HTTPS 与外部访问。
# 4.1 根路径部署
server {
listen 443 ssl http2;
server_name console.example.com;
ssl_certificate /path/to/fullchain.pem;
ssl_certificate_key /path/to/privkey.pem;
# 不小于 application.yml 中的 max_upload_bytes。
client_max_body_size 200m;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# 4.2 子路径部署
将 configs/application.yml 中的 base_path 设置为 /tool/ 后重启服务,/tool/为示例,具体可根据实际情况自行调整:
base_path: /tool/
Nginx 应将原始 /tool/ 路径完整转发给应用:
location = /tool {
return 301 /tool/;
}
location /tool/ {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
proxy_pass地址末尾不要添加/,否则 Nginx 会去除/tool/前缀,与服务配置不一致。服务会在/tool/下同时提供页面、静态资源和/tool/api/*接口,并将/tool重定向至/tool/。
检查并重载 Nginx:
nginx -t && systemctl reload nginx
完成后通过nginx访问。管理控制台应通过内网、VPN、访问控制名单或统一认证保护,不要直接暴露到公网。
# 5. 常用运维命令
# 服务状态与日志
systemctl status middleware-console --no-pager
journalctl -u middleware-console -n 200 --no-pager
journalctl -u middleware-console -f
# 重启服务与本机健康检查
systemctl restart middleware-console
curl http://127.0.0.1:8080/api/health
# 检查当前账号能否发现数据库工具
command -v mysqldump
command -v mysql
command -v dexp
command -v dimp
command -v sys_dump
command -v sys_restore
# 6. 使用截图

# 7. 下载链接⛓️
通过网盘分享的文件:middleware-console 链接: https://pan.baidu.com/s/1DDmZ4-esIUc9F7uilWTiaA 提取码: rmnq
快速跳转
← License注入器 CDN配置 →