skywalking学习及查询接口数据
官网
英文官网:
https://github.com/apache/skywalking/
中文官网(结合看,更新晚):
https://skyapm.github.io/document-cn-translation-of-skywalking/zh/8.0.0/
在线demo:
http://122.112.182.72:8080/
基于k8s部署
https://blog.csdn.net/qq_16240085/article/details/113870468
JAVA程序接入
添加如下启动参数即可
-javaagent:/usr/skywalking/agent/skywalking-agent.jar -Dskywalking.agent.service_name=app1 -Dskywalking.collector.backend_service=skywalking-oap:11800
告警配置
https://github.com/apache/skywalking/blob/v8.1.0/docs/en/setup/backend/backend-alarm.md#entity-name
8.2开始已经支持直接配置钉钉/微信的webhook
OAL(Observability Analysis Language) 数据分析语法
https://github.com/apache/skywalking/blob/v8.1.0/docs/en/concepts-and-designs/oal.md
Scopes and Fields(数据指标目录和对应字段)
https://github.com/apache/skywalking/blob/v8.1.0/docs/en/concepts-and-designs/scope-definitions.md
查询sw接口示例:trace.graphqls
https://github.com/apache/skywalking-query-protocol/blob/master/trace.graphqls
skywalking使用graphql暴露数据集,不是restful风格,这里需要注意。
{
queryBasicTraces(condition : {
serviceId: "ZGV2LW9sYXljLW9yZGVydGFraW5n.1",
traceState: ALL,
queryOrder: BY_START_TIME,
queryDuration : {
step:MINUTE, start: "2020-12-01 0000", end: "2020-12-01 1100"
},
paging: {
pageNum: 0,
pageSize: 1,
needTotal: false
},
# Duplicate keys are allowed, because one segment includes multiple spans, those spans could have different tag values
}
) {
total,
traces {
segmentId,
endpointNames,
duration,
traceIds
}
}
}
注:body体内的数据可以直接参考ui的查询参数拼接。。。
skywalking-cli客户端
https://github.com/apache/skywalking-cli
# 获取代理service列表
./swctl --base-url http://ip:31937/graphql service ls
{"id":"dGVzdC1vbGF5Yy1wYXk=.1","name":"test-pay","group":""}
# 根据service 获取实例pod信息
./swctl --base-url http://ip:31937/graphql instance ls --service-id dGVzdC1vbGF5Yy1vcmRlcnRha2luZw==.1
./swctl --base-url http://ip:31937/graphql instance ls --service-name test-pay
#根据service id获取endpoint url信息
./swctl --base-url http://ip:31937/graphql endpoint ls --service-id dGVzdC1vbGF5Yy1vcmRlcnRha2luZw==.1
8.4开始支持UI查看日志
示例
Java集成日志框架参考
https://blog.csdn.net/a17816876003/article/details/115586828
自定义链路追踪(侵入)
支持对业务中的public方法添加链路追踪,Java中添加依赖,并在代码方法中使用注解@Trace。
SW UI几个令人费解的图表含义