本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
连接到 ServiceNow 数据来源
这是用于连接到 ServiceNow 实例的 ServiceNow 数据来源。
注意
此数据来源仅适用于 Grafana Enterprise。有关更多信息,请参阅 管理对 Enterprise 插件的访问。
此外,在支持版本 9 或更高版本的工作区中,此数据来源可能需要您安装相应的插件。有关更多信息,请参阅 使用插件扩展您的工作区。
功能
-
查询
-
统计 API 查询
-
表 API 查询
-
事件、变更和任何其他表
-
-
-
提醒
-
注释(测试版功能)
-
模板变量
配置
在 Grafana 的左侧面板上选择数据来源。
选择“添加数据来源”:
输入 servicenow
以查找数据来源插件:
输入 ServiceNow URL:
选择保存并测试。您应该会看到一条绿色消息,上面写着“ServiceNow 连接正常”。
控制面板示例
预制控制面板包含在插件中,可通过控制面板选项卡下面的数据来源配置页面导入。
使用量
在查询编辑器中返回数据的方法有两种。
-
TableAPI
-
AggregateAPI
用户目前可以在查询预定义表之间进行选择,如下所示:
-
更改
-
意外事件
或者,截止到 v1.4.0
,使用其他(自定义表)选项的由 API 驱动的表和字段列表。此选项将允许您查询可用于用户的任何表中用于设置 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_SGSYS-dateGenerate_S_S
运算符(通用,基于字符串)
-
Starts With
-
Ends With
-
like
-
Not Like
-
等于
-
Not Equals
-
Is Empty
运算符(基于时间)
-
Today
-
Not Today
-
早于
-
At or Before
-
晚于
-
At or After
值
值选择取决于选择的筛选器的类型。
-
布尔筛选器有 True/False 选项
-
文本筛选器将允许键入任何值
-
升级、优先级有一组固定的数值
排序依据
排序依据行使用户能够根据多个字段和值标准缩小显示行的范围。
所有筛选器均与 AND 运算相结合。将添加对其他运算符的支持。
限制
可以指定行限制以防止返回太多数据。默认值为 25。
时间字段
Time Field
是将您查询到的数据转换为时间序列的原因。将您的数据作为时间序列进行处理意味着所选“时间字段”中未落到控制面板/面板时间范围内的值将不会显示。
使用的默认时间字段是“打开时间”,但可以将该字段更改为任何包含时间值的可用字段。
提供了一个特殊值“忽略时间”,以允许结果“到目前为止”,并使筛选器能够控制显示哪些数据。
AggregateAPI 查询(统计信息)
AggregateAPI 将始终返回指标,其中包含以下聚合:平均值、最小值、最大值、总和。筛选也可用于缩小查询范围。
显示
显示行为要显示的指标提供了一个选择器。也可以指定多个指标。
筛选器(通用)
聚合筛选器提供了根据字段和值标准缩小显示指标范围的功能,类似于表选项。
所有筛选器均与 AND 运算相结合。将添加对其他运算符的支持。
统计筛选器选项与 TableAPI 相同。
聚合
指标聚合有四种类型,外加一个“计数”:
-
平均值
-
最低
-
最高
-
总和
-
计数:计数将返回查询返回的指标的“数量”
分组依据
此选择器可以将指标拆分为较小的聚合。按“优先级”分组将返回带有优先级“标签”的指标,其中的唯一值已分隔开。
模板化
您可以使用变量代替查询中的硬编码名称。变量显示为控制面板顶部的下拉选择框。您可以使用这些下拉框来更改控制面板上显示的数据。
请参阅查询变量部分中的示例,了解如何添加查询变量并使用模板值引用该变量。
查询变量
如果添加 Query
类型的模板变量,则可以编写一个查询,该查询可以返回目录名称、键名或键值等显示为下拉选择框的项目。
例如,可以通过在模板变量 Query 设置中指定这样的查询,来获取包含 categories
的所有值的变量。
选择查询设置时,将显示筛选器部分,允许您选择类型和字段。目前,类型仅限于事件和更改。选择类型时,系统会为您提供适用于该类型的字段列表。选择类型和字段后,底部将显示值的预览,显示该类型/字段的可用选项。这些值将显示在控制面板的下拉列表中,您可以将其与模板一起使用来筛选控制面板的面板上的数据。
例如,如果您添加一个名为 category 的变量,然后选择“类型 = 事件”和“字段 = 类别”,那么将看到类型的选项列表。如果您随后向面板添加筛选器,并选择类别等于 ${category},则面板数据将仅显示从控制面板下拉列表中选择的该类别的数据。
导入按类别划分的事件控制面板以查看示例。
在查询中使用变量
共有两种语法:
$<varname>
名为 hostname
的模板变量的示例:
[[varname]]
名为 hostname
的模板变量的示例:
警报
支持标准 Grafana Alerting。图形面板中定义的任何查询都可用于生成警报。
以下是查询示例和警报。此查询将返回所有未解决的重大高优先级事件的图形:
当有超过五件未解决的重大高优先级事件时,将启动此警报:
测试警报规则将显示警报规则的输出,选择状态历史记录将显示警报从正常过渡到待处理再到警报的过程。
当警报处于待定状态时,图形视图将显示一条垂直线,顶部的心形图标将变为橙色。
满足警报条件后,该规则将变为红色。
在图形视图中,将出现红色垂直线,顶部的心形图标将变为红色。
为警报编写事件
测试版功能
-
为您的 ServiceNow 数据来源配置通知渠道。
该功能将配置一个 Grafana 通知渠道
此操作要求 ServiceNow 数据来源用户具有编写事件的权限。
使用 HTTP 代理
使用 HTTP 代理时,Amazon Managed Grafana 需要将以下环境变量设置为代理的位置:
-
HTTP_PROXY
(或者http_proxy
)-
完整路径:
http://host:port
-
或者只是:
host:port
-
-
HTTPS_PROXY
(或https_proxy
):-
完整路径:
https://host:port
-
或者只是:
host:port
-
注释
截至该数据来源的 v1.4.0
,Grafana 注释仍是一项测试版功能。注释使您能够在图表上叠加事件。
“注释”查询支持与标准查询编辑器相同的选项,但有一些细微的区别:
-
只能选择一个“显示”列。这可能会在将来的改进中得到修复。
-
时间字段为必填项。
常见问题解答
如果我们没有 ITSM 角色插件会怎样?
需要管理员访问权限才能执行以下操作
选项 1:授予 Grafana 用户管理员权限以允许访问所有表。
选项 2:创建角色并将 ACL 应用于 Grafana 必须访问的所有表。
需要管理员访问权限才能执行以下操作。
-
已登录的管理员需要提升对 security_admin 的访问权限级别。
-
在右上方的导航窗格中,选择个人资料图标。个人资料图标带有下拉插入符号指示器。
-
从下拉列表中,选择提升角色。
-
在显示的模态中,选中 security_admin 复选框。
-
选择确定。
-
-
使用您想要的任何命名约定创建一个新角色。
-
导航到左侧导航栏中的“角色”部分:“系统安全”=>“用户和组”=>“角色”
-
选择顶部的新建。
-
输入角色的名称和相关说明。
-
选择提交。
-
-
创建新用户或修改具有所需角色的现有用户。
-
您在步骤 2 中创建的角色
-
personalize_dictionary
-
personalize_choices
-
cmdb_read(这将授予对所有 cmdb 表的读取访问权限)
-
-
为所需的表和字段创建表 ACL。
-
为 sys_db_object 表创建 ACL。
-
在第二个搜索标题列的名称中,输入
sys_db_object
,然后按 Enter。 -
筛选结果应显示表。选择表以导航到记录。
-
在选项卡部分,选择控件。
-
在页面的下半部分,确保选择了访问控制选项卡。
-
要创建新 ACL,请选择新建。
-
更改操作选择以进行读取。
-
在屏幕下方的需要角色部分中,选择(双击)插入新行,然后搜索您创建的角色。
-
选择您创建的角色后,选择绿色复选标记。
-
选择屏幕下方的提交以创建 ACL,然后在出现模态时选择继续。
-
-
-
为特定的 sys_db_object 字段创建 ACL。必须对以下每个字段重复以下步骤:“名称”、“标签”、“显示名称”和“扩展”表。
-
如果您仍处于 sys_db_object 的表记录视图中,在最靠近屏幕顶部的选项卡组中选择列选项卡。
-
找到文件名并选择该文件名。
-
在下方的选项卡部分,在访问控制选项卡上选择新建。
-
将操作改为读取。
-
在底部的“需要角色”表格中选择(双击)以插入一行文本。
-
搜索并选择您创建的角色,并选择绿色复选标记。
-
选择提交。
-
请确保对所有必填字段重复这些步骤:“名称”、“标签”、“显示名称”和“扩展” 表。
-
-
在“更改”、“事件”表以及要从 Grafana 查询的任何其他非 CMDB 表上重复 4.1 中的步骤。不要重复 4.2 中的步骤;只有在 sys_db_object 中才需要执行该步骤。