阿里 | 腾讯 | 美团 | SkyWalking | 小红书 | |
---|---|---|---|---|---|
产品名称 | SLS trace | APM应用性能监控 | Mtrace | SkyWalking | Xray-trace |
成本 | 低 | 较高 | 较低 | 高 | 较低 |
SLA | |||||
副本 | 三副本 | 三副本 | 三副本 | 可配置 | 单副本 |
语言支持 | 多语言(10种语言+) | Java、Go、Python、C++ 、PHP | java、go、C++ | 多语言 | |
协议支持 | 支持OpenTelemetry、Jaeger、Zipkin协议接入 | 支持OpenTelemetry、Jaeger、SkyWalking协议接入 | 自研协议,主要借鉴pinpoint | 自研协议+OpenTelemetry | 自研协议 |
数据规范 | OpenTelemetry Trace 1.0 | OpenTracing协议 | 自研规范 | 自研规范 | 自研规范 |
弹性能力 | 强 | 强 | 较弱 | 较弱 | 较弱 |
底层存储 | 自研LogStore、MetricStore | ES | ClickHouse、HBase | ES | ClickHouse |
异地多活 | 是 | 是 | 否 | - 依赖部署架构 | 否 |
点查性能 | 高 | 高 | 高 | 高 | 较低 |
拓扑染色 | 不支持 | 不支持 | 支持 | 不支持 | 建设中 |
性能指标生成 | 支持 | 支持 | 不支持 | 支持 | 建设中 |
完整日志查看 | 支持 | 支持 | 支持 | 不完备 | 不支持 |
告警能力 | 支持 | 支持 | 不支持 | 不支持 | 不支持 |
慢事务智能分析 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 |
Span粒度区分 | 无法区分 | 无法区分 | 可区分RPC级别/内部方法级别 | 无法区分 | 可区分RPC级别/内部方法级别 |
工作中需要用到tcpdump,这里做一下备忘,主要知识来源是 man tcpdump
和ChatGPT-4。
查看IPv4的到80端口的http协议明文。
... ➦~/ca
创建CA证书和私钥,私钥为 ca_key.pem
,公钥为 ca.pem
。 ca.pem
后续将被安装到系统并信任。~/ca/certs
创建自定义SSL证书,私钥为 privkey.pem
,公钥为 cert.pem
。他们将被用于启动https服务。脚本下载:ca.sh。
... ➦当前“RPC拓扑”支持“服务视角”和“流量视角”,所谓视角即输入什么参数来查询拓扑。“服务视角”是输入服务名来查看拓扑,“流量视角”是输入入口url来查看拓扑。
... ➦当前根据traceId点查trace详情的耗时很长,有两个影响:
目前点查trace详情的主要耗时来源于下面的sql,用途是获取改traceId下的所有app和开始结束时间。
... ➦当前端上使用一个long值的16进制的字符串作为traceId。目前存在两个问题:
1. 64位随机数的碰撞概率高,目前已经出现traceId碰撞的情况
... ➦上下游拓扑及上下游调用性能指标是链路监控的重要部份。从生成过程来看,先给trace个案进行分类,然后按类汇总出同类trace的调用路径,这个调用路径通常是一个有向无环图,也就是拓扑。按照什么标准进行分类是上述过程的重点,上面所说的分类和汇总,表述成SQL大概就是聚合函数(count、avg等)和groupBy语句的结合,其中groupBy语句就是分类标准, count和avg是相关的性能指标。
... ➦Generate by ChatGPT4
W3C (World Wide Web Consortium)推出了Trace Context规范,旨在规范分布式追踪中跟踪信息的传播格式。Trace Context规范主要定义了两个HTTP头部字段:traceparent
和tracestate
。