官网: https://skywalking.apache.org/
Github:https://github.com/apache/skywalking
SkyWalking 是一个开源可观察性平台,用于收集、分析、聚合和可视化来自服务和云原生基础设施的数据。SkyWalking 提供了一种简单的方法来维护分布式系统的清晰视图,即使是跨云也是如此。它是一种现代 APM,专为云原生、基于容器的分布式系统而设计。
支持 Java、.Net Core、PHP、NodeJS、Golang、LUA、C++、Python 代理
支持 Istio + Envoy 服务网格
安装
下载地址:https://skywalking.apache.org/downloads/
地址:https://skywalking.apache.org/docs/main/latest/en/setup/backend/backend-setup/
SkyWalking 的后端分发包由以下部分组成:
- bin/cmd 脚本:位于
/bin
文件夹中。包括用于后端服务器和 UI 启动的启动 linux shell 和 Windows cmd 脚本。 - 后端配置:位于
/config
文件夹中。包括后端的设置文件,分别是:application.yml
log4j.xml
alarm-settings.yml
- 后端库:位于
/oap-libs
文件夹中。后端的所有依赖项都可以在其中找到。 - Webapp env:位于
webapp
文件夹中。可以在此处找到 UI 前端 jar 文件及其webapp.yml
设置文件。
要求:JDK8到JDK17。其他版本未经测试。
使用bin/startup.sh
默认设置启动后端和UI,设置如下:
- 后端存储默认使用H2。
- 后端侦听
0.0.0.0/11800
gRPC API 和0.0.0.0/12800
HTTP REST API。
在 Java、DotNetCore、Node.js 和 Istio 代理/探针中,您应该将 gRPC 服务地址设置为ip/host:11800
,并且 ip/host 应该是您的后端所在的位置。
- UI 侦听
8080
端口并请求127.0.0.1/12800
运行 GraphQL 查询。
使用
下载地址:https://skywalking.apache.org/downloads/
相关文档:https://skywalking.apache.org/docs/skywalking-java/latest/en/setup/service-agent/java-agent/readme/
1.修改启动命令为
nohup java -javaagent:/laker/skywalking-agent/skywalking-agent.jar -jar $JVM_OPTS $AppName > /dev/null 2>&1 &
2.修改config/agent.config
- agent.service_name:例如:buyer-service
- collector.backend_service:默认指向
127.0.0.1:11800
,仅适用于本地后端 - agent.instance_name:实例名称,例如 buyer-service-192,一般填写服务器ip挺好的。
SkyWalking 代理支持各种中间件、框架和库。阅读支持列表 以获取它们和支持的版本。如果插件在Optional²目录中,请转到可选插件和引导类插件部分以了解如何激活它。
/plugins
文件夹中的所有插件都处于活动状态。删除插件 jar,它已禁用。- 默认的日志输出文件夹是
/logs
支持以下组件的监控
界面
地址:https://skywalking.apache.org/docs/main/latest/en/ui/readme/
SkyWalking 官方 UI 为 SkyWalking 提供了默认的强大可视化功能,用于观察分布式集群。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AgJkejGc-1640775131978)(https://skywalking.apache.org/ui-doc/8.9.0/dashboard.png)]
右上角有设置区。用户可以从那里设置时间范围、时区、自动刷新和语言。
仪表板
仪表板提供服务、服务实例和端点的指标。以下是有关指标的快速术语指南:
- 吞吐量 CPM:表示每分钟调用次数。
- Apdex 分数:请参阅Wiki 上的 Apdex。
- 响应时间百分:包括
p99
,p95
,p90
,p75
,和p50
。请参阅Wiki 上的百分位数。 - SLA:代表成功率。对于 HTTP,响应状态代码默认为 200。
UI 会每 3 天检查一次 OAP 后端的本地仪表板设置,一旦检测到不一致,就会弹出一个通知框要求重新加载。