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