1. SkyWalking 介绍
SkyWalking 是开源的可视化平台,可从多种数据源进行数据采集,并提供分析、聚合及可视化等功能。通过 SkyWalking,我们可以对分布式系统的拓扑结构,数据交互有一个更加清晰的视图。
SkyWalking 架构
-
Probe:可以理解为数据采集 agent,主要负责数据采集和格式化。 -
Platform Backend:SkyWalking 的后端服务,支持数据聚合、分析以及流式处理等。 -
Storage:负责数据存储,以 plugin 的方式支持多种存储引擎,比如 ElasticSearch, H2, MySQL, TiDB, InfluxDB 等。 -
UI: 数据可视化。
-
Language based native agent:这些 agent 和目标服务进程运行在相同的用户空间,从外部来看,agent 和目标服务的代码是一样的。一个典型的例子是 Java agent,在运行 Java 应用的时候我们可以通过 -javaagent
来指定 agent。 -
Service Mesh probes:这种 Probe 通过 sidecar 或者 proxy 收集数据。 -
3rd-party intrument library:简单来说就是第三方的数据,比如 zipkin。
2. 部署 SkyWalking 后端
$ lsbin config config-examples LICENSE licenses logs NOTICE oap-libs README.txt tools webapp
后端默认使用 H2 内存数据库作为后端存储,不需要修改配置。按如下方式启动Backend 和 WebApp:
$ sh bin/startup.sh
$ sh bin/webappService.sh
UI 默认启动在 8080 端口,也可以通过修改 webapp 目录下的 webapp.yml 文件修改监听端口。 server:
port: 8080
spring:
cloud:
gateway:
routes:
- id: oap-route
uri: lb://oap-service
predicates:
- Path=/graphql/**
discovery:
client:
simple:
instances:
oap-service:
- uri: http://127.0.0.1:12800
# - uri: http://<oap-host-1>:<oap-port1>
# - uri: http://<oap-host-2>:<oap-port2>
mvc:
throw-exception-if-no-handler-found: true
web:
resources:
add-mappings: true
management:
server:
base-path: /manage
3. Linkis 服务启动开启 SkyWalking
tree skywalking-agent
$ skywalking-agent
├── LICENSE
├── NOTICE
├── activations
│ ├── apm-toolkit-kafka-activation-8.8.0.jar
│ ├── ...
├── bootstrap-plugins
│ ├── apm-jdk-http-plugin-8.8.0.jar
│ └── apm-jdk-threading-plugin-8.8.0.jar
├── config
│ └── agent.config
├── licenses
│ └── LICENSE-asm.txt
├── logs
├── optional-plugins
│ ├── apm-customize-enhance-plugin-8.8.0.jar
│ ├── ...
├── optional-reporter-plugins
│ ├── kafka-reporter-plugin-8.8.0.jar
│ ├── ...
├── plugins
│ ├── apm-activemq-5.x-plugin-8.8.0.jar
│ ├── ...
└── skywalking-agent.jar
修改 Linkis 的 deploy-config/linkis-env.sh 中的配置项 SKYWALKING_AGENT_PATH
。将其设置为skywalking-agent.jar
的路径,然后启动 Linkis 即可。
SKYWALKING_AGENT_PATH=/path/to/skywalking-agent.jar
$ sh linkis-start-all.sh
4. 结果展示
通过以上的详细步骤和代码示例,我们已经成功实现了 Apache Linkis 与 SkyWalking 的集成。现在,你可以使用 SkyWalking 对 Linkis 的各个组件进行实时监控,及时发现并解决性能问题,从而提高整个数据处理平台的稳定性和性能。
需要注意的是,本文提供的集成方案仅作为参考,可能需要根据自己的实际环境进行适当调整
总之,Apache Linkis 与 SkyWalking 的集成为我们提供了一个强大的监控工具,有助于提高数据处理平台的稳定性和性能。希望本文能为你的实际工作带来帮助,祝你在大数据领域取得更多的成功 。
本文分享自微信公众号 - WeDataSphere(gh_273e85fce73b)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。