前言

为了更直观和方便的观察系统的总体运行指标,同时也对系统的稳定性、性能以及可支撑业务流量极限等方面有一个总体的数据指标认知。

统计跟用户相关的数据指标,包括各服务(网站)每日访问量,连续一段时间内的访问趋势,访问地理位置分布等。

统计跟系统运行稳定性相关的数据指标,各服务的异常返回码及占比,服务的不可用时间及占比,服务的最大峰值及时间分布,日志异常和 sentry 告警异常。

统计跟程序性能相关的数据指标,每日慢日志数量趋势及慢日志模板数,慢日志按时间维度的数量分布趋势,各应用请求耗时前 20 接口。

修订历史

版本号 修订者 日期 内容变更
beta @wufeilong 2022/06/22 大体拟定软件架构设计、确定开发内容和使用组件

词汇表

项目背景

总体设计

系统可观测软件设计文档 - 图1

系统设计

数据库连接凭证、云服务上接口请求凭证、ES 客户端HTTP Authorization 凭证使用 vault 管理和获取以确保凭证安全。

使用 yaml 格式配置文件作为客户端启动时所需参数的配置依赖。

数据库连接池、HTTP 客户端连接池等。

逻辑设计

数据采集/获取

客户端请求 ElasticSearch 的接口得到各指标统计数据,经过处理/转化后写入MySQL对应的结构化表中。

客户端请求云服务上的开放接口得到各指标统计数据,经过处理/转化后写入MySQL对应的结构化表中。

数据处理

存储设计

存储结构比较简单,使用 MySQL 作为数据的存储数据库。

UI组件

利用 Grafana 的多数据源配置,使用 Grafana 面板和 SQL 查询结合,来制作统计面板,展示所需内容。

部署设计

风险评估