仪表板
本节介绍如何使用 Spring Cloud Data Flow 的 Dashboard。
34. 简介
Spring Cloud Data Flow 提供了一个基于浏览器的 GUI,称为 Dashboard 来管理以下信息:
-
应用程序: 应用程序选项卡列出了所有可用的应用程序,并提供了用于注册和取消注册它们的控件。
-
运行时: Runtime (运行时) 选项卡提供所有正在运行的应用程序的列表。
-
流: 流 选项卡允许您列出、设计、创建、部署和销毁流定义。
-
任务: Tasks 选项卡允许您列出、创建、启动、计划和销毁任务定义。
-
作业: Jobs (作业) 选项卡允许您执行与批处理作业相关的功能。
启动 Spring Cloud Data Flow 后,控制面板位于:
例如,如果 Spring Cloud Data Flow 在本地运行,则控制面板位于localhost:9393/dashboard
.
如果您已启用 HTTPS,则控制面板位于localhost:9393/dashboard
.
如果您启用了安全性,则登录表单可在localhost:9393/dashboard/#/login
.
默认 Dashboard 服务器端口为9393 . |
下图显示了 Spring Cloud Data Flow 仪表板的打开页面:

35. 应用
控制板的 Applications 选项卡列出了所有可用的应用程序,并提供了用于注册和取消注册这些应用程序的控件(如果适用)。 您可以使用 Bulk Import Applications作一次导入多个应用程序。
下图显示了控制面板中可用应用程序的典型列表:

35.1. 批量导入应用程序
应用程序可以通过多种方式导入,这些方式可在 “Applications” 页面上找到。 对于批量导入,应用程序定义应以 properties 样式表示,如下所示:
<type>.<name> = <coordinates>
以下示例显示了典型的应用程序定义:
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,它应包含格式如上例所示的属性。 或者,通过使用 “Import application coordinates from a properties file” 部分中的 Apps as Properties 文本框,您可以直接列出每个属性字符串。最后,如果属性存储在本地文件中,则 Import a File 选项将打开本地文件浏览器以选择该文件。 通过其中一个路由设置定义后,单击 Import Application(s)(导入应用程序)。
下图显示了批量导入应用程序的一种方法的示例页面:

36. 运行时
Dashboard 应用程序的 Runtime 选项卡显示所有正在运行的应用程序的列表。 对于每个运行时应用程序,将显示部署的状态和已部署的实例数。 单击应用程序 ID 可获取已使用的部署属性列表。
下图显示了正在使用的 Runtime (运行时) 选项卡的示例:

37. 溪流
Streams 选项卡有两个子选项卡:Definitions 和 Create Stream。以下主题介绍如何使用每个 1 个选项:
37.1. 使用 Stream 定义
Dashboard 的 Streams 部分包括 Definitions 选项卡,该选项卡提供流定义列表。 在那里,您可以选择部署或取消部署这些流定义。 此外,您可以通过单击 Destroy 来删除定义。 每行左侧都包含一个箭头,您可以单击该箭头来查看定义的直观表示形式。 将鼠标悬停在可视化表示中的框上会显示有关应用程序的更多详细信息,包括传递给它们的任何选项。
在以下屏幕截图中,timer
stream 已扩展为显示视觉表示形式:

如果单击 details (详细信息) 按钮,视图将更改为显示该流和任何相关流的可视化表示形式。
在前面的示例中,如果单击timer
stream,视图将变为以下视图,该视图清楚地显示了三个流之间的关系(其中两个流正在利用timer
stream):

37.2. 创建流
Dashboard 的 Streams 部分包括 Create Stream 选项卡,该选项卡使 Spring Flo 设计器可用。设计器是一个画布应用程序,它提供用于创建数据管道的交互式图形界面。
在此选项卡中,您可以:
-
使用 DSL 和/或图形画布创建、管理和可视化流管道
-
使用具有内容辅助和自动完成的 DSL 编写管道
-
使用 GUI 中的自动调整和网格布局功能,实现更简单的交互式管道组织
下图显示了正在使用的 Flo 设计器:

37.3. 部署 Stream
Stream deploy (流部署) 页面包含的选项卡提供了设置部署属性和部署流的不同方法。
以下屏幕截图显示了foobar
(time | log
).
您可以使用以下方法定义部署属性:
-
表单构建器选项卡:可帮助您定义部署属性(部署程序、应用程序属性等)的构建器
-
自由文本选项卡:自由文本区域(用于键值对)
您可以在两个视图之间切换。
表单生成器提供了对输入的更强验证。 |


37.4. 访问 Stream 日志
部署流应用程序后,可以从 Stream 访问其日志summary
页面,如下图所示:

37.5. 创建扇入和扇出流
在 Fan-in 和 Fan-out 章节中,您可以了解如何使用命名目标来支持 fan-in 和 fan-out 使用案例。 UI 还为命名目标提供专用支持:

在此示例中,我们有来自 HTTP 源和 JDBC 源的数据,这些数据被发送到 sharedData 通道,这表示一个扇入用例。 在另一端,我们有一个 Cassandra Sink 和一个订阅了 sharedData 通道的 File Sink,这代表了一个扇出用例。
37.6. 创建 Tap 流
使用 Dashboard 创建 Tap 非常简单。 假设您有一个由 HTTP Source 和 File Sink 组成的流,并且您希望利用该流 也可以将数据发送到 JDBC Sink。 要创建 tap 流,请将 HTTP 源的输出连接器连接到 JDBC 接收器。 连接显示为虚线,表示您创建了 Tap 流。

主流(HTTP Source to File Sink)将自动命名,以防您尚未为流提供名称。 在创建点击流时,必须始终明确命名主流。 在上图中,主流被命名为 HTTP_INGEST。
通过使用 Dashboard,您还可以切换主流,使其成为辅助流。

将鼠标悬停在现有主流上,即 HTTP Source 和 File Sink 之间的线。 此时会显示几个控制图标,单击标记为 Switch to/from tap 的图标, 您将主流更改为 TAP 流。 对 Tap 流执行相同作,并将其切换到主流。

当直接与命名目标交互时, 可以有 “n” 种组合 (Inputs/Outputs)。这允许您创建涉及 各种数据源和目标。 |
37.7. 导入和导出流
Dashboard 的 Import/Export 选项卡包括一个页面,该页面提供了导入和导出流的选项。
下图显示了流导出页面:

导入流时,您必须从有效的 JSON 文件导入。您可以手动起草文件,也可以从 streams export 页面导出文件。

导入文件后,您将确认作是否已成功完成。

38. 任务
Dashboard 的 Tasks (任务) 选项卡当前有三个选项卡:
38.1. 应用程序
每个应用程序都将一个工作单元封装到一个可重用的组件中。 在 Data Flow 运行时环境中,应用程序允许您为流和任务创建定义。 因此,Tasks 选项卡中的 Apps 选项卡允许您创建任务定义。
您还可以使用此选项卡创建 Batch 作业。 |
下图显示了任务应用程序的典型列表:

在此屏幕上,您可以执行以下作:
-
查看详细信息,例如任务应用程序选项。
-
从相应的应用程序创建任务定义。
38.1.1. 查看任务应用程序详细信息
在此页面上,您可以查看所选任务应用程序的详细信息,包括该应用程序的可用选项(属性)列表。
38.2. 定义
此页面列出了 Data Flow 任务定义,并提供了启动或销毁这些任务的作。
下图显示了 Definitions 页面:

38.2.1. 创建 Task 定义
下图显示了由时间戳应用程序组成的任务定义,以及可用于创建任务定义的任务应用程序列表:

在此页面上,您还可以指定在应用程序部署期间使用的各种属性。 对任务定义感到满意后,您可以单击 CREATE TASK 按钮。然后,将出现一个对话框,要求提供任务定义名称和描述。您至少必须为新定义提供一个名称。
38.2.2. 创建组合任务定义
控制面板包括 Create Composed Task (创建组合任务) 选项卡,该选项卡提供用于创建组合任务的交互式图形界面。
在此选项卡中,您可以:
-
使用 DSL 和/或图形画布创建和可视化组合任务。
-
使用 GUI 中的自动调整和网格布局功能,以更简单的交互式方式组织组合任务。
在 Create Composed Task 屏幕上,您可以通过输入参数键和参数值来定义一个或多个任务参数。
不键入任务参数。 |
下图显示了组合任务设计器:

38.2.3. 启动任务
创建任务定义后,您可以通过控制面板启动任务。
为此,请单击 Tasks 选项卡,然后按选择要启动的任务Launch
.
下图显示了 Task Launch 页面:

38.2.4. 导入/导出任务
Import/Export 页面提供了导入和导出任务的选项。这是通过单击页面左侧的 Import/Export 选项来完成的。在此处,单击 Export task(s): Create a JSON file with the selected tasks 选项。这Export Tasks(s)
页面。
下图显示了任务导出页面:

同样,您可以导入任务定义。为此,请单击 导入/导出 页面左侧的选项。在此处,单击 Import task(s): Import tasks from a JSON file 选项以显示 Import Tasks 页面。在 Import Tasks (导入任务) 页面上,您必须从有效的 JSON 文件导入。您可以手动起草文件,也可以从 Tasks Export 页面导出文件。

导入文件后,您将获得有关作是否成功完成的确认。

38.3. 执行
Task Executions (任务执行) 选项卡显示当前正在运行和已完成的任务执行。在此页中,您可以向下钻取到 Task Execution (任务执行) 详细信息页面。此外,您还可以重新启动 Task Execution 或停止正在运行的执行。
最后,您可以清理一个或多个任务执行。此作将从底层持久性存储中删除任何关联的任务或批处理作业。此作只能针对父任务执行触发,并级联到子任务执行(如果有)。
下图显示了 Executions (执行) 选项卡:

38.4. 执行细节
对于 Task Executions 选项卡上的每个任务执行,您可以通过单击任务执行的 Execution ID 来检索有关特定执行的详细信息。

在此屏幕上,您不仅可以查看任务执行页面中的信息,还可以查看:
-
任务参数
-
外部执行 ID
-
Batch Job Indicator (指示任务执行是否包含 Spring Batch 作业。
-
任务执行 ID 链接(单击任务执行 ID 将带您进入该任务执行 ID 的任务执行详细信息。
-
任务执行持续时间
-
任务执行退出消息
-
记录任务执行的输出
此外,您还可以触发以下作:
-
重新启动任务
-
停止正在运行的任务
-
任务执行清理(仅适用于父任务执行)
38.4.1. 停止执行任务
要向平台提交停止任务执行请求,请单击需要停止的任务执行旁边的下拉按钮。
现在点击 停止任务 选项。控制面板会显示一个对话框,询问您是否确定要停止任务执行。如果是这样,请单击Stop Task Execution(s)
.

通过使用远程分区的 Spring Batch 应用程序启动的子 Spring Cloud Task 应用程序不会停止。 |
39. 工作
控制面板的 Job Executions (任务执行) 选项卡允许您检查批处理任务。 屏幕的主要部分提供了任务执行列表。 批处理作业是每个任务执行一个或多个批处理作业的任务。 每个任务执行都有一个对任务执行 ID 的引用(在 Task ID (任务 ID) 列中)。
任务执行列表还显示底层任务定义的状态。 因此,如果已删除基础定义,则 Status 列中会显示 No definition found。
您可以对每个作业执行以下作:
-
重新启动(对于失败的作业)。
-
Stop (用于正在运行的作业)。
-
查看执行详情。
单击 stop 按钮实际上会向正在运行的作业发送停止请求,该作业可能不会立即停止。 |
下图显示了 Jobs (作业) 选项卡:

39.1. 任务执行详情
启动批处理任务后,Job Execution Details (任务执行详细信息) 页面将显示有关任务的信息。
下图显示了 Job Execution Details (任务执行详细信息) 页面:

Job Execution Details (任务执行详细信息) 页面包含已执行步骤的列表。 您可以通过单击放大镜图标进一步深入了解每个步骤执行的详细信息。
39.2. 步骤执行详情
Step Execution Details (步骤执行详细信息) 页面提供有关任务中各个步骤的信息。
下图显示了 Step Execution Details (步骤执行详细信息) 页面:

Step Execution Details 屏幕提供了所有 Step Execution Context 键值对的完整列表。
对于异常,Exit Description 字段包含其他错误信息。 但是,此字段最多可以有 2500 个字符。 因此,在异常堆栈跟踪较长的情况下,可能会发生错误消息的剪裁。 发生这种情况时,请检查服务器日志文件以获取更多详细信息。 |
39.3. 步骤执行历史
在 Step Execution History (步骤执行历史记录) 下,您还可以查看与所选步骤关联的各种指标,例如持续时间、读取计数、写入计数等。
40. 调度
您可以从 SCDF 控制面板为任务定义创建计划。有关更多信息,请参阅微型网站的 Scheduling Batch Jobs 部分。
41. 审计
通过 Dashboard 的 Auditing (审计) 页面,您可以访问记录的审计事件。审计事件 记录:
-
流
-
创造
-
删除
-
部署
-
取消部署
-
-
任务
-
创造
-
删除
-
发射
-
-
任务调度
-
创建计划
-
删除计划
-
下图显示了 Audit Records (审核记录) 页面:

通过单击 Show details 图标(右侧圆圈中的“i”),您可以获取有关 审核详细信息:

通常,审计提供以下信息:
-
记录是何时创建的?
-
触发审核事件的用户的名称(如果启用了安全性)
-
审核作(Schedule、Stream 或 Task)
-
执行的作(创建、删除、部署、回滚、取消部署或更新)
-
关联 ID,例如 Stream 或 Task 名称
-
审计数据
audit data 属性的写入值取决于执行的 audit作和作类型。 例如,在创建计划时,任务定义的名称 编写任务定义属性、部署属性和命令行参数 添加到持久性存储中。
在保存审计记录之前,会尽最大努力清理敏感信息。 正在检测到以下任何键,其敏感值为 蒙面:
-
密码
-
秘密
-
钥匙
-
令 牌
-
。*凭据。*
-
vcap_services