前言
在云商提供给研发者无限的便利的同时,也带来了沉重的服务治理与稳定性保障的成本,在数以百计的微服务中,一个很小的故障发生,排查修复可能就需要几个小时甚至1天的时间。建设完善的可观测体系可以很大程度上帮助用户提前发现问题、缩短故障的发生时间。本文介绍下如何使用观测云快速建设完善的可观测体系。
为什么选择观测云
- 提供稳定可靠的saas服务
- 强大的数据采集能力,支持采集200+中间件指标数据,并在不断完善数据集成能力
- 强大的数据关联能力,查看错误日志同时可以关联查询链路、基础设施指标等数据
- 强大的自研数据引擎-GuanceDB,相较于ES性能提升10倍
- 完善的告警、巡检体系,可在问题发生第一时间进行告警、根因分析
- 提供完善的OpenAPI接口,可以根据需要进行自定义研发
- 统一的查询语言,提供强大的数据分析能力
- 内置丰富的图表,也可以自由定制自己的仪表板,支持20+种基础图表样式
- 性价比超高的按量收费模式,可以按需选择合适的存储时长,也可以通过探针过滤掉不需要的数据避免造成额外的费用
某海外互联网客户在使用AWS时,一月使用成本增加了将近1500美元,反复排查后发现是开通MSK(kafka)时,勾选了cloudwatch指标采集产生的额外费用
随后查看aws 指标收费规则,如下
对比观测云海外指标收费标准,每千条时间线如果只存三天的话,仅需0.23美元,换成aws需要3美元左右
快速开始
一键注册海外站点观测云免费体验账户
海外注册地址ap1-auth.guance.one/businessReg…
一键安装数据采集探针-Datakit
注册成功后,登录观测云平台,在左侧菜单中找到“集成”-> "Datakit",即可一键安装对应的agent,如linux虚拟机安装,需要注意的是,DK_DATAWAY 地址为当前账户登录后的实际地址。
`DK_DATAWAY="https://*******?token=**********" bash -c "$(curl -L https://static.guance.com/datakit/install.sh)"`
更多安装方式
参考官网 docs.guance.com/datakit/dat…
数据采集三板斧
日志
观测云Datakit 支持多种日志采集方式,可以灵活配置在linux、widows、ECS、EC2、EKS等环境下,具体支持方式如下:
- 日志文件
- 容器标准输出
- 容器内日志文件
- socket 日志采集
详细参考:docs.guance.com/integration…
链路
观测云Datakit支持多种链路传播协议数据接收,可以通过配置APM EndPoint 到Datakit上,即可完成数据采集,并提供多APM链路统一串联的能力,支持的协议如下:
- DDtrace
- Zipkin
- Skywalking
- Pinpoint
- Jaeger
- Cat
- Opentelemetry
- New Relic
详细参考:docs.guance.com/integration…
观测云支持前端用户行为数据采集的能力,支持前后端链路数据关联,并提供web页面录制回放的能力。
详细参考:docs.guance.com/integration…
指标
Datakit 安装成功之后,默认会采集主机cpu、内存、磁盘、进程信息等数据,可以通过调整配置来新增数据采集。 linux安装成功后,配置文件在/usr/local/datakit/conf.d 目录下,以redis为例,需要开启redis指标采集,就到 /usr/local/datakit/conf.d/db 目录下,把redis.conf.sample 文件修改为 redis.conf, 并把需要采集的redis配置填入redis.conf 配置文件中。 修改完成后,重启datakit
datakit service -R
部署在k8s环境下可以通过启动daemonset模式的Datakit来完成指标数据的采集,安装和配置修改参考docs.guance.com/datakit/dat…
每个中间件指标采集在官网中都有对应的文档说明,详细参考docs.guance.com/integration…
数据关联
日志和指标关联
日志采集时,Datakit 会自动给日志加上一个host 标签,表明该日志是从哪台主机/容器上采集到的,对应指标数据采集同样也会带上对应的标签,在进行数据查询的时候,就可以通过共同的标签来实现日志和指标数据的关联。
日志链路关联
接入APM后,应用日志打印的同时,可以输出当前链路的TraceID,在查询日志的的同时,可以通过TraceID来关联对应的链路数据,相同,在查询链路的同时,也可以查看到对应的日志数据。
链路指标关联
在采集链路数据的同时,Datakit也会给对应的链路数据带上主机/pod相关信息,实现查看链路数据的同时,可以查看关联的指标数据。
灵活的告警配置
多种监控器可配置
观测云支持多种监控器配置,如阈值监控、突变监控、进程监控、基础设施存活监控、离群监控、日志关键字监控、应用性能监控等,详细配置参考:docs.guance.com/monitoring/…
告警聚合
同一类型告警在一段时间内发生多次的话,可以在观测云配置告警聚合,提供了多个维度进行选择,如标题、分组对象、监控器、标签等。
通知对象多样化
观测云通知对象默认支持邮件、钉钉、飞书、企业微信等通知对象,同时也支持webhook自定义通知配置,用户可以自定义开发通知对象接口,将开发好的地址配置在观测云即可