暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

构建强可观测性的 DolphinScheduler:SkyWalking Agent 集成指南

海豚调度 2025-08-20
1126

点击蓝字,关注我们


1

集成SkyWalking Agent


Apache DolphinScheduler 是一个分布式易扩展的可视化 DAG 工作流调度系统,广泛应用于数据工程、ETL、任务编排等场景。随着系统规模和任务复杂度的增加,仅依赖日志排查已难以满足生产环境对 稳定性、性能分析和问题定位 的需求。

为此,DolphinScheduler 提供了 dolphinscheduler-skywalking 模块,用于集成 Apache SkyWalking Agent,实现对 DolphinScheduler 的全链路可观测性监控。

借助 SkyWalking,用户可以获得:

  • 任务执行链路追踪:从任务提交到执行完成的全流程可见。
  • 性能瓶颈识别:快速定位任务延迟、资源竞争、外部依赖问题。
  • 系统健康监控:采集 JVM 指标、线程池状态、数据库交互情况。
  • 可视化拓扑图:直观展示 DolphinScheduler 各组件与外部系统(如 DB、ZooKeeper、消息队列)的调用关系。
  • 统一告警:结合 SkyWalking 的告警规则,实现任务失败、延迟的实时预警。

推荐使用 SkyWalking 8.5.0+,以获得更全面的功能和更好的兼容性。


2

配置方法


DolphinScheduler 提供多种部署方式(Docker Compose、Docker、install.sh),均可通过配置环境变量或配置文件启用 SkyWalking Agent。

通过环境变量配置(Docker Compose 部署)

修改 docker/docker-swarm/config.env.sh
 文件,启用 SkyWalking:

    SKYWALKING_ENABLE=true
    SW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800
    SW_GRPC_LOG_SERVER_HOST=127.0.0.1
    SW_GRPC_LOG_SERVER_PORT=11800

    重新运行:

      $ docker-compose up -d

      通过环境变量配置(Docker 部署)

       docker run
       命令中添加 SkyWalking 参数:

        $ docker run -d --name dolphinscheduler \
        -e DATABASE_HOST="192.168.x.x" -e DATABASE_PORT="5432" -e DATABASE_DATABASE="dolphinscheduler" \
        -e DATABASE_USERNAME="test" -e DATABASE_PASSWORD="test" \
        -e ZOOKEEPER_QUORUM="192.168.x.x:2181" \
        -e SKYWALKING_ENABLE="true" \
        -e SW_AGENT_COLLECTOR_BACKEND_SERVICES="your.skywalking-oap-server.com:11800" \
        -e SW_GRPC_LOG_SERVER_HOST="your.skywalking-log-reporter.com" \
        -e SW_GRPC_LOG_SERVER_PORT="11800" \
        -p 12345:12345 \
        apache/dolphinscheduler:2.0.6 all

        通过配置文件配置(install.sh 部署)

         ${workDir}/conf/config/install_config.conf
        文件中,添加以下内容:

          # skywalking config
          note: enable skywalking tracking plugin
          enableSkywalking="true"
          note: configure skywalking backend service address
          skywalkingServers="your.skywalking-oap-server.com:11800"
          note: configure skywalking log reporter host
          skywalkingLogReporterHost="your.skywalking-log-reporter.com"
          note: configure skywalking log reporter port
          skywalkingLogReporterPort="11800"

          运行 install.sh
          ,即可完成 SkyWalking Agent 启用。


          3

          导入可视化视图



          为了更好地展示 DolphinScheduler 的运行状态,SkyWalking 提供了预置仪表盘。

          1.  ${dolphinscheduler.home}/ext/skywalking-agent/dashboard/dolphinscheduler.yml
             文件复制到
            ${skywalking-oap-server.home}/config/ui-initialized-templates/
             目录。
          2. 重启 SkyWalking OAP Server。

          在 SkyWalking UI 中,即可看到 DolphinScheduler 的专用仪表盘,包括 任务链路、系统指标、执行性能 等信息。


          ⚠️ 注意:如果之前已打开过 SkyWalking UI,需要清空浏览器缓存,才能加载新的 DolphinScheduler 图表。


          4

          可观测性效果


          启用 SkyWalking Agent 后,用户可在 UI 中获得以下观测能力:

          • 分布式链路追踪:清晰展示 DolphinScheduler 各个任务的执行链路与依赖关系。
          • 任务耗时分析:直观分析任务执行时长、等待时间,帮助定位慢任务。
          • 系统健康指标:包括 CPU、内存、GC、线程池活跃度、数据库连接池状态等。
          • 告警与通知:可结合 SkyWalking 告警模块,为任务失败、延迟提供实时预警。
          • 拓扑可视化:直观查看 DolphinScheduler 与外部系统交互情况(DB、ZooKeeper、API 服务)。

          5

          最佳实践与注意事项


          1. 推荐版本:SkyWalking 8.5.0+,保证功能完整性与稳定性。
          2. 性能优化:可通过配置采样率(sampling rate)来减少 trace 数据量,避免对系统性能造成影响。
          3. 分环境部署:建议在开发、测试、生产环境分别部署 SkyWalking,避免数据混淆。
          4. 与日志结合:结合 DolphinScheduler 的日志系统和 SkyWalking 的日志采集,形成指标 + 日志 + 链路的完整可观测性体系。
          5. 安全性:如果 SkyWalking OAP Server 部署在公网,需配置鉴权或代理,避免未授权访问。


          6

          总结


          通过 dolphinscheduler-skywalking 模块,DolphinScheduler 实现了与 SkyWalking 的无缝对接,从任务链路追踪到系统指标监控,再到拓扑可视化和智能告警,全面提升了 调度系统的可观测性

          这让运维人员和开发者能够:

          • 更快定位问题
          • 更精准优化性能
          • 更有效保障生产任务的稳定运行





          用户案例



          天翼云Zoom网易邮箱 
          每日互动 惠生工程  作业帮 
          博世智驾 蔚来汽车 长城汽车
          集度长安汽车思科网讯食行
          生鲜联通医疗联想
          新网银行唯品富邦消费金融 
          自如有赞伊利当贝大数据
          珍岛集团传智教育Bigo
          YY直播  拈花云科太美医疗
          Cisco Webex兴业证券




          迁移实战



          Azkaban   Ooize(当贝迁移案例)
          Airflow (有赞迁移案例)
          Air2phin(迁移工具)
          Airflow迁移实践



          发版消息




          Apache DolphinScheduler 3.2.2版本正式发布!
          Apache DolphinScheduler 3.2.1 版本发布:增强功能与安全性的全面升级
          Apache DolphinScheduler 3.3.0 Alpha发布,功能增强与性能优化大升级!




          加入社区



          关注社区的方式有很多:

          • GitHub: https://github.com/apache/dolphinscheduler
          • 官网:https://dolphinscheduler.apache.org/en-us
          • 订阅开发者邮件:dev@dolphinscheduler@apache.org
          • X.com:@DolphinSchedule
          • YouTube:https://www.youtube.com/@apachedolphinscheduler
          • Slack:https://join.slack.com/t/asf-dolphinscheduler/shared_invite/zt-1cmrxsio1-nJHxRJa44jfkrNL_Nsy9Qg

          同样地,参与Apache DolphinScheduler 有非常多的参与贡献的方式,主要分为代码方式和非代码方式两种。

          📂非代码方式包括:

          完善文档、翻译文档;翻译技术性、实践性文章;投稿实践性、原理性文章;成为布道师;社区管理、答疑;会议分享;测试反馈;用户反馈等。

          👩‍💻代码方式包括:

          查找Bug;编写修复代码;开发新功能;提交代码贡献;参与代码审查等。

          贡献第一个PR(文档、代码) 我们也希望是简单的,第一个PR用于熟悉提交的流程和社区协作以及感受社区的友好度。

          社区汇总了以下适合新手的问题列表https://github.com/apache/dolphinscheduler/pulls?q=is%3Apr+is%3Aopen+label%3A%22first+time+contributor%22

          优先级问题列表https://github.com/apache/dolphinscheduler/pulls?q=is%3Apr+is%3Aopen+label%3Apriority%3Ahigh

          如何参与贡献链接https://dolphinscheduler.apache.org/zh-cn/docs/3.2.2/%E8%B4%A1%E7%8C%AE%E6%8C%87%E5%8D%97_menu/%E5%A6%82%E4%BD%95%E5%8F%82%E4%B8%8E_menu

          如果你❤️小海豚,就来为我点亮Star吧!

          https://github.com/apache/dolphinscheduler


          你的好友秀秀子拍了拍你

          并请你帮她点一下“分享”

          文章转载自海豚调度,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

          评论