在eBPF的可观测平台中,遇到最多的问题有哪些?
第一,内核版本适配问题。eBPF 在内核版本 4.14 以上才有较为成熟的支持。但是 线上依然存在很多老的内核版本,这部分需要使用 sysdig 进行支持。高版本 在 core 不成熟的情况下,使用动态下载内核图文件以及动态编译的方式进行支持;
第二,内核事件爆炸。传统的监听 Tracepoints、Kprobre 会产生巨大的事件,给探 针的性能造成巨大压力。为了解决这个问题,我们引入了事件过滤机制,只 处理网络调用事件,同时优化事件传输序列化,达到高性能事件传输的目的;
第三,在事件的消费侧,协议解析效率低下。为此我们优化了高性能解析算法,比 如可以减少分析的字节数,优化更多的匹配算法提升解析的效率。同时还使 用了多线程内存复用等工程手段提升协议解析效率;
第四,指标时间线爆炸。所有事件最终都会聚合为指标、链路和日志,其中指标方 面由于个别维度发散,会对存储的稳定性造成极大的影响。因此,我们支持 在写指标的时候进行维度收敛,比如每个维度的基数不得超过 100,超过后 将收敛成星号,代表通用的收敛标记。此外,还在查询侧进行了优化,主要 做了精度的降级。
以上内容摘自 《2021 阿里云可观测技术峰会演讲实录合辑(下)》 电子书,点击https://developer.aliyun.com/ebook/download/7738 可下载完整版
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
云原生可观测基于Prometheus、Grafana 、OpenTelemetry 等核心产品, 形成指标、链路存储分析、异构数据源集成的数据层, 通过标准PromQL和SQL提供大盘展示、告警与探索能力。