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

35. 应用程序
仪表板的“应用程序”选项卡列出了所有可用的应用程序,并提供了用于注册和注销它们的控件(如果适用)。 您可以使用批量导入应用程序作一次导入多个应用程序。
下图显示了仪表板中可用应用程序的典型列表:

35.1. 批量导入应用程序
可以通过多种方式导入应用程序,这些方式可在“应用程序”页面上找到。 对于批量导入,应用程序定义应以属性样式表示,如下所示:
<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,它应包含格式如上一个示例所示的属性。 或者,通过使用“从属性文件导入应用程序坐标”部分中的“应用作为属性”文本框,可以直接列出每个属性字符串。最后,如果属性存储在本地文件中,则“导入文件”选项将打开本地文件浏览器以选择该文件。 通过其中一条路线设置定义后,单击导入应用程序。
下图显示了批量导入应用程序的一种方法的示例页面:

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

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

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

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

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


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

37.5. 创建扇入和扇出流

在此示例中,我们有来自 HTTP 源和 JDBC 源的数据,这些数据正在发送到 sharedData 通道,这代表了一个扇入用例。 在另一端,我们有一个 Cassandra Sink 和一个订阅到 sharedData 通道的文件接收器,这代表了一个扇出用例。
37.6. 创建分流
使用仪表板创建分流非常简单。 假设您有一个由 HTTP 源和文件接收器组成的流,并且您想访问该流 以将数据发送到 JDBC 接收器。 要创建分流,请将 HTTP 源的输出连接器连接到 JDBC 接收器。 连接显示为虚线,表示您创建了分流。

主流(HTTP 源到文件接收器)将自动命名,以防尚未提供流的名称。 创建分流时,必须始终显式命名主流。 在上图中,主流被命名为 HTTP_INGEST。
通过使用仪表板,您还可以切换主流,使其成为辅助分流。

将鼠标悬停在现有主流上,即 HTTP 源和文件接收器之间的线。 出现几个控件图标,通过单击标有切换到/从水龙头切换的图标, 您将主流更改为分流。 对分流流执行相同的作,并将其切换到主流。

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

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

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

38. 任务
仪表板的“任务”选项卡目前有三个选项卡:
38.1. 应用程序
每个应用程序都将一个工作单元封装到一个可重用的组件中。 在数据流运行时环境中,应用程序允许您为流和任务创建定义。 因此,“任务”选项卡中的“应用程序”选项卡允许您创建任务定义。
您还可以使用此选项卡创建批处理作业。 |
下图显示了任务应用程序的典型列表:

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

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

在此页上,您还可以指定在应用程序部署期间使用的各种属性。 对任务定义感到满意后,可以单击 创建任务 按钮。然后,一个对话框要求输入任务定义名称和描述。至少必须为新定义提供名称。
38.2.2. 创建组合任务定义
仪表板包括“创建组合任务”选项卡,该选项卡提供了用于创建组合任务的交互式图形界面。
在此选项卡中,您可以:
-
使用 DSL、图形画布或两者创建和可视化组合任务。
-
在 GUI 中使用自动调整和网格布局功能,以更简单地交互式组织组合任务。
在[创建组合任务]界面中,可同时输入参数键和参数值,定义一个或多个任务参数。
任务参数未键入。 |
下图显示了组合任务设计器:

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

38.2.4. 导入/导出任务
“导入/导出”页面提供了导入和导出任务的选项。这是通过单击页面左侧的“导入/导出”选项来完成的。从这里,单击导出任务:使用所选任务创建 JSON 文件选项。这Export Tasks(s)
页面出现。
下图显示了任务导出页面:

同样,您可以导入任务定义。为此,请单击 导入/导出 页面左侧的选项。从这里,单击 导入任务:从 JSON 文件导入任务 选项以显示 导入任务 页面。在“导入任务”页面上,必须从有效的 JSON 文件导入。您可以手动起草文件,也可以从“任务导出”页面导出文件。

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

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

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

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

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

39.1. 作业执行详细信息
启动批处理作业后,“作业执行详细信息”页面将显示有关该作业的信息。
下图显示了“作业执行详细信息”页面:

“作业执行详细信息”页面包含已执行步骤的列表。 您可以通过单击放大镜图标进一步深入了解每个步骤执行的详细信息。
39.2. 步骤执行详细信息
“步骤执行详细信息”页面提供有关作业中单个步骤的信息。
下图显示了“步骤执行详细信息”页面:

“步骤执行详细信息”屏幕提供了所有步骤执行上下文键值对的完整列表。
对于异常,“退出说明”字段包含其他错误信息。 但是,此字段最多可以有 2500 个字符。 因此,在长异常堆栈跟踪的情况下,可能会发生错误消息的修剪。 发生这种情况时,请检查服务器日志文件以获取更多详细信息。 |
39.3. 步骤执行历史
在“步骤执行历史记录”下,您还可以查看与所选步骤关联的各种指标,例如持续时间、读取计数、写入计数等。
40. 调度
您可以从 SCDF 仪表板为任务定义创建计划。有关更多信息,请参阅微型站点的“计划批处理作业”部分。
41. 审计
仪表板的“审核”页面允许您访问记录的审核事件。审核事件记录为:
-
流
-
创造
-
删除
-
部署
-
取消部署
-
-
任务
-
创造
-
删除
-
发射
-
-
任务调度
-
创建计划
-
删除计划
-
下图显示了“审核记录”页:

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

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