仪表板
本节介绍如何使用 Spring Cloud Data Flow 的仪表盘。
34. 引言
Spring Cloud Data Flow 提供了一个基于浏览器的图形界面,称为仪表盘(Dashboard),用于管理以下信息:
-
应用:应用标签列出所有可用应用,并提供注册和取消注册的控制。
-
运行时:运行时标签提供所有运行应用程序的列表。
-
流:流标签允许你列出、设计、创建、部署和销毁流定义。
-
任务:任务标签允许你列出、创建、启动、调度和销毁任务定义。
-
作业:作业标签允许你执行与批处理相关的任务。
启动 Spring Cloud 数据流后,仪表盘可在以下网站访问:
例如,如果 Spring Cloud Data Flow 在本地运行,仪表盘可在localhost:9393/dashboard.
如果您启用了HTTPS,仪表盘可在以下网站访问localhost:9393/dashboard. 如果您已启用安全功能,登录表单可在以下网站获取localhost:9393/dashboard/#/login.
默认的仪表盘服务器端口是9393. |
下图展示了Spring Cloud数据流仪表盘的开场页面:
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
在批量导入页面顶部,你可以指定一个指向存储在其他地方的属性文件的URI,该文件应包含如前例所示格式的属性。或者,通过“应用作为属性”文本框,你可以直接列出每个属性字符串。最后,如果属性存储在本地文件中,选择属性文件选项会打开本地文件浏览器来选择该文件。通过这些路径设置定义后,点击导入。
下图展示了批量导入应用页面:
36. 播放时间
仪表盘应用的运行时标签显示所有运行中的应用程序列表。对于每个运行时应用程序,会显示部署状态和已部署实例数量。点击应用 ID 可查看已使用部署属性列表。
下图展示了运行时标签页的使用示例:
37. 溪流
Streams 标签页有两个子标签页:定义和创建 Stream。以下主题描述了如何作每个子节点:
37.1. 处理流定义
仪表盘的流部分包含定义标签,列出流定义。你可以选择部署或取消部署这些流定义。此外,你可以通过点击“销毁”来移除定义。每行左侧都有一个箭头,你可以点击它查看定义的可视化表示。将鼠标悬停在可视化表示中的框上,可以显示应用程序的更多细节,包括传递给它们的任何选项。
在下面的截图中,定时器流已扩展以展示视觉表现:
如果你点击详细信息按钮,视图会变为显示该流及相关流的视觉表示。在前面的例子中,如果你点击定时器流,视图切换为以下视图,清晰显示了三条流之间的关系(其中两条正在接入定时器流媒体):
37.2. 创建流
仪表盘的“Streams”部分包含创建流标签,使Spring Flo设计器可用。Designer是一个画布应用,提供交互式图形界面用于创建数据管道。
在这个标签页中,你可以:
-
通过使用 DSL、图形画布或两者结合来创建、管理和可视化流水线
-
使用带有内容辅助和自动补全功能的DSL编写流水线
-
在图形界面中使用自动调整和网格布局功能,实现管道的更简单和互动的组织
下图展示了使用中的Flo设计师:
37.3. 部署流
流部署页面包含多个标签页,提供不同方式设置部署属性和部署流。以下截图展示了流部署页面福巴尔 (时间 | 日志).
您可以通过以下方法定义部署属性:
-
表单构建器标签:一个帮助你定义部署属性(部署器、应用属性等)的构建器
-
自由文本标签:一个自由文本区域(用于键值对)
你可以在两个视角之间切换。
| 表单构建器能更强地验证输入。 |
37.4. 访问流日志
一旦流应用部署完成,就可以从流中访问它们的日志总结页面,如下图所示:
37.5. 创建粉丝进出流
在这个例子中,我们有来自 HTTP 源和 JDBC 源的数据被发送到 sharedData 通道,代表一个扇入用例。另一端是 Cassandra Sink 和一个 File Sink,订阅于 sharedData 通道,代表扇出用例。
37.6. 创建分流
使用仪表盘创建分流非常简单。假设你有一个由 HTTP 源和一个文件汇组成的流,并且你想接入该流以便同时将数据发送到 JDBC 汇。要创建分流流,将 HTTP 源的输出连接器连接到 JDBC 汇。连接以虚线显示,表示你创建了分流流。
主流(HTTP源到文件汇)将被自动命名,如果你还没有为流命名。创建分流流时,主流必须始终明确命名。在上一张图片中,主流被命名为HTTP_INGEST。
通过仪表盘,你还可以切换主流,使其成为次要分流。
将鼠标悬停在现有的主流上,即 HTTP 源和文件汇之间的线。会出现几个控制图标,点击标有“切换至/从接入点”的图标,你将主流改为分流流。同样地将分流流切换为主流。
| 当直接与命名的目的地交互时,可以有“n”个组合(输入/输出)。这使你可以创建涉及各种数据源和目的地的复杂拓扑结构。 |
37.7. 导入和导出流
仪表盘的“Streams”标签包含一个新的“Streams Utils”页面,提供导入和导出流的选项。
下图显示了流媒体导出页面:
在流汇导入页面,你必须从有效的JSON文件导入。你可以手动草拟文件,也可以从流汇出页面导出文件。
导入文件后,你会确认作是否成功完成。
38. 任务
仪表盘的任务标签目前有三个标签页:
38.1. 应用程序
每个应用程序都将一个工作单元封装为可重用组件。在数据流运行环境中,应用程序允许你创建流定义和任务。因此,任务标签下的应用标签允许你创建任务定义。
| 你也可以用这个标签创建批处理作业。 |
下图展示了典型的任务应用列表:
在这个界面,你可以执行以下作:
-
查看详细信息,例如任务应用选项。
-
从相应的应用程序创建一个任务定义。
38.1.1. 查看任务应用详情
在本页,您可以查看所选任务应用的详细信息,包括该应用可用的选项(属性)列表。
38.1.2. 创建任务定义
下图展示了任务应用列表:
至少,你必须为新定义提供一个名称。你还可以指定在应用部署过程中使用的各种属性。
| 每个参数只有在选择“包含”复选框时才被包含。 |
38.2. 定义
本页列出了数据流任务定义,并提供了启动或销毁这些任务的作。它还提供了一个快捷方式作,用简单的文本输入定义一个或多个任务,表示方式为批量定义任务按钮。
下图显示了定义页面:
38.2.1. 创建组合任务定义
仪表盘包含“创建已组合任务”标签页,提供创建已组合任务的交互式图形界面。
在这个标签页中,你可以:
-
通过使用DSL、图形画布或两者兼用来创建和可视化已完成的任务。
-
在图形界面中使用自动调整和网格布局功能,以便更简单、更互动地组织已完成的任务。
在“创建已组合任务”界面,您可以输入参数键和参数值来定义一个或多个任务参数。
| 任务参数没有类型化。 |
下图展示了组合后的任务设计师:
38.2.2. 启动任务
任务定义创建后,你可以通过仪表盘启动任务。
点击“定义”标签,并点击发射.
下图显示任务启动页面:
38.2.3. 导入/导出任务
仪表盘的任务标签包含一个新的工具页面,提供导入和导出任务的选项。
下图显示了任务导出页面:
在任务导入页面,你必须从有效的JSON文件导入。你可以手动草拟文件,或者从任务导出页面导出文件。
导入文件后,你会确认作是否成功完成。
38.3. 处决
执行标签显示当前正在运行和已完成的任务执行情况。从该页面,您可以深入到任务执行详情页面。此外,你可以重新启动任务执行或停止正在进行的执行。
最后,你可以清理一个或多个任务执行。该作会从底层的持久存储中移除任何关联的任务或批处理作业。该作只能在父任务执行时触发,并级联到子任务执行(如果有的话)。
下图显示了执行标签:
38.4. 执行小组
对于执行标签页中的每个任务执行,你可以通过点击任务执行右侧的信息图标获取特定执行的详细信息。
在这个界面,你不仅可以看到任务执行页面的信息,还可以查看:
-
任务参数
-
外部执行ID
-
批处理作业指示器(指示任务执行是否包含Spring批处理作业)
-
作业执行ID链接(点击作业执行ID,将跳转到该作业执行ID的作业执行详情。)
-
任务执行时长
-
任务执行退出消息
-
任务执行的日志输出
此外,您还可以触发以下作:
-
重新启动任务
-
停止正在进行的任务
-
任务执行清理(仅针对父任务执行)
38.4.1. 停止执行任务
要向平台提交停止任务执行请求,请点击需要停止的任务执行旁边的下拉按钮。
现在点击停止任务选项。仪表盘会显示一个对话框,询问你是否确定要停止任务执行。如果是,点击停止任务执行.
| 通过使用远程分区的 Spring Batch 应用程序启动的子 Spring Cloud 任务应用程序不会被停止。 |
39. 工作
仪表盘的“作业”标签允许你检查批处理作业。 屏幕主板会列出作业执行。 批处理任务是每个任务执行一个或多个批处理任务。 每个作业执行都引用任务执行ID(任务ID列中)。
作业执行列表还显示了底层作业定义的状态。 因此,如果底层定义已被删除,状态栏中会显示“未找到定义”。
你可以为每个任务采取以下措施:
-
重启(对于失败的任务)。
-
停止(因为跑任务)。
-
查看执行详情。
| 点击停止按钮实际上会向正在运行的作业发送停止请求,但作业可能不会立即停止。 |
下图显示了“职位”标签:
39.1. 作业执行详情
启动批处理任务后,作业执行详情页面会显示该作业的信息。
下图显示了作业执行详情页面:
作业执行详情页面包含已执行步骤的列表。 你可以通过点击放大镜图标进一步深入了解每个步骤的执行细节。
39.2. 步骤执行细节
步骤执行详情页面提供作业中单个步骤的信息。
下图展示了步骤执行详情页面:
页面顶部有一个进度指示器,显示相应的步骤,并有刷新指示器的选项。 提供一个链接,可查看步骤执行历史。
步骤执行详情界面提供了所有步骤执行上下文键值对的完整列表。
| 对于例外情况,出口描述字段包含额外的错误信息。 不过,该字段最多可包含2500个字符。 因此,在长异常堆栈跟踪的情况下,错误消息可能会被裁剪。 遇到这种情况时,查看服务器日志文件以获取更多细节。 |
39.3. 步骤执行进展
在这个屏幕上,你可以看到一个关于执行的进度条指示器 当前步骤。在步骤执行历史中,你还可以查看各种 与所选步骤相关的指标,如时长、读取计数、写入 伯爵,以及其他。
40. 排程
你可以从 SCDF 仪表盘创建任务定义的计划。更多信息请参见微站的“调度批作业”部分。
41. 审计
仪表盘的审计页面为您提供了录制的审计事件访问。审计事件 记录包括:
-
流
-
创造
-
删除
-
部署
-
解除部署
-
-
任务
-
创造
-
删除
-
发射
-
-
任务调度
-
创建日程
-
删除计划
-
下图显示了审计记录页面:
点击节目详情图标(右侧圆圈中的“i”),您可以获取更多关于 审计细节:
通常,审计提供以下信息:
-
这张唱片是什么时候制作的?
-
触发审计事件的用户名(如果启用了安全功能)
-
审计作(计划、流或任务)
-
执行的作(创建、删除、部署、回滚、取消部署或更新)
-
相关ID,如流或任务名称
-
审计数据
审计数据属性的书写值取决于执行的审计作和动作类型。 例如,当创建计划时,任务定义的名称, 任务定义属性、部署属性和命令行参数都被编写 去坚持商店。
敏感信息在保存审计记录前会以最佳方式进行净化处理。 以下任一键正在被检测,其敏感值为 蒙面:
-
密码
-
秘密
-
钥匙
-
Tokens
-
。*凭据。*
-
vcap_services = 样本
42. 链接
以下样本可供获取: