TuGraph Analytics作业监控面板:运行时组件上的高效分析工具

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 我们在作业进程中内置了一个Dashboard(本地启动/容器启动时自动生效),包括前端页面和后端server,用户可以不需要感知到它们的存在。通过访问Dashboard,用户可以更方便地通过白屏化的方式查看作业的执行进度、组件列表和详情、任意组件内部的指标、日志等。还可以通过Profiler工具对进程状态进行分析,快速定位问题。

作者:丁一

背景

TuGraph Analytics作业部署到K8S集群之后,通常会启动多个pod(一个master、一/多个driver、多个container)。用户很难判断作业当前运行的进度如何,也不能通过pod的状态来判断内部进程的状态。无论是查看进度、查看日志、性能分析,都需要到每一个pod中进行对应的操作,运维成本很大,需要一个白屏化的监控页面来监控所有进程的实时状态信息。

因此,我们在作业进程中内置了一个Dashboard(本地启动/容器启动时自动生效),包括前端页面和后端server,用户可以不需要感知到它们的存在。通过访问Dashboard,用户可以更方便地通过白屏化的方式查看作业的执行进度、组件列表和详情、任意组件内部的指标、日志等。还可以通过Profiler工具对进程状态进行分析,快速定位问题。

Dashboard介绍

TuGraph Analytics的Dashboard模块提供了作业级别的监控页面,可以轻松地查看作业的以下信息:

  • 作业的健康度(Container和Worker活跃度)
  • 作业的进度(Pipeline和Cycle信息)
  • 作业各个组件的实时日志
  • 作业各个组件的进程指标
  • 作业各个组件的火焰图
  • 作业各个组件的Thread Dump

如何访问页面

页面的服务部署在master组件上,因此直接访问master组件的地址即可(默认端口8090)。

访问Dashboard

功能介绍

TuGraph Analytics Dashboard包含以下几个主要的功能:

Overview

Overview页面会展示整个作业的健康状态。你可以在这里查看container和driver是否都在正常运行。

概览

除此之外,Overview页面也会展示作业的Pipeline列表。

作业执行计划进度

作业的执行计划可以由多个Pipeline表示,每个Pipeline内部又有多个Cycle。
可以通过侧边栏的Pipeline菜单进入页面。页面包括作业的每一项Pipeline的名称、开始时间和耗时。
耗时为0表示该Pipeline已开始执行,但尚未完成。

执行计划-Pipeline

点击Pipeline名称可以进入二级菜单,查看当前Pipeline下所有的Cycle列表的各项信息。

执行计划-Cycle

作业组件详情

可以查看作业的各个组件(包括master、driver、container)的各项信息。可以通过侧边栏的菜单进行访问。
其中Driver详情展示所有driver的基础信息。

Driver信息

Container详情展示所有Container的基础信息。

Container信息

组件运行时详情

通过点击左边栏的Master详情,或者通过点击Driver/Container详情中的组件名称,可以跳转到组件的运行时页面。在运行时页面中,可以查看和操作以下内容。

进程指标

展示完整的容器进程指标。

进程

容器日志

展示容器进程内的主要可见日志。
根据日志的log4j配置,默认日志文件大小最大为128G(此处测试简单起见设置为了50KB),超过后会进行文件备份。例如master.log.1和master.log.2就是master.log的备份之一。

日志

  • master.log:Master的java主进程日志。
  • master.log.1 / master.log.2:Master的java主进程日志备份。
  • agent.log:Master的agent服务日志。
  • geaflow.log:进入容器后的shell启动脚本日志。

点击任意一个日志可以进入日志详情页面。日志的获取进行了后端分页,可以在右下角选择每页的KB大小,并可以跳转到指定页数。

日志详情

火焰图

展示火焰图的历史执行结果,并可重新生成新的火焰图。火焰图分析类型可选择CPU或ALLOC,单次最多分析60秒,最多保留10份历史记录。
点击“新建”,即可生成新的火焰图。

  • 火焰图类型:可选CPU或者ALLOC(Memory)。
  • 执行时间:分析时间,需介于1~60秒之间。

新建火焰图

火焰图的执行时间根据用户的选择可能较久,因此会在后台静默执行。需要等待执行结束后,手动点击“新建”按钮旁边的“刷新”标识,获取最新的火焰图历史。

火焰图

火焰图详情

Thread Dump

展示主进程的Thread Dump结果,并可重新进行Dump。保留最新一次dump的结果。

Thread Dump

点击“重新执行”,等待执行结束后,结果会自动刷新。
Thread Dump详情

进程配置

展示master的java主进程内的各项配置(仅master拥有此页面)。

进程配置

其他用法

列表排序与查询

部分列表的列可以进行排序和查询。
查询时,点击“搜索”标识,输入关键字,点击“搜索”按钮即可。
重置时,点击“重置”按钮,列表会重新刷新。

列表

国际化

页面支持中英文切换,点击右上角的“文A”图标,即可选择语言。

国际化

欢迎关注我们的GitHub仓库: https://github.com/TuGraph-family/tugraph-analytics

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
小程序 Python
用 Python 制作一个桌面宠物,好玩!
用 Python 制作一个桌面宠物,好玩!
267 0
|
存储 移动开发 前端开发
2023年最新前端面试题汇总大全(含答案超详细,HTML,JS,CSS汇总篇)-- 持续更新6
2023年最新前端面试题汇总大全(含答案超详细,HTML,JS,CSS汇总篇)-- 持续更新
525 0
|
Java 编译器 数据库连接
Cause java.sql.SQLDataException Unsupported conversion from LONG to java.sql.Timestamp
Cause java.sql.SQLDataException Unsupported conversion from LONG to java.sql.Timestamp
1478 0
|
存储 监控 物联网
|
SQL
SqlServer 服务无法启动 操作系统错误: 5(拒绝访问。)
SqlServer 服务无法启动 操作系统错误: 5(拒绝访问。)
604 0
SqlServer 服务无法启动 操作系统错误: 5(拒绝访问。)
|
SQL 安全 网络安全
网络安全与信息安全:防范措施与加密技术解析
【10月更文挑战第9天】在数字化时代,网络安全与信息安全已成为我们日常生活中不可或缺的一部分。本文将深入探讨网络安全漏洞、加密技术和安全意识等方面的内容,以帮助读者更好地了解和应对网络安全威胁。通过分享相关知识和案例分析,我们希望提高大家对网络安全的认识和重视程度,共同维护一个安全、可靠的网络环境。
857 0
|
自然语言处理 监控 BI
ERP系统中的多语言与多币种支持
【7月更文挑战第25天】 ERP系统中的多语言与多币种支持
800 3
|
机器学习/深度学习 人工智能 搜索推荐
AI与未来医疗:重塑健康的双刃剑
【10月更文挑战第6天】 人工智能作为现代科技的巅峰之作,已经渗透进我们生活的方方面面。从语音助手到自动驾驶,AI不仅改变了我们的日常,更在各个专业领域,特别是医疗行业,扮演着愈发重要的角色。本文探讨了AI在未来医疗中的应用及其潜在影响,揭示了这把“双刃剑”的机遇与挑战。
413 1
|
开发框架 负载均衡 算法
SpringCloud微服务实战——搭建企业级开发框架(十二):OpenFeign+Ribbon实现负载均衡
Ribbon是Netflix下的负载均衡项目,它主要实现中间层应用程序的负载均衡。为Ribbon配置服务提供者地址列表后,Ribbon就会基于某种负载均衡算法,自动帮助服务调用者去请求。Ribbon默认提供的负载均衡算法有多种,例如轮询、随即、加权轮训等,也可以为Ribbon实现自定义的负载均衡算法。 Ribbon有以下特性:
750 57
SpringCloud微服务实战——搭建企业级开发框架(十二):OpenFeign+Ribbon实现负载均衡
|
JavaScript 前端开发 Java
体育足球直播开发,有哪些赛事观看源代码推荐
大家对于体育赛事的热爱与日俱增,体育直播平台已然成为现代体育产业不可或缺的一部分。如要开发一款优秀的体育直播平台,不仅要良好的使用体验长期稳定的技术支持外,还需有完善的赛事源代码。