插件 〉服务依赖图
服务依赖图
Novatec 服务依赖图面板
版本 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
如果遵守之前描述的要求,最小表格可以如下所示
app | target_app | req_rate |
---|---|---|
服务a | 服务b | 50 |
服务a | 服务c | 75 |
服务c | 服务d | 25 |
假设面板的设置指定如截图所示,面板将按以下方式可视化数据
注意:重要的是要知道,只有在至少定义了一个请求速率列(传入或传出)的情况下才能生成连接。
示例2
在此示例中,我们通过另一个列扩展了示例1的数据表,该列表示特定连接的所有请求响应时间的总和(例如,所有HTTP请求响应时间的总和)。
app | target_app | req_rate | resp_time |
---|---|---|---|
服务a | 服务b | 50 | 4000 |
服务a | 服务c | 75 | 13650 |
服务c | 服务d | 25 | 750 |
现在,面板的数据映射
选项响应时间列
设置为resp_time
。这指定了resp_time
列中的值应作为连接的响应时间处理。默认情况下,此列中的值将作为所有响应时间的总和处理——类似于Prometheus风格的指标。此行为可以通过使用将计时作为总和处理
选项进行更改。此表格将导致以下可视化。
服务图标
服务依赖图插件允许您在绘制的节点中显示自己的符号。为此,可以使用“服务图标映射”选项。在这里,您可以指定图标到某些名称模式的分配。所有匹配指定模式(正则表达式)的节点都将获得图标。
示例
默认情况下包含一个示例分配:模式:java // 图标:java
。这意味着所有名称中包含java
的节点都将获得java
图标。
自定义服务图标
您可以通过将图标放入插件的 /assets/icons/
目录中来添加自定义图标。文件类型 必须是 PNG
,并且图标本身 必须是正方形。为了能够使用图标,其名称(不包括其扩展名)必须放入位于 /assets/icons/
目录中的 icon_index.json
文件包含的数组中。
示例
如果 icon_index.json
包含以下内容
["java", "star_trek"]
则假定 java.png
和 star_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 上安装服务依赖图
在 Grafana Cloud 实例上安装插件是一次点击安装;更新也是如此。酷吧?
请注意,可能需要长达 1 分钟的时间才能在您的 Grafana 中看到插件。
在 Grafana Cloud 实例上安装插件是一次点击安装;更新也是如此。酷吧?
请注意,可能需要长达 1 分钟的时间才能在您的 Grafana 中看到插件。
在 Grafana Cloud 实例上安装插件是一次点击安装;更新也是如此。酷吧?
请注意,可能需要长达 1 分钟的时间才能在您的 Grafana 中看到插件。
在 Grafana Cloud 实例上安装插件是一次点击安装;更新也是如此。酷吧?
请注意,可能需要长达 1 分钟的时间才能在您的 Grafana 中看到插件。
在 Grafana Cloud 实例上安装插件是一次点击安装;更新也是如此。酷吧?
请注意,可能需要长达 1 分钟的时间才能在您的 Grafana 中看到插件。
在 Grafana Cloud 实例上安装插件是一次点击安装;更新也是如此。酷吧?
请注意,可能需要长达 1 分钟的时间才能在您的 Grafana 中看到插件。
在 Grafana Cloud 实例上安装插件是一次点击安装;更新也是如此。酷吧?
请注意,可能需要长达 1 分钟的时间才能在您的 Grafana 中看到插件。
有关更多信息,请访问插件安装文档。
在本地 Grafana 上安装
对于本地实例,插件通过简单的 CLI 命令进行安装和更新。插件不会自动更新,但是当更新可用时,您将在 Grafana 中收到通知。
1. 安装面板
使用 grafana-cli 工具从命令行安装 Service Dependency Graph
grafana-cli plugins install
插件将被安装到您的 grafana 插件目录中;默认为 /var/lib/grafana/plugins。 有关 CLI 工具的更多信息.
2. 将面板添加到仪表板
已安装的面板立即在 Grafana 主菜单的仪表板部分中可用,可以像添加其他任何核心面板一样添加。
要查看已安装面板的列表,请点击主菜单中的插件项。将显示核心面板和已安装面板。
变更日志
本文件将记录此项目所有显著的变更。
v4.0.2
修复了图标路径错误
v4.0.1
SumTimings现在按预期工作,响应时间健康现在显示在节点统计中,外部图标现在使用正确的路径
v4.0.0
将项目移植到React。不再需要aggregationType作为模板变量。现在可以选择数据单元类型。现在可以对传入/传出统计表进行排序。当激活虚拟数据时,现在将自动填写显示虚拟数据所需的设置。现在可以自定义内部和外部服务的服务图标。