可观测性-Event-埋点数据模型
创始人
2024-02-07 09:48:34
0

埋点数据模型

埋点的目标是RED(Request,Error,Duration)

初期

当上线初期整体数据量不大的时候,我们可以统统以事件(event)来埋点。

例如埋点数据模型如下

measurement: laker_order #metrics name
fileds:value: 398 # 泛化的value,可以是duration unit: ms,也可以是 filesize unit:byte,订单金额等。count: 1 # default 1.browser_version: 107.0.0.0 # autofill 浏览器版本os_version: # autofill 操作系统版本userid:  # autofill 用户idtracking_id: # TrackingIDbiz_id: # 业务id, 订单id/账单id/消息id等  description: # description
tag:error_type: DECRYPTION_FAILED # DECRYPTION_FAILED/DECRYPTION_UNAUTHORIZED/DECRYPTION_GET_KEY_FAILED  status: 1 #用这个来代替 success感觉更好呢 0成功 1失败 2:xx 3:xx(但是要控制好 别扩散)-- success: true # true/false 成功失败org_id: # autofill 组织idos: Win #autofill 操作系统browser: chrome # autofill 浏览器az: # autofill 可用区 A/B/C region: # autofill 地域 上海/杭州

注意:tag中的值一定是可枚举的,且其基数不能太大,基数计算如下:

例如:

  • error_type: 值有3
  • success:2
  • org_id: 20
  • os:3
  • browser:6
  • az:1
  • region:1

则基数为:3*2*20*3*6*1*1=2160

基数一般建议小于1w,当然这取决于你服务器的配置有多高。

这里注意下,内存基数和influxdb端基数是不一样的。例如,还是上面的计算方式。

  • error_type: 内存:3 ,全局:3
  • success:内存:2 ,全局:2
  • org_id: 内存:20 ,全局:20
  • os:内存:20 ,全局:20
  • browser:内存:6,全局:6
  • az:内存:1,全局:6(因为一个实例,在内存上只有一个az,但是整体是有6个的)
  • region:内存:1,全局:2

则实例内存基数为:3*2*20*3*6*1*1=2160

小心应用实例内存溢出。

则influxDB基数为:3*2*20*3*6*6*2=25920

小心influxdb内存溢出。

优化

当系统用户数据量上来后,我们需要优化了,因为上面每个event,都是一条数据,会导致数据量太大了,我们需要用聚合指标来收集数据。以http request举例子。

例如有 10000个事件

  • uri: /api/v1/users/{id} status : 200 ,有3000条

  • uri: /api/v1/users/{id} status : 500,有3000条

  • uri: /api/v1/orgs/{id} status : 200 ,有3000条

  • uri: /api/v1/orgs/{id} status : 500,有1000条

事件指标数:10000条。

聚合指标数:2 * 2 = 4条。

优点

  • 把指标数量从事件数量级别下降到tag value的基数级别。

缺点

  • 相关字段变少。

    可以配合 异常事件或者日志处理。可观测性-Event-指标事件采样策略总结(基于条件的采样)

  • 基数爆炸会导致服务内存压力。

埋点模型如下

measurement: laker_order
# metric_type: timer/counter
fileds:mean: 100    # 步长内事件值平均值,平均响应时间count: 1000  # 步长内事件数sum: 10000   # 步长内事件值总和,响应时间的总和upper: 250   # 步长内事件最大值,最大响应时间
tag:error_type: DECRYPTION_FAILED # DECRYPTION_FAILED/DECRYPTION_UNAUTHORIZED/DECRYPTION_GET_KEY_FAILED  success: true # true/falseorg_id: # autofillos: Win #autofillbrowser: chrome # autofillaz: # autofill 可用区 A/B/Cregion: # autofill 地域 上海/杭州

可以看到没有指标细节了,细节可以用 事件指标+log解决。

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...