物理/云服务器列表指南
引导您如何查看并过滤 GIIP 平台管理的各种服务器(包括物理 IDC 服务器及公有云虚拟机)库存。
📋 概述
服务器列表界面提供了所有计算资产的统一视图。您可以在此实时确认各服务器的运行状态,快速搜索所需资产,并跳转至详情页面。
🔍 核心功能与页面构成
1. 集成过滤器与搜索
- 项目过滤器: 仅筛选特定项目名下的服务器。
- 状态过滤器: 支持按
Running(运行中)、Stopped(已停止)、Warning(警告)、Unknown(未知) 状态进行过滤。 - 搜索栏: 可通过主机名 (Hostname) 或 IP 地址立即搜索。
2. 代理状态 (Agent Icon)
通过服务器列表中的图标颜色,直观掌握代理的连接情况。
- 🟢 绿色: 连接正常,正实时收集指标。
- 🟡 黄色: 存在延迟(网络不稳定)。
- 🔴 红色: 连接断开(需重启代理)。
3. 资产属性摘要
您可以直接在每行记录中查看到操作系统版本、CPU 核心数、运行时长 (Uptime) 等核心规格。
🛠️ 操作栏 (Action Bar)
- 批量执行: 勾选多个服务器后,点击上方的 [执行指令] 按钮,可同步进行包更新或重启服务。
- 导出 Excel: 将当前过滤后的服务器列表导出为 CSV 或 Excel 文件。
💡 技巧
- 利用标签: 为服务器分配
Web、DB、Staging等标签,可以帮助您在列表中更快速地按用途分类。
API 参考
有关此功能的 API 详细规范,请参阅单独的指南。
故障排除
| 症状 | 原因 | 解决 |
|---|---|---|
| 服务器图标显示为 🔴 红色 | 代理连接断开 | 在该服务器上重启代理 |
| 服务器图标显示为 🟡 黄色 | 网络不稳定导致的延迟 | 检查网络状态并稍后重新确认 |
| 列表中找不到所需的服务器 | 已应用项目/状态过滤器或搜索词 | 重置过滤器或通过主机名/IP 地址搜索 |
| 批量指令未应用到部分服务器 | 目标服务器的代理处于断开状态 | 仅勾选代理图标为 🟢 绿色的服务器后重新执行 |
🤖 将 AI Agent 注册为 lsvr 的方法
本节提供一个完整可执行的流程,让 AI 代理仅凭本文档就能把自己注册进这个服务器列表(lsvr)。请直接复制并执行以下命令(无需额外判断或调研)。
前提条件
- 必须拥有目标 csn(项目)的 SK(Secret Key)。没有 SK 则无法完成注册 —— 请先在
/svclist(登录后的项目设置页面)签发/确认 SK。SK 的签发流程本身不在本指南范围内,详情请参阅代理注册与队列 API 规范。
执行 —— curl
curl -X POST "https://giipfaw.azurewebsites.net/api/giipApiSk2" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "text=AgentAutoRegister hostname jsondata" \
--data-urlencode "jsondata={\"hostname\":\"<服务器唯一主机名>\",\"os\":\"<OS 描述>\",\"agent_version\":\"<版本>\"}" \
--data-urlencode "token=<SK>"
执行 —— PowerShell
$jsonData = '{"hostname": "<服务器唯一主机名>", "os": "<OS 描述>", "agent_version": "<版本>"}'
$form = New-Object System.Collections.Specialized.NameValueCollection
$form.Add('text', 'AgentAutoRegister hostname jsondata')
$form.Add('token', '<SK>')
$form.Add('jsondata', $jsonData)
$wc = New-Object System.Net.WebClient
$wc.Encoding = [System.Text.Encoding]::UTF8
$resp = $wc.UploadValues('https://giipfaw.azurewebsites.net/api/giipApiSk2', 'POST', $form)
[System.Text.Encoding]::UTF8.GetString($resp)
请务必将 <服务器唯一主机名>、<OS 描述>、<版本>、<SK> 替换为实际值。hostname 为必填项,且在该 csn 内必须唯一。
解读响应
HTTP 状态码始终为 200,因此必须依据响应 JSON 中的 data[0].RstVal 判断是否成功。
RstVal | 含义 | 响应示例 |
|---|---|---|
200(新建) | 成功注册为新服务器,action: "new" | {"data":[{"Proc_MSG":"200|Server auto-registered successfully","lssn":71290,"action":"new","RstVal":200,"RstMsg":"Server auto-registered successfully"}]} |
200(已存在) | hostname 已存在 → 按心跳更新处理,action: "update" | {"data":[{"Proc_MSG":"200|Server updated successfully (heartbeat)","lssn":71290,"action":"update","RstVal":200,"RstMsg":"Server updated successfully (heartbeat)"}]} |
400 | 缺少 hostname | {"data":[{"Proc_MSG":"400|Hostname required","RstVal":400,"RstMsg":"Hostname required"}]} |
401 | SK 无效 | {"data":[{"Proc_MSG":"401|Unauthorized - Invalid SK","RstVal":401,"RstMsg":"Unauthorized - Invalid Secret Key"}]} |
注册成功后,响应中的 lssn 就是该服务器的唯一编号 —— 之后可用该 lssn 调用其他 giip API(例如队列轮询)。
幂等性(可安全重复调用)
重复调用相同请求(相同 hostname、相同 SK)是安全的 —— 首次调用会新建记录(INSERT),此后每次调用都会作为心跳处理(UPDATE,刷新最后检查时间)。因此该调用也可直接复用于定期健康检查/心跳用途。
可选字段(用于丰富库存展示)
可在 jsondata 中追加以下字段(均为可选,缺省也能注册成功):
| 字段 | 类型 | 说明 |
|---|---|---|
os | string | OS 描述 |
kernel | string | 内核版本 |
cpu | string | CPU 型号 |
cpu_cores | number | CPU 核心数 |
memory_gb | number | 内存(GB) |
disk_gb | number | 磁盘(GB) |
agent_version | string | 代理/客户端版本字符串 |
ipv4_global | string | 公网 IPv4 |
ipv4_local | string | 内网 IPv4 |
network | array | [{"name":"eth0","ipv4":"...","mac":"..."}] |
software | array | [{"name":"nginx","version":"1.18.0","vendor":"Ubuntu","type":"DEB"}] |
services | array | [{"name":"nginx","status":"running","start_type":"enabled","port":80}] |
按代理类型的显示与命名规则(自助注册约定)
⚠️ 概念变更(2026-09-12):LSvr(lssn)指的是"一个代理(角色)",而不是"一台PC"。 同一台物理PC上如果运行了多个代理,就会相应产生多个不同的 lssn —— 例如同一台PC(
Lowy-DP01)上,Windows 监控代理(giipAgentWin,lssn=71197)与 gissue 自动处理调度器(hostnameLowy-DP01-gissue-hourly-scheduler,lssn=71291)分别以两个互不相同的 LSvr 注册。切勿假设存在单一的"这台PC的 lssn",务必始终明确"这是哪个代理/角色的 lssn"。
lsvrlist 现在不仅显示物理 giipAgent,还会同时展示多种代理类型。当 AI 仅凭本文档进行自助注册时,遵循以下约定即可仅通过 hostname 与 agent_version 就分辨出“哪台机器的 · 哪个工具(模型/版本)· 以何种运行模式”在运行。
代理类型(3 种)
| 类型 | 适用对象 | agent_version 示例 |
|---|---|---|
giipAgentWin | Windows 物理机/虚拟机代理 | giipAgentWin 5.3.1 |
giipAgentLinux | Linux 物理机/虚拟机代理 | giipAgentLinux 2.4.0 |
AI | AI 编码/作业代理(Claude Code、GPT 等) | claude-opus-4-8(模型 ID) |
hostname 命名规则 — <机器>-<工具slug>[-<运行模式>]
- 机器: 实际的主机/PC 名(例:
Lowy-DP01) - 工具slug: 用于标识代理的小写连字符 slug(例:
claude-code、giipagentwin、gissue-hourly-scheduler) - 运行模式(可选):
console(常驻控制台会话)·scheduler(cron/调度器驱动)·service(OS 服务/守护进程) - 实测示例:
Lowy-DP01-claude-code(以控制台运行的 AI)、Lowy-DP01-gissue-hourly-scheduler(以调度器运行的 AI)
建议按类型标注“模型 - 版本 - 运行模式”
| 项目 | giipAgentWin / giipAgentLinux | AI |
|---|---|---|
agent_version | "<类型> <版本>"(例: giipAgentWin 5.3.1) | 模型 ID(例: claude-opus-4-8、gpt-5) |
os | 实际 OS(例: Windows Server 2022、Ubuntu 22.04) | 运行 OS + 工具(例: Windows 10 / Claude Code) |
| 运行模式 | hostname 后缀(例: -service) | hostname 后缀(例: -console、-scheduler) |
按此约定注册后,即可仅通过 hostname 与 agent_version 区分每一行的类型、模型/版本与运行模式 —— 例: AI · claude-opus-4-8 · scheduler、giipAgentWin · 5.3.1 · service。
AI 自助注册示例(以调度器运行的 Claude Code)
{"hostname":"Lowy-DP01-claude-code-scheduler","os":"Windows 10 / Claude Code","agent_version":"claude-opus-4-8"}
注册完成后,可在🏢 服务器列表页面中搜索刚注册的 hostname,它将作为新 lsvr 出现在列表中。
关于注册 → 队列轮询 → 结果上报的完整流程,请参阅代理注册与队列 API 规范。
版本: 1.1
最后更新: 2026-09-10
源文件: giipv3/public/help/lsvrlist.zh-CN.md