运维手册

本节介绍 Univer 提供的后端服务运维资源,帮助你更好地了解 Univer 后端服务的运行情况、定位故障、管理容量。

Univer 提供了以下可观测支持:

  • Prometheus metrics 指标
  • 服务日志

Metrics

Univer 后端服务输出了 Prometheus 指标,如果你配置了 Univer 部署内置的可观测组件,你可以直接打开 grafana 查看,我们已经内置了一组 grafana 监控面板,包括:

  • 基础组件:rabbitmq、redis、rds
  • 协同服务 collaboration-server
  • 主服务 universer
  • 导入导出服务 exchange

你可从中实时查看 Univer 服务的性能指标、可用性、关键业务指标。如果你使用的是自己的监控系统,可以点此下载 Univer 准备好的 grafana 监控面板配置。

grafana 看板基础说明:

  1. 服务黄金 4 指标,重点观测 QPS、整体和各 API 的 SLI、错误码分布

服务黄金 4 指标

  1. 业务视角的基础组件性能和可用性
  • RDS

RDS 性能和可用性

  • Redis & MQ

Redis 和 MQ 性能和可用性

  1. 协同编辑业务指标

协同编辑业务指标

  1. 如果你开启了 USIP 集成,可以观测 Univer 服务侧视角的技术指标

USIP 技术指标

服务日志

如果你使用 docker compose 部署,可以通过 docker 命令直接查看对应容器的日志。Univer 后端服务的日志除了输出到标准输出,还会输出到持久化卷,但不会永久保存。当单个服务实例的日志总大小超过 1G 时会立即清除部分较早的日志,即使日志大小未超过 1G,最多也只会保留 30 天,超过 30 天的那部分日志文件将被清除。你可以直接打开对应的日志文件查看。universer 服务的日志保存在部署目录下的 /logs/universer/,导入导出服务的日志则保存在 /logs/worker-exchange/

不论你是用 docker compose 还是 k8s 部署,如果你配置部署了 Univer 内置的可观测组件,还可以使用 Loki 查看日志。查看路径:grafana Toggle Menu -> Explore,数据源选择 Loki,如下图所示:

Loki 日志搜索

当然,如果你已有自己的日志组件,可以配置采集 Univer 的日志。univer 后端服务的日志都会输出到标准输出。

常见错误排查

  1. 发现服务出现某些功能不可用

首先,打开监控面板,检查访问基础组件 RDS、MQ、Redis 是否正常,即查看 SLI 是否正常,如果 SLI 异常,一般就是基础组件故障或服务和基础组件的网络故障。

如果基础组件访问正常,再查看 universer 服务的 ingress 和 egress 的各接口 SLI 是否正常,如果有某些接口 SLI 异常,可查看此接口返回的错误码,根据错误码能了解一些原因。同时,通过 grafana Loki 尝试搜索该错误码的日志,搜索关键词:biz_code=the_biz_err_code。可通过这些信息进一步定位问题根因。


这个页面对您有帮助吗?