加载中...

HY APP MONITOR

服务 / 主机 / Nacos / MongoDB

服务总数 {{ summary.total }}
服务正常 {{ summary.ok }}
服务异常 {{ summary.down }}
主机数 {{ summary.hostTotal }}
Nacos 服务 {{ summary.nacosServiceTotal }}
Nacos 异常实例 {{ summary.nacosUnhealthyInstanceTotal }}
Mongo 状态 {{ payload.mongo && payload.mongo.ok ? 'OK' : 'ERR' }}
Mongo 集合 {{ summary.mongoCollectionTotal }}
最后刷新:{{ formattedUpdatedAt }} 主机指标正常:{{ summary.hostMetricOk }} / {{ summary.hostTotal }} Nacos 实例:{{ summary.nacosInstanceTotal }} Mongo 数据库:{{ summary.mongoDatabaseTotal }} 加载失败:{{ error }}

主机与服务

{{ group.host }}

{{ group.ip }} · {{ group.groupLabel }}

{{ group.serviceSummary.total }} 项服务 {{ group.downCount > 0 ? `${group.downCount} 异常` : '服务正常' }} {{ group.metrics && group.metrics.ok ? '主机指标正常' : '主机指标异常' }}
CPU {{ formatPercent(group.metrics.cpuPercent) }}
内存 {{ formatPercent(group.metrics.memoryPercent) }} {{ formatGb(group.metrics.memoryUsedGb, group.metrics.memoryTotalGb) }}
磁盘 {{ formatPercent(group.metrics.diskPercent) }} {{ formatGb(group.metrics.diskUsedGb, group.metrics.diskTotalGb) }}
进程数 {{ group.metrics.processCount ?? '-' }} {{ group.metrics.hostname || group.instanceId }}

{{ group.metrics.error }}

{{ item.service }}
{{ item.kind }}
{{ item.ok ? 'UP' : 'DOWN' }}
HTTP {{ item.statusCode || '-' }}
耗时 {{ item.latencyMs }}ms
端口 {{ item.port }}
{{ item.url }}
{{ item.detail || '无返回内容' }}

Nacos 注册

Nacos

{{ payload.nacos.baseUrl }} · {{ payload.nacos.namespaceName }} · {{ payload.nacos.namespaceId }}

{{ payload.nacos && payload.nacos.ok ? '连接正常' : '连接异常' }}
命名空间 {{ payload.nacos.summary.namespaceTotal || 0 }}
服务数 {{ payload.nacos.summary.serviceTotal || 0 }}
实例数 {{ payload.nacos.summary.instanceTotal || 0 }}
异常实例 {{ payload.nacos.summary.unhealthyInstanceTotal || 0 }}

{{ payload.nacos.error }}

命名空间 ID 配置数 类型
{{ item.name }} {{ item.namespaceId }} {{ item.configCount }} {{ item.type }}

{{ service.serviceName }}

{{ service.namespaceName || 'public' }} · {{ service.groupName }}

{{ service.instanceTotal }} / {{ service.healthyTotal }}
IP 端口 集群 健康 启用 权重
{{ instance.ip }} {{ instance.port }} {{ instance.clusterName }} {{ instance.healthy ? 'Y' : 'N' }} {{ instance.enabled ? 'Y' : 'N' }} {{ instance.weight }}

Nacos 配置

Nacos Config

读取当前命名空间下的配置并直接编辑保存

{{ nacosConfig.error || nacosConfig.detailError ? '存在错误' : '可操作' }}

{{ nacosConfig.error }}

{{ nacosConfig.detailError }}

请选择左侧配置项

Golang 配置

Golang Runtime Env

读取 app 节点当前运行中的 service.env,只暴露 chatapp3-golang 实际消费的环境变量

{{ goConfig.error ? '存在错误' : goConfig.diffKeys.length > 0 ? '双机有差异' : '已同步' }}
{{ host.host }} · {{ host.path }}

{{ goConfig.error }}

当前 app 节点存在差异 key:{{ goConfig.diffKeys.join(', ') }}

{{ goConfig.saveMessage }} {{ goConfig.validationMessage }} 有未保存修改 内容已同步

服务更新

Service Update

本机构建选中的 Java / Golang 服务,推到 Harbor,更新完整 compose,并只重建你选中的服务

{{ updateStatusLabel() }}
Harbor:{{ updateOps.builder.harborRegistry }} / {{ updateOps.builder.harborProject }} Java 仓:{{ updateOps.builder.javaRepoRoot }} Go 仓:{{ updateOps.builder.golangRepoRoot }} 平台:{{ updateOps.defaults.dockerPlatform }}

{{ updateOps.error }}

{{ updateOps.message }}

任务:{{ updateOps.operationId }} 状态:{{ updateStatusLabel() }} 阶段:{{ updateOps.stage || '-' }} 开始:{{ formatDateTime(updateOps.startedAt) }} 结束:{{ formatDateTime(updateOps.finishedAt) }}

Update Log

按阶段展示构建、推 Harbor、同步 compose、预拉镜像和滚动重建的实时输出,可下载完整日志

{{ updateLogText || '等待更新日志...' }}
仓库类型 Git Ref Commit Image Tag 服务
{{ build.kind }} {{ build.gitRef }} {{ build.commit }} {{ build.imageTag }} {{ (build.services || []).join(', ') }}
主机 服务 Compose 预拉镜像
{{ item.host }} {{ (item.services || []).join(', ') }} {{ item.compose && item.compose.changed ? '已更新' : '未变化' }} {{ item.prepull ? item.prepull.status : '-' }}
服务 主机 镜像 状态 HTTP Nacos 耗时
{{ step.service }} {{ step.host }} {{ step.image }} {{ step.status }} {{ step.http.statusCode }} / {{ step.http.latencyMs }}ms - {{ step.nacos.source || 'ok' }} - {{ step.durationSeconds || '-' }}s

滚动重启

Rolling Restart

选择要发布生效的 Java / Golang 服务,按宿主机顺序逐台重启并等待健康恢复

{{ restartOps.error ? '存在错误' : restartOps.running ? '执行中' : '可操作' }}

{{ restartOps.error }}

{{ restartOps.message }}

服务 主机 类型 状态 HTTP Nacos 耗时
{{ step.service }} {{ step.host }} {{ step.kind }} {{ step.status }} {{ step.http.statusCode }} / {{ step.http.latencyMs }}ms - {{ step.nacos.source || 'ok' }} - {{ step.durationSeconds || '-' }}s

MongoDB 指标

MongoDB

{{ payload.mongo.info.host || '-' }} · {{ payload.mongo.info.version || '-' }} · {{ payload.mongo.info.process || '-' }}

{{ payload.mongo && payload.mongo.ok ? '连接正常' : '连接异常' }}
运行时长 {{ formatDuration(payload.mongo.info.uptimeSeconds) }}
当前连接 {{ formatNumber(payload.mongo.connections.current) }}
可用连接 {{ formatNumber(payload.mongo.connections.available) }}
数据库 {{ formatNumber(payload.mongo.summary.databaseTotal) }}
集合 {{ formatNumber(payload.mongo.summary.collectionTotal) }}
对象数 {{ formatNumber(payload.mongo.summary.objectTotal) }}
数据量 {{ formatMb(payload.mongo.summary.dataSizeMb) }}
存储量 {{ formatMb(payload.mongo.summary.storageSizeMb) }}

{{ payload.mongo.error }}

Resident {{ formatMb(payload.mongo.memory.residentMb) }}
Virtual {{ formatMb(payload.mongo.memory.virtualMb) }}
Mapped {{ formatMb(payload.mongo.memory.mappedMb) }}
Requests {{ formatNumber(payload.mongo.network.numRequests) }}
Bytes In {{ formatBytes(payload.mongo.network.bytesIn) }}
Bytes Out {{ formatBytes(payload.mongo.network.bytesOut) }}
WT Cache {{ formatBytes(payload.mongo.wiredTigerCache.bytesCurrentlyInCache) }}
WT Dirty {{ formatBytes(payload.mongo.wiredTigerCache.trackedDirtyBytesInCache) }}
操作 次数 操作 次数
insert {{ formatNumber(payload.mongo.opcounters.insert) }} query {{ formatNumber(payload.mongo.opcounters.query) }}
update {{ formatNumber(payload.mongo.opcounters.update) }} delete {{ formatNumber(payload.mongo.opcounters.delete) }}
getmore {{ formatNumber(payload.mongo.opcounters.getmore) }} command {{ formatNumber(payload.mongo.opcounters.command) }}
成员 状态 健康 运行时长 复制延迟 最后 Optime
{{ member.name }} {{ member.stateStr }} {{ member.health }} {{ formatDuration(member.uptime) }} {{ member.lagSeconds == null ? '-' : `${member.lagSeconds}s` }} {{ formatDateTime(member.optimeDate) }}
数据库 集合 对象 数据量 存储量 索引数 索引量
{{ db.name }} {{ formatNumber(db.collections) }} {{ formatNumber(db.objects) }} {{ formatMb(db.dataSizeMb) }} {{ formatMb(db.storageSizeMb) }} {{ formatNumber(db.indexCount) }} {{ formatMb(db.indexSizeMb) }}