其他
使用 Apache SkyWalking 对 Apache Pulsar 进行消息链路追踪与性能监控
🎙️阅读本文需要约 6 分钟
Apache Pulsar 是下一代云原生流数据消息平台。
Apache SkyWalking 是专门为微服务、云原生和容器设计的 APM 系统,支持消息链路追踪与性能监控。
⚙️构建 Pulsar agent 插件
$ git clone https://github.com/apache/skywalking.git
$ cd skywalking
$ git submodule init
$ git submodule update
$ ./mvnw clean package -DskipTests
$ tar -xf apache-skywalking-apm-bin.tar.gz
恭喜你,你已成功构建 Pulsar agent 插件。
⚙️启动 SkyWalking 后台服务
🙋提示:
如果你在同一台机器上运行 SkyWalking 后台服务和 Pulsar broker,则需更改 SkyWalking 或 Pulsar broker 的网络服务端口(默认情况下,它们都会使用 8080 端口)。
如需更改 Skywalking UI 的网络服务端口,可参阅https://github.com/apache/skywalking/blob/master/docs/en/setup/backend/ui-setup.md。
如需更改 Pulsar broker 的网络服务端口,可通过编辑 conf/broker.conf 配置文件进行更改。
⚙️下载测试用例代码
$ git clone https://github.com/SkyAPMTest/agent-auto-integration-testcases.git
如需设置 Java agent 及其属性,参阅这里。 默认情况下,pulsar-scenario 项目使用 8082 端口。 下图中的 VM 选项为: -javaagent:<your-skywalking-home>/apm-dist/target/apache-skywalking-apm-bin/agent/skywalking-agent.jar -DSW_AGENT_COLLECTOR_BACKEND_SERVICES=<skywalking-backend-host>:11800 -DSW_AGENT_NAME=pulsar-demo -Dservice.url=pulsar://<your-pulsar-broker-ip>:6650
⚙️测试并在 SkyWalking 中查看结果
$ curl http://localhost:8082/pulsar-scenario/case/pulsar-case
📊面板视图
面板显示有 2 个 endpoint、1 个 service 和 1 个 MQ。
用户向服务(即,你的测试网络应用程序)发送请求 服务向 Pulsar broker 发送消息和从 Pulsar broker 接收消息
生产者发送消息 span, 记录生产者发送消息。 生产者发送消息回调 span:记录消息已发送完成。 消费者接收消息 span:记录消费者接收到消息。
📣Join Pulsar 📣
👇🏻点击「阅读原文」获取 SkyWalking 下载页