View a markdown version of this page

Connect 连接到 ServiceNow 数据源 - Amazon Managed Grafana

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Connect 连接到 ServiceNow 数据源

这是用于连接 ServiceNow实例 ServiceNow 的数据源。

注意

此数据来源仅适用于 Grafana Enterprise。有关更多信息,请参阅 管理对 Enterprise 插件的访问。

此外,在支持版本 9 或更高版本的工作区中,此数据来源可能需要您安装相应的插件。有关更多信息,请参阅 使用插件扩展您的工作区。

功能

  • 查询

    • 统计 API 查询

    • 表 API 查询

      • 事件、变更和任何其他表

  • 警报

  • 注释(测试版功能)

  • 模板变量

配置

在 Grafana 的左侧面板上选择数据来源。

选择“添加数据来源”:

输入 servicenow 以查找数据来源插件:

输入 ServiceNow 网址:

选择保存并测试。您应该会看到一条绿色消息,上面写着 “ServiceNow 连接正常”。

控制面板示例

Pre-made 仪表板包含在插件中,可以通过 “仪表板” 选项卡下的数据源配置页面导入。

用法

在查询编辑器中返回数据的方法有两种。

  • TableAPI

  • AggregateAPI

用户目前可以在查询预定义表之间进行选择,如下所示:

  • 更改

  • 意外事件

或者,截至v1.4.0目前,使用其他(自定义表)选项的表和字段 API-driven 列表。此选项将允许您查询用于设置数据源的用户可用的任何表中的 ServiceNow 数据。

自定义表选项应支持所有与预定义表列表相同的功能。

TableAPI 查询

TableAPI 返回适合在表面板中显示的数据。它允许按顺序选择要显示的字段以及筛选选项。查询编辑器还提供了一个用于限制查询返回的行数的字段。

显示上次查询结果的表面板示例。

显示

显示行为要显示的字段提供了一个选择器。也可以指定多个字段。这些字段将按指定的确切顺序返回。

显示值

显示值标志将使查询返回人性化值或显示值,而不是数值。

例如,如果没有此标志,则严重性 1 会仅显示 1。如果启用了该标志,则显示的值将为 1 - High。

根据 ServiceNow API文档,这可能会对性能产生负面影响。

注意

[...] 指定显示值可能会导致性能问题,因为它不是直接从数据库读取数据,并且可能包括引用其他字段和记录。

筛选器(通用)

筛选器行使用户能够根据多个字段和值标准缩小显示行的范围。

所有筛选器都与 AND 或 OR 运算相结合。

不使用自定义表时,以下字段可用(此列表将来会扩展)。

Active Asset Group Assigned To Escalation Issue Number Description Priority State Type Change Risk Change State Start Date End Date On Hold

选择自定义表时,将自动从 ServiceNow API 填充字段。

日期筛选条件
时间字段 运算符 值
打开时间 At or Before Today Not Today Before At or Before After At or After timestamp javascript:gs.daysAgo(30)
活动到期时间
关闭时间
到期日
预计开始时间
重新打开时间
解决时间
工作结束时间
工作开始时间
忽略时间

有关其他日期值,请参阅:https://developer.servicenow.com/app.do#! /api_doc? v=newyork&id=r_ _S_S SGSYS-dateGenerate

运算符(通用,基于字符串)
  • Starts With

  • Ends With

  • like

  • Not Like

  • Equals

  • Not Equals

  • Is Empty

运算符(基于时间)
  • Today

  • Not Today

  • Before

  • At or Before

  • 晚于

  • At or After

值

值选择取决于选择的筛选器的类型。

  • 布尔过滤器有 True/False 选项

  • 文本筛选器将允许键入任何值

  • 升级、优先级有一组固定的数值

排序依据

排序依据行使用户能够根据多个字段和值标准缩小显示行的范围。

所有筛选器均与 AND 运算相结合。将添加对其他运算符的支持。

限制

可以指定行限制以防止返回太多数据。默认值为 25。

时间字段

Time Field 是将您查询到的数据转换为时间序列的原因。将您的数据作为时间序列进行处理意味着所选“时间字段”中未落到控制面板/面板时间范围内的值将不会显示。

使用的默认时间字段是“打开时间”,但可以将该字段更改为任何包含时间值的可用字段。

提供了一个特殊值“忽略时间”,以允许结果“到目前为止”,并使筛选器能够控制显示哪些数据。

AggregateAPI 查询(统计信息)

AggregateAPI 将始终返回指标,其中包含以下聚合:平均值、最小值、最大值、总和。筛选也可用于缩小查询范围。

显示

显示行为要显示的指标提供了一个选择器。也可以指定多个指标。

筛选器(通用)

聚合筛选器提供了根据字段和值标准缩小显示指标范围的功能,类似于表选项。

所有筛选器均与 AND 运算相结合。将添加对其他运算符的支持。

统计筛选器选项与 TableAPI 相同。

聚合

指标聚合有四种类型,外加一个“计数”:

  • 平均值

  • 最小值

  • 最大值

  • 总和

  • 计数:计数将返回查询返回的指标的“数量”

分组依据

此选择器可以将指标拆分为较小的聚合。按“优先级”分组将返回带有优先级“标签”的指标,其中的唯一值已分隔开。

模板化

您可以使用变量代替查询中的硬编码名称。变量显示为控制面板顶部的下拉选择框。您可以使用这些下拉框来更改控制面板上显示的数据。

请参阅查询变量部分中的示例,了解如何添加查询变量并使用模板值引用该变量。

查询变量

如果添加 Query 类型的模板变量,则可以编写一个查询,该查询可以返回目录名称、键名或键值等显示为下拉选择框的项目。

例如,可以通过在模板变量 Query 设置中指定这样的查询,来获取包含 categories 的所有值的变量。

选择查询设置时,将显示筛选器部分,允许您选择类型和字段。目前,类型仅限于事件和更改。选择类型时,系统会为您提供适用于该类型的字段列表。选择 “类型” 和 “字段” 后,底部将显示值的预览,显示可用的选项 Type/Field。这些值将显示在控制面板的下拉列表中,您可以将其与模板一起使用来筛选控制面板的面板上的数据。

例如,如果您添加一个名为 category 的变量,然后选择“类型 = 事件”和“字段 = 类别”,那么将看到类型的选项列表。如果您随后向面板添加筛选器,并选择类别等于 ${category},则面板数据将仅显示从控制面板下拉列表中选择的该类别的数据。

导入按类别划分的事件控制面板以查看示例。

在查询中使用变量

共有两种语法:

$<varname> 名为 hostname 的模板变量的示例:

[[varname]] 名为 hostname 的模板变量的示例:

警报

支持标准 Grafana Alerting。图形面板中定义的任何查询都可用于生成警报。

以下是查询示例和警报。此查询将返回所有未解决的重大高优先级事件的图形:

当有超过五件未解决的重大高优先级事件时,将启动此警报:

测试警报规则将显示警报规则的输出,选择状态历史记录将显示警报从正常过渡到待处理再到警报的过程。

当警报处于待定状态时,图形视图将显示一条垂直线,顶部的心形图标将变为橙色。

满足警报条件后,该规则将变为红色。

在图形视图中,将出现红色垂直线,顶部的心形图标将变为红色。

为警报编写事件

测试版功能

  • 为您的 ServiceNow 数据源配置通知渠道。

这将配置一个 Grafana 通知渠道,该渠道使用您配置的用户在实例上为此数据 ServiceNow 源创建事件。

此操作要求 ServiceNow 数据源用户具有写入事件的权限。

Annotations

截至该数据来源的 v1.4.0,Grafana 注释仍是一项测试版功能。注释使您能够在图表上叠加事件。

“注释”查询支持与标准查询编辑器相同的选项,但有一些细微的区别:

  • 只能选择一个“显示”列。这可能会在将来的改进中得到修复。

  • 时间字段为必填项。

常见问题解答

如果我们没有 ITSM 角色插件会怎样?

需要管理员访问权限才能执行以下操作

选项 1:授予 Grafana 用户管理员权限以允许访问所有表。

选项 2:创建角色并将 ACL 应用于 Grafana 必须访问的所有表。

需要管理员访问权限才能执行以下操作。

  1. 已登录的管理员需要提升对 security_admin 的访问权限级别。

    1. 在右上方的导航窗格中,选择个人资料图标。个人资料图标带有下拉插入符号指示器。

    2. 从下拉列表中,选择提升角色。

    3. 在显示的模态中,选中 security_admin 复选框。

    4. 选择确定。

  2. 使用您想要的任何命名约定创建一个新角色。

    1. 导航到左侧导航栏中的“角色”部分:“系统安全”=>“用户和组”=>“角色”

    2. 选择顶部的新建。

    3. 输入角色的名称和相关说明。

    4. 选择提交。

  3. 创建新用户或修改具有所需角色的现有用户。

    1. 您在步骤 2 中创建的角色

    2. personalize_dictionary

    3. personalize_choices

    4. cmdb_read(这将授予对所有 cmdb 表的读取访问权限)

  4. 为所需的表和字段创建表 ACL。

    1. 为 sys_db_object 表创建 ACL。

      1. 在第二个搜索标题列的名称中,输入 sys_db_object,然后按 Enter。

      2. 筛选结果应显示表。选择表以导航到记录。

      3. 在选项卡部分,选择控件。

      4. 在页面的下半部分,确保选择了访问控制选项卡。

      5. 要创建新 ACL,请选择新建。

      6. 更改操作选择以进行读取。

      7. 在屏幕下方的需要角色部分中,选择(双击)插入新行,然后搜索您创建的角色。

      8. 选择您创建的角色后,选择绿色复选标记。

      9. 选择屏幕下方的提交以创建 ACL,然后在出现模态时选择继续。

  5. 为特定的 sys_db_object 字段创建 ACL。必须对以下每个字段重复以下步骤:“名称”、“标签”、“显示名称”和“扩展”表。

    1. 如果您仍处于 sys_db_object 的表记录视图中,在最靠近屏幕顶部的选项卡组中选择列选项卡。

    2. 找到文件名并选择该文件名。

    3. 在下方的选项卡部分,在访问控制选项卡上选择新建。

    4. 将操作改为读取。

    5. 在底部的“需要角色”表格中选择(双击)以插入一行文本。

    6. 搜索并选择您创建的角色,并选择绿色复选标记。

    7. 选择提交。

    8. 请确保对所有必填字段重复这些步骤:“名称”、“标签”、“显示名称”和“扩展” 表。

  6. 在“更改”、“事件”表以及要从 Grafana 查询的任何其他非 CMDB 表上重复 4.1 中的步骤。不要重复 4.2 中的步骤;只有在 sys_db_object 中才需要执行该步骤。