三大支柱中,Log是最简单的,metric也不难。对于golang而言,最麻烦的是trace,这时候就分外羡慕java这种可以自动注入的语言了。
Golang服务接入OpenTelemetry
Tinode源码解析
概述
有朋友需要做一个im,简单做了一下技术调研,开源的实现其实蛮多的,这里挑几个说一下:
监控平台调研报告
广义的监控又称为Application Performance Monitoring(APM),即应用性能监控。其数据类型主要包括:指标数据(Metrics),日志文本(Logs),分布式追踪(Traces),这又称为可观测性三支柱。
Elastic Observability系统搭建
随着ES v8.4的发布,es对于可观测性三支柱(Metric/Trace/Log)都具有较为完备的支持,Alert功能也能满足一般需求,kibana的看板功能经过这么多年的迭代,可用性也比较好了。最重要的是,兼容OpenTelemetry的标准也保证如果用的不爽也可以用其他开源组件替换,所以项目组目前搭建监控平台,经过评估还是决定优先用这一套。
SRE读书笔记
SRE相关的书籍,截止目前google出了2本,分别是2016年的的《Site Reliability Engineering: How Google Runs Production Systems》和2020年的《The Site Reliability Workbook》。这两本书是互补关系,需要先阅读第一本,然后再看第二本。