仪表盘

本节介绍如何使用 Spring Cloud Data Flow 的仪表板。spring-doc.cadn.net.cn

34. 简介

Spring Cloud Data Flow 提供了一个基于浏览器的图形用户界面(称为 Dashboard),用于管理以下信息:spring-doc.cadn.net.cn

  • 应用应用标签页列出了所有可用的应用程序,并提供了注册和注销它们的控制选项。spring-doc.cadn.net.cn

  • 运行时运行时选项卡提供所有正在运行的应用程序的列表。spring-doc.cadn.net.cn

  • 流(Streams)流(Streams) 标签页允许您列出、设计、创建、部署和销毁流定义。spring-doc.cadn.net.cn

  • 任务任务标签页允许您列出、创建、启动、调度和销毁任务定义。spring-doc.cadn.net.cn

  • 作业作业标签页允许您执行与批处理作业相关的功能。spring-doc.cadn.net.cn

启动 Spring Cloud Data Flow 后,仪表板可在以下地址访问:spring-doc.cadn.net.cn

例如,如果 Spring Cloud Data Flow 在本地运行,则仪表板可通过 localhost:9393/dashboard 访问。spring-doc.cadn.net.cn

如果已启用 HTTPS,仪表板可通过 localhost:9393/dashboard 访问。 如果已启用安全认证,登录表单可通过 localhost:9393/dashboard/#/login 访问。spring-doc.cadn.net.cn

默认的 Dashboard 服务器端口是 9393

下图显示了 Spring Cloud Data Flow 仪表板的起始页面:spring-doc.cadn.net.cn

The Spring Cloud Data Flow Dashboard
图10. Spring Cloud Data Flow 仪表板

35. 应用程序

仪表板的应用程序选项卡列出了所有可用的应用程序,并提供了注册和注销它们的控件(如适用)。 您可以使用“批量导入应用程序”操作一次性导入多个应用程序。spring-doc.cadn.net.cn

下图展示了仪表板中典型的应用程序列表:spring-doc.cadn.net.cn

List of available applications
图11. 可用应用程序列表

35.1. 应用程序的批量导入

应用程序可以通过“应用程序”页面上提供的多种方式进行导入。 对于批量导入,应用程序定义应采用属性格式进行表达,如下所示:spring-doc.cadn.net.cn

<type>.<name> = <coordinates>

以下示例展示了典型的应用程序定义:spring-doc.cadn.net.cn

task.timestamp=maven://org.springframework.cloud.task.app:timestamp-task:1.2.0.RELEASE
processor.transform=maven://org.springframework.cloud.stream.app:transform-processor-rabbit:1.2.0.RELEASE

在“从 HTTP URI 位置导入应用程序坐标”部分,您可以指定一个指向其他位置存储的属性文件的 URI,该文件应包含如前例所示格式的属性。 或者,您也可以使用“从属性文件导入应用程序坐标”部分中的以属性形式列出应用文本框,直接列出每个属性字符串。最后,如果属性存储在本地文件中,导入文件选项将打开本地文件浏览器以供您选择该文件。 通过上述任一方式设置好定义后,请点击导入应用程序spring-doc.cadn.net.cn

下图展示了一个批量导入应用程序的示例页面:spring-doc.cadn.net.cn

Bulk Import Applications
图 12. 批量导入应用程序

36. 运行时

仪表板(Dashboard)应用程序的运行时(Runtime)选项卡显示所有正在运行的应用程序列表。 对于每个运行时应用程序,会显示其部署状态和已部署实例的数量。 点击应用程序 ID,即可查看所使用的部署属性列表。spring-doc.cadn.net.cn

下图展示了运行时(Runtime)选项卡的一个使用示例:spring-doc.cadn.net.cn

List of running applications
图13. 正在运行的应用程序列表

37. 流

流(Streams) 标签包含两个子标签:定义(Definitions)创建流(Create Stream)。以下主题介绍了如何使用每个子标签:spring-doc.cadn.net.cn

37.1. 使用流定义

仪表板的流(Streams)部分包含定义(Definitions)选项卡,其中列出了所有流定义。 在此,您可以选择部署或取消部署这些流定义。 此外,您还可以通过点击销毁(Destroy)来删除该定义。 每一行左侧都有一个箭头,点击该箭头可以查看该定义的可视化表示。 将鼠标悬停在可视化表示中的各个方框上,即可查看有关应用程序的更多详细信息,包括传递给它们的任何选项。spring-doc.cadn.net.cn

在下图中,timer 流已被展开以显示其可视化表示:spring-doc.cadn.net.cn

List of Stream Definitions
图14. 流定义列表

如果你点击“详情”按钮,视图会切换为显示该数据流及其相关数据流的可视化表示。 在前面的示例中,如果你点击 timer 数据流的“详情”,视图将变为如下所示,清晰地展示了这三个数据流之间的关系(其中两个数据流正在监听 timer 数据流):spring-doc.cadn.net.cn

Stream Details Page
图15. 流详情页面

37.2. 创建一个流

仪表板的流(Streams)部分包含创建流(Create Stream)选项卡,该选项卡提供了Spring Flo设计器。该设计器是一个画布应用程序,提供交互式图形界面,用于创建数据管道。spring-doc.cadn.net.cn

在此选项卡中,您可以:spring-doc.cadn.net.cn

  • 通过使用 DSL、图形化画布,或两者结合,来创建、管理和可视化流处理管道spring-doc.cadn.net.cn

  • 使用带有内容辅助和自动补全功能的 DSL 编写流水线spring-doc.cadn.net.cn

  • 在 GUI 中使用自动调整和网格布局功能,以更简单、交互式地组织流水线spring-doc.cadn.net.cn

你应该观看这个屏幕录制视频,它重点展示了“用于 Spring Cloud Data Flow 的 Flo”的一些功能。 Spring Flo 维基包含了有关 Flo 核心功能的更详细内容。spring-doc.cadn.net.cn

下图展示了正在使用的 Flo 设计器:spring-doc.cadn.net.cn

Flo for Spring Cloud Data Flo
图16. Spring Cloud Data Flow 的 Flo

37.3. 部署一个流

流部署页面包含多个选项卡,提供不同的方式来设置部署属性并部署流。 以下截图展示了 foobartime | log)的流部署页面。spring-doc.cadn.net.cn

你可以通过以下方式定义部署属性:spring-doc.cadn.net.cn

  • 表单构建器选项卡:一个帮助您定义部署属性(如部署器、应用程序属性等)的构建器spring-doc.cadn.net.cn

  • 自由文本标签页:一个自由文本区域(用于键值对)spring-doc.cadn.net.cn

您可以在两种视图之间切换。spring-doc.cadn.net.cn

表单构建器提供了对输入内容更严格的验证。
Form builder
图17。下图展示了表单构建器
Free text
图18。下图展示了自由文本中的相同属性

37.4. 访问流日志

一旦流应用程序部署完成,即可从流的summary页面访问其日志,如下图所示:spring-doc.cadn.net.cn

Stream Logs

37.5. 创建扇入和扇出流

扇入与扇出章节中,您可以了解如何通过使用命名目的地来支持扇入和扇出的使用场景。 UI 也提供了对命名目的地的专门支持:spring-doc.cadn.net.cn

Fan-in and Fan-out example
图19. Spring Cloud Data Flow 的 Flo

在此示例中,我们有来自HTTP 源JDBC 源的数据,这些数据被发送到sharedData通道,这代表了一种汇聚(fan-in)使用场景。 在另一端,有一个Cassandra 汇和一个文件汇订阅了sharedData通道,这代表了一种分发(fan-out)使用场景。spring-doc.cadn.net.cn

37.6. 创建 Tap 流

通过仪表板创建分流(tap)非常简单。 假设你有一个由HTTP Source(HTTP源)和File Sink(文件接收器)组成的流,而你希望对该流进行分流, 同时将数据也发送到一个JDBC Sink(JDBC接收器)。 要创建该分流流,请将HTTP Source的输出连接器连接到JDBC Sink。 该连接会以虚线显示,表示你已创建了一个分流流。spring-doc.cadn.net.cn

Tap stream example
图20. 创建一个Tap流

主数据流(HTTP SourceFile Sink)在您未为其提供名称的情况下将自动命名。 在创建抽样(tap)数据流时,主数据流必须始终显式命名。 在上图中,主数据流被命名为 HTTP_INGESTspring-doc.cadn.net.cn

通过使用仪表板,您还可以切换主数据流,使其变为辅助监听(tap)数据流。spring-doc.cadn.net.cn

Switch tap stream to primary stream
图21. 将主数据流切换为次级Tap数据流

将鼠标悬停在现有的主数据流上,即HTTP SourceFile Sink之间的连线。 此时会出现多个控制图标,点击标有切换为/切换出监听(tap)的图标, 即可将主数据流转换为监听(tap)数据流。 对监听数据流执行相同操作,可将其切换回主数据流。spring-doc.cadn.net.cn

End result of switching the tap stream to a primary stream
图22. 切换主数据流后的最终结果
在直接与命名目的地交互时, 可能存在“n”种组合(输入/输出)。这使您能够创建涉及 各种数据源和目的地的复杂拓扑结构。

37.7. 导入和导出流

仪表板的导入/导出选项卡包含一个页面,提供导入和导出流的选项。spring-doc.cadn.net.cn

下图展示了流导出页面:spring-doc.cadn.net.cn

Stream Utils Export
图23. Stream Utils 导出页面

导入流时,必须从一个有效的 JSON 文件导入。您可以手动编写该文件,也可以从流的导出页面导出该文件。spring-doc.cadn.net.cn

Stream Utils Import
图24. Stream Utils 导入页面

导入文件后,您将收到操作是否成功完成的确认信息。spring-doc.cadn.net.cn

Stream Utils Import Result
图25. Stream Utils 导入结果页面

38. 任务

仪表板的任务标签页当前包含三个子标签页:spring-doc.cadn.net.cn

38.1. 应用程序

每个应用程序将一个工作单元封装为可重用的组件。 在 Data Flow 运行时环境中,应用程序允许您创建流(streams)和任务(tasks)的定义。 因此,任务选项卡中的应用子选项卡可让您创建任务定义。spring-doc.cadn.net.cn

你也可以使用此选项卡来创建批处理作业。

下图展示了一个典型的应用任务列表:spring-doc.cadn.net.cn

List of Task Apps
图26. 任务应用列表

在此屏幕上,您可以执行以下操作:spring-doc.cadn.net.cn

38.1.1. 查看任务应用程序详情

在此页面上,您可以查看所选任务应用的详细信息,包括该应用可用的选项(属性)列表。spring-doc.cadn.net.cn

38.2. 定义

此页面列出了数据流任务定义,并提供了启动或销毁这些任务的操作。spring-doc.cadn.net.cn

下图显示了“定义”页面:spring-doc.cadn.net.cn

List of Task Definitions
图27. 任务定义列表

38.2.1. 创建任务定义

下图展示了一个由 timestamp 应用程序组成的工作任务定义,以及可用于创建工作任务定义的任务应用程序列表:spring-doc.cadn.net.cn

List of Task Applications

在本页面上,您还可以指定应用程序部署过程中使用的一些属性。 当您对任务定义满意后,可以点击创建任务按钮。随后会弹出一个对话框,要求输入任务定义的名称和描述。至少,您必须为新定义提供一个名称。spring-doc.cadn.net.cn

38.2.2. 创建组合任务定义

仪表板包含创建组合任务选项卡,该选项卡提供了一个交互式的图形界面,用于创建组合任务。spring-doc.cadn.net.cn

在此选项卡中,您可以:spring-doc.cadn.net.cn

  • 通过使用 DSL、图形化画布,或两者结合,来创建和可视化组合任务。spring-doc.cadn.net.cn

  • 在 GUI 中使用自动调整和网格布局功能,以更简单、交互性更强的方式组织组合任务。spring-doc.cadn.net.cn

创建组合任务页面上,您可以通过输入参数键和参数值来定义一个或多个任务参数。spring-doc.cadn.net.cn

任务参数未指定类型。

下图展示了组合任务设计器:spring-doc.cadn.net.cn

Composed Task Designer
图28. 组合任务设计器

38.2.3. 启动任务

任务定义创建完成后,您可以通过仪表板启动任务。 为此,请点击任务选项卡,然后点击Launch按钮选择要启动的任务。 下图展示了任务启动页面:spring-doc.cadn.net.cn

Task Launch
图29. 任务启动页面

38.2.4. 导入/导出任务

导入/导出页面提供了导入和导出任务的选项。通过点击页面左侧的导入/导出选项即可进入该功能。在此页面中,点击导出任务:使用所选任务创建一个 JSON 文件选项,即可进入Export Tasks(s)页面。spring-doc.cadn.net.cn

下图显示了任务导出页面:spring-doc.cadn.net.cn

Tasks Utils Export
图30. Tasks Utils 导出页面

同样,您可以导入任务定义。为此,请点击页面左侧的导入/导出选项。接着,点击导入任务:从 JSON 文件导入任务选项,以显示导入任务页面。在导入任务页面上,您需要从一个有效的 JSON 文件中导入。您可以手动编写该文件,也可以从任务导出页面导出该文件。spring-doc.cadn.net.cn

Tasks Utils Import
图31. Tasks Utils 导入页面

导入文件后,您将收到操作是否成功完成的确认信息。spring-doc.cadn.net.cn

Tasks Utils Import Result
图32. Tasks Utils 导入结果页面

38.3. 执行

任务执行标签页显示当前正在运行和已完成的任务执行。在本页面中,您可以深入查看任务执行的详细信息页面。此外,您还可以重新启动某次任务执行,或停止正在运行的任务执行。spring-doc.cadn.net.cn

最后,您可以清理一个或多个任务执行。此操作会从底层持久化存储中删除任何关联的任务或批处理作业。该操作只能针对父级任务执行触发,并会级联至其子任务执行(如果有的话)。spring-doc.cadn.net.cn

下图显示了执行选项卡:spring-doc.cadn.net.cn

List of Task Executions
图33. 任务执行列表

38.4. 执行详情

任务执行标签页中,对于每次任务执行,您可以通过点击该任务执行的执行ID来获取有关该次执行的详细信息。spring-doc.cadn.net.cn

List of Task Executions

在此屏幕上,您不仅可以查看任务执行页面中的信息,还可以查看以下内容:spring-doc.cadn.net.cn

此外,您还可以触发以下操作:spring-doc.cadn.net.cn

38.4.1. 停止执行任务

要向平台提交停止任务执行的请求,请点击需要停止的任务执行旁边的下拉按钮。 然后点击停止任务选项。仪表板将弹出一个对话框,询问您是否确定要停止该任务执行。如果确认,请点击Stop Task Execution(s)spring-doc.cadn.net.cn

Stop Executing Tasks
通过使用远程分区的 Spring Batch 应用程序启动的子 Spring Cloud Task 应用程序不会被停止。

39. 作业

作业执行选项卡允许您查看批处理作业。 屏幕的主要部分提供了作业执行的列表。 批处理作业是执行一个或多个批处理作业的任务。 每次作业执行都包含对任务执行 ID 的引用(在“任务 ID”列中)。spring-doc.cadn.net.cn

作业执行列表还会显示底层作业定义的状态。 因此,如果底层定义已被删除,则状态列中会显示“未找到定义”。spring-doc.cadn.net.cn

您可以对每个作业执行以下操作:spring-doc.cadn.net.cn

点击停止按钮实际上会向正在运行的作业发送一个停止请求,该作业可能不会立即停止。

下图显示了作业标签页:spring-doc.cadn.net.cn

List of Job Executions
图34. 作业执行列表

39.1. 作业执行详情

启动批处理作业后,作业执行详情页面将显示有关该作业的信息。spring-doc.cadn.net.cn

下图展示了作业执行详情页面:spring-doc.cadn.net.cn

Job Execution Details
图 35. 作业执行详情

作业执行详情页面包含已执行步骤的列表。 您可以点击放大镜图标,进一步深入查看每个步骤执行的详细信息。spring-doc.cadn.net.cn

39.2. 步骤执行详情

步骤执行详情页面提供有关作业中某个具体步骤的信息。spring-doc.cadn.net.cn

下图展示了步骤执行详情页面:spring-doc.cadn.net.cn

Step Execution History
图 36. 步骤执行详情

步骤执行详情页面提供了所有步骤执行上下文键值对的完整列表。spring-doc.cadn.net.cn

对于异常情况,退出描述字段包含额外的错误信息。 然而,该字段最多只能包含2500个字符。 因此,当异常堆栈跟踪较长时,错误信息可能会被截断。 发生这种情况时,请查看服务器日志文件以获取更多详细信息。

39.3. 步骤执行历史

步骤执行历史记录下,您还可以查看与所选步骤相关的各种指标,例如持续时间、读取次数、写入次数以及其他在其所有执行中的相关数据。 每个指标包含5个属性:spring-doc.cadn.net.cn

步骤执行包含以下指标:spring-doc.cadn.net.cn

  • 提交次数(Commit Count)— 给定步骤所有执行中提交次数的最大值、最小值、平均值和标准差。spring-doc.cadn.net.cn

  • 持续时间 - 给定步骤所有执行的持续时间的最大值、最小值、平均值和标准差。spring-doc.cadn.net.cn

  • 每次读取耗时 - 给定步骤所有执行中,每次读取耗时的最大值、最小值、平均值和标准差。spring-doc.cadn.net.cn

  • FilterCount - 给定步骤所有执行中过滤器数量的最大值、最小值、平均值和标准差。spring-doc.cadn.net.cn

  • 处理跳过次数(Process Skip Count)— 给定步骤的所有执行中,处理跳过次数的最大值、最小值、平均值和标准差。spring-doc.cadn.net.cn

  • 读取次数 - 给定步骤所有执行中读取次数的最大值、最小值、平均值和标准差。spring-doc.cadn.net.cn

  • 读取跳过次数 —— 给定步骤所有执行中读取跳过次数的最大值、最小值、平均值和标准差。spring-doc.cadn.net.cn

  • 回滚次数 — 给定步骤所有执行中回滚次数的最大值、最小值、平均值和标准差。spring-doc.cadn.net.cn

  • 写入次数 — 给定步骤所有执行中写入次数的最大值、最小值、平均值和标准差。spring-doc.cadn.net.cn

  • 写入跳过次数 - 给定步骤所有执行中跳过次数的最大值、最小值、平均值和标准差。spring-doc.cadn.net.cn

40. 调度

您可以从 SCDF 仪表板为任务定义创建调度计划。更多信息请参阅微网站中的调度批处理作业部分。spring-doc.cadn.net.cn

41. 审计

仪表板的审计页面可让您访问已记录的审计事件。审计事件会针对以下情况进行记录:spring-doc.cadn.net.cn

下图显示了审计记录页面:spring-doc.cadn.net.cn

List of available audit records
图 37. 审计记录列表概览

通过点击显示详情图标(右侧圆圈中的“i”),您可以获取有关审计详情的更多信息:spring-doc.cadn.net.cn

Details of a single audit record
图 38. 审计记录的详细信息列表

通常,审计提供以下信息:spring-doc.cadn.net.cn

审计数据属性的写入值取决于所执行的审计操作操作类型。 例如,当创建一个调度任务时,任务定义的名称、 任务定义属性、部署属性以及命令行参数会被写入 持久化存储中。spring-doc.cadn.net.cn

敏感信息在保存审计记录之前会以尽力而为的方式进行脱敏处理。 以下任意键都会被检测到,其对应的敏感值将被掩码遮盖:spring-doc.cadn.net.cn