插件 〉服务依赖图


开发者

Novatec Consulting GmbH


注册以接收偶尔的产品新闻和更新



面板
社区

服务依赖图

  • 概述
  • 安装
  • 变更日志
  • 相关内容

Novatec 服务依赖图面板

Downloads License

Service Dependency Graph In Action

版本 4.0.0 仅与从版本 7.1.0 开始的 Grafana 兼容!

Novatec 的服务依赖图面板提供您许多功能,例如监控您所需服务的延迟、错误和请求。这个为 Grafana 交互式面板可以帮助您更好地可视化应用程序的过程。

更新服务依赖图面板

版本 4.0.0 中图标映射的文件结构已更改。 图标现在位于路径 'plugins/novatec-sdg-panel/assets/icons/'。 这也适用于自定义图标!


数据源配置

使用静态虚拟数据

如果您想在没有自己的数据源的情况下先对这个面板有个初步了解,该面板提供了一些虚拟数据供您玩耍。

虚拟数据基本上是表格格式的多个查询结果的快照。您可以在面板的 GitHub 存储库中找到其来源 这里

根据查询结果,数据提供以下标签

  • 服务:与数据相关的服务(应用程序)。
  • 协议:通信类型(例如 HTTP、JMS 等)。
  • origin_service:在传入通信的情况下,这是源服务。
  • target_service:在传出通信的情况下,这是目标服务。
  • origin_external:传入通信的来源,无法关联到已知服务(例如第三方应用程序的 HTTP 请求)。
  • target_external:传出通信的目标,无法关联到已知服务(例如第三方 HTTP 端点)。

根据查询结果,数据提供以下字段

  • in_timesum:所有传入请求响应时间的总和。(Prometheus 风格)
  • in_count:传入请求的总数。
  • error_in:产生错误的传入请求的数量。
  • out_timesum:所有传出请求响应时间的总和。(Prometheus 风格)
  • out_count:传出请求的总数。
  • error_out:产生错误的传出请求的数量。
  • threshold:传入请求响应时间的临界阈值(毫秒)。

为了使用这些数据,您只需在“常规设置”中激活“虚拟数据开关”。所有必要的选项都将自动应用。激活虚拟数据后,您的数据映射应如下所示

响应时间in_timesum
请求速率in_count
错误率error_in
(外出)响应时间out_timesum
(外出)请求速率out_count
(外出)错误率error_out
基准响应时间(上限)阈值

请注意,您可能需要刷新仪表板或重新加载页面,以便它能够正常工作。

实时示例虚拟数据

下载并启动inspectIT Ocelot演示#1将为您提供实时虚拟数据,而不是静态数据。只需打开docker镜像的Grafana,选择仪表板服务图即可查看完整功能的服务依赖图。


使用自己的数据源

如果您现在想使用自己的数据源,您必须确保接收到的数据是TABLE格式,并且结构如下

  • 表格至少需要一列,用于指定连接的源或目标。设置源组件列目标组件列需要与相应字段的精确名称相匹配。

  • 数据可以包含多个值列。这些列必须使用面板的数据映射选项映射到特定属性。示例:假设数据表包含一个名为req_rate的列,其值代表当前时间窗口中相关连接的请求速率。为了正确地将这些值可视化为请求速率,必须将请求速率列选项设置为req_rate - 列的名称。

示例

示例1

如果遵守之前描述的要求,最小表格可以如下所示

apptarget_appreq_rate
服务a服务b50
服务a服务c75
服务c服务d25

假设面板的设置指定如截图所示,面板将按以下方式可视化数据

Visualization of the minimal data table.

注意:重要的是要知道,只有在至少定义了一个请求速率列(传入或传出)的情况下才能生成连接。

示例2

在此示例中,我们通过另一个列扩展了示例1的数据表,该列表示特定连接的所有请求响应时间的总和(例如,所有HTTP请求响应时间的总和)。

apptarget_appreq_rateresp_time
服务a服务b504000
服务a服务c7513650
服务c服务d25750

现在,面板的数据映射选项响应时间列设置为resp_time。这指定了resp_time列中的值应作为连接的响应时间处理。默认情况下,此列中的值将作为所有响应时间的总和处理——类似于Prometheus风格的指标。此行为可以通过使用将计时作为总和处理选项进行更改。此表格将导致以下可视化。

Visualization of a data table including request rate and response times.


服务图标

服务依赖图插件允许您在绘制的节点中显示自己的符号。为此,可以使用“服务图标映射”选项。在这里,您可以指定图标到某些名称模式的分配。所有匹配指定模式(正则表达式)的节点都将获得图标。

Custom service icons in the graph.

示例

默认情况下包含一个示例分配:模式:java // 图标:java。这意味着所有名称中包含java的节点都将获得java图标。

自定义服务图标

您可以通过将图标放入插件的 /assets/icons/ 目录中来添加自定义图标。文件类型 必须是 PNG,并且图标本身 必须是正方形。为了能够使用图标,其名称(不包括其扩展名)必须放入位于 /assets/icons/ 目录中的 icon_index.json 文件包含的数组中。

示例

如果 icon_index.json 包含以下内容

["java", "star_trek"]

则假定 java.pngstar_trek.png 文件存在于 /assets/icons/ 目录中。


跟踪钻取

服务依赖图插件允许您为每个绘制的节点指定后端 URL。为此,可以使用“跟踪钻取”选项。在这里,您可以指定后端 URL。开闭花括号 {} 是所选节点的占位符。每个节点将在详细信息视图中获得一个箭头图标。此图标是到您在选项中指定的后端的链接。花括号 {} 将被替换为所选节点。

示例

http://{}/my/awesome/path 当您选择 customers-service 时将结束为 http://customers-service/my/awesome/path


创建一个发布包

要创建发布包,请确保已安装 release-it

npm install --global release-it

构建发布包

release-it [--no-git.requireCleanWorkingDir]

发现了一个错误?有问题?想要贡献力量?

请随意打开一个问题。我们将照顾您并提供所需的所有帮助。任何建议/贡献都将非常受欢迎。

在 Grafana Cloud 上安装服务依赖图

有关更多信息,请访问插件安装文档。

变更日志

本文件将记录此项目所有显著的变更。

v4.0.2

修复了图标路径错误

v4.0.1

SumTimings现在按预期工作,响应时间健康现在显示在节点统计中,外部图标现在使用正确的路径

v4.0.0

将项目移植到React。不再需要aggregationType作为模板变量。现在可以选择数据单元类型。现在可以对传入/传出统计表进行排序。当激活虚拟数据时,现在将自动填写显示虚拟数据所需的设置。现在可以自定义内部和外部服务的服务图标。