

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 連線至 ServiceNow 資料來源
<a name="grafana-enterprise-servicenow-datasource"></a>

這是用來連線至 ServiceNow 執行個體的 ServiceNow 資料來源。

**注意**  
此資料來源僅適用於 Grafana Enterprise。如需詳細資訊，請參閱[管理對企業外掛程式的存取](upgrade-to-enterprise-plugins.md)。  
此外，在支援第 9 版或更新版本的工作區中，此資料來源可能會要求您安裝適當的外掛程式。如需詳細資訊，請參閱[使用外掛程式擴展您的工作區](grafana-plugins.md)。

## 功能
<a name="features-1"></a>
+  查詢 
  +  Stat API 查詢 
  +  資料表 API 查詢 
    +  事件、變更和任何其他資料表 
+  Alerts (提醒) 
+  註釋 (Beta 功能） 
+  範本變數 

## Configuration
<a name="configuration-2"></a>

 選取 Grafana 左側面板上的資料來源。

 選取新增資料來源：

 輸入 **servicenow** 以尋找資料來源外掛程式：

 輸入 ServiceNow URL：

 選擇**儲存並測試**。您應該會看到綠色訊息，其中包含「ServiceNow Connection OK」。

### 範例儀表板
<a name="example-dashboards"></a>

 預先製作的儀表板包含在外掛程式中，並且可以透過儀表板索引標籤下的資料來源組態頁面匯入。

## Usage
<a name="usage-2"></a>

 有兩種方式可在查詢編輯器中傳回資料。
+  TableAPI 
+  AggregateAPI 

 使用者目前可以選擇查詢預先定義的資料表，如下所示：
+  變更 
+  事故 

 或者，自 起`v1.4.0`，使用**其他 （自訂資料表） **選項的 API 驅動資料表和欄位清單。此選項可讓您查詢使用者可用於設定 ServiceNow 資料來源之任何資料表中的資料。

 **自訂資料表**選項應支援與預先定義資料表清單相同的所有功能。

### TableAPI 查詢
<a name="tableapi-queries"></a>

 TableAPI 會傳回適合在資料表面板中顯示的資料。它允許按順序選擇欄位，以顯示加上篩選選項。查詢編輯器也提供 欄位，以限制查詢傳回的資料列數。

 顯示上一個查詢結果的範例資料表面板。

#### Show
<a name="show"></a>

 *顯示*列為要顯示的欄位提供選擇器。您也可以指定多個欄位。欄位將以指定的確切順序傳回。

#### 顯示值
<a name="display-values"></a>

 *顯示值*旗標將導致查詢傳回人性化的值，或顯示小精靈，而不是數值。

 例如，`1`沒有此旗標的 嚴重性只會顯示 `1`。如果啟用 旗標，顯示的值將為 `1 - High`。

 根據 [ServiceNow API 文件](https://developer.servicenow.com/dev.do#!/reference/api/orlando/rest/c_TableAPI)，這可能會對效能產生負面影響。

**注意**  
 【...】 指定顯示值可能會導致效能問題，因為它不會直接從資料庫讀取，並且可能包括參考其他欄位和記錄。

#### 篩選條件 （一般）
<a name="filters-general"></a>

 *篩選條件*列可讓您根據多個欄位和值條件縮小顯示的資料列範圍。

 所有篩選條件都會與 *AND* 或 *OR* 操作結合。

 未使用自訂資料表時，可使用下列欄位 （此清單將在未來展開）。

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

 選取自訂資料表時，會自動從 Service Now API 填入欄位。

##### 日期篩選條件
<a name="date-filters"></a>


|  時間欄位  |  運算子  |  Value  | 
| --- | --- | --- | 
|  開啟時間  |  今天或之前 今天 之前 今天或之後 之前  |  時間戳記 javascript：gs.daysAgo(30)  | 
|  活動到期  |   |   | 
|  關閉時間  |   |   | 
|  到期日  |   |   | 
|  預期開始  |   |   | 
|  重新開啟的時間  |   |   | 
|  在 解決  |   |   | 
|  工作結束  |   |   | 
|  工作開始  |   |   | 
|  忽略時間  |   |   | 

 如需其他日期值，請參閱：https：//https://developer.servicenow.com/app.do\$1\$1/api\$1doc?v=newyork&id=r\$1SGSYS-dateGenerate\$1S\$1S 

##### 運算子 （一般、字串型）
<a name="operators-generalstring-based"></a>
+  開頭為 
+  Ends With 
+  類似 
+  不喜歡 
+  Equals 
+  不等於 
+  Is Empty 

##### 運算子 （以時間為基礎）
<a name="operators-time-based"></a>
+  今天 
+  不是今天 
+  Before 
+  在 或之前 
+  After 
+  在 或之後 

##### 值
<a name="values"></a>

 值選擇取決於選取的篩選條件類型。
+  布林值篩選條件具有 True/False 選項 
+  文字篩選條件將允許輸入任何值 
+  呈報，優先順序具有一組固定的數值 

#### 排序依據
<a name="sort-by"></a>

 *排序依據*資料列可根據多個欄位和值條件縮小顯示的資料列範圍。

 所有篩選條件都會與 *AND* 操作結合。將新增對其他運算子的支援。

#### 限制
<a name="limit"></a>

 您可以指定資料列限制，以防止傳回過多的資料。預設值為 25。

#### 時間欄位
<a name="time-field"></a>

 `Time Field` 會將您查詢的資料轉換為時間序列。以時間序列處理的資料表示不會顯示所選「時間欄位」中不在儀表板/面板時間範圍內的值。

 使用的預設時間欄位是「開啟時間」，但可以變更為保留時間值的任何可用欄位。

 提供特殊值「忽略時間」，以允許結果「截至現在」，也允許篩選條件控制顯示哪些資料。

### AggregateAPI 查詢 （統計資料）
<a name="aggregateapi-queries-stats"></a>

 AggregateAPI 一律會傳回具有下列彙總的指標：avg、min、max、 sum。篩選也可用於縮小查詢範圍。

#### Show
<a name="show-1"></a>

 *顯示*列為要顯示的指標提供選擇器。您也可以指定多個指標。

#### 篩選條件 （一般）
<a name="filters-general-1"></a>

 彙總*篩選條件*可根據欄位和值條件縮小顯示的指標範圍，類似於資料表選項。

 所有篩選條件都會與 *AND* 操作結合。將新增對其他運算子的支援。

 Stat 篩選條件選項與 TableAPI 相同。

#### 聚合
<a name="aggregation"></a>

 指標彙總有四種類型，加上「計數」：
+  平均數 
+  下限 
+  上限 
+  總和 
+  計數 - 這會傳回查詢傳回的指標的 "number"

##### 分組依據
<a name="group-by"></a>

 此選擇器可讓您將指標分割為較少的彙總。依「優先順序」分組會傳回優先順序為「標籤」的指標，並將唯一值分開。

### 範本化
<a name="templating-2"></a>

 您可以在其位置使用變數，而不是硬式編碼查詢中的名稱。變數會顯示為儀表板頂端的下拉式清單選取方塊。您可以使用這些下拉式方塊來變更儀表板上顯示的資料。

 請參閱**查詢變數**區段中的範例，了解如何新增查詢變數並參考具有範本值的 。

#### 查詢變數
<a name="query-variable"></a>

 如果您新增 類型的範本變數`Query`，您可以撰寫查詢，以傳回顯示為下拉式清單選取方塊的項目，例如類別名稱、索引鍵名稱或索引鍵值。

 例如，您可以在範本變數查詢**設定中`categories`指定這類查詢，以擁有包含 所有值的變數。

 選擇**查詢**設定時，會顯示**篩選條件**區段，讓您選擇**類型**和**欄位**。目前，**類型**僅限於事件和變更。選取類型時，您會收到適用於該類型的欄位清單。選取**類型**和**欄位**後，底部會顯示值的預覽，顯示該類型/欄位可用的選項。這些值會顯示在儀表板的下拉式清單中，您可以搭配範本來篩選儀表板上的資料。

 例如，如果您新增名為 的變數*類別*，然後選取類型 = 事件和欄位 = 類別，您會看到類別的選項清單。如果您接著將篩選條件新增至面板，然後選取類別等於 \$1\$1category\$1，則面板資料只會顯示從儀表板下拉式清單中選取該類別的資料。

 匯入**依類別分類的事件**儀表板以查看範例。

#### 在查詢中使用變數
<a name="using-variables-in-queries"></a>

 有兩種語法：

 `$<varname>` 範本變數名為 的範例`hostname`：

 `[[varname]]` 範本變數名為 的範例`hostname`：

## 提醒
<a name="servicenow-alerting"></a>

 支援標準 Grafana 警示。圖形面板中定義的任何查詢都可以用來產生提醒。

 以下是查詢和提醒的範例。此查詢將傳回所有開啟關鍵高優先順序事件的圖表：

 當有超過五個開啟的重大高優先順序事件時，將會啟動此提醒：

 測試提醒規則會顯示提醒規則的輸出，而選取狀態歷史記錄會顯示提醒從 ok 轉換為待定，再轉換為提醒。

 圖形檢視會顯示垂直線，當警示處於待定狀態時，頂端的心形圖示會變成橘色。

 一旦符合提醒條件，規則就會轉換為紅色。

 在圖形檢視中，紅色垂直線將出現，頂端的心圖示將變為紅色。

### 撰寫警示的事件
<a name="writing-incidents-for-alerts"></a>

 **Beta 功能** 
+  為您的 ServiceNow 資料來源設定通知管道。

 這會設定 [Grafana 通知管道](https://grafana.com/docs/grafana/latest/alerting/notifications/)，此管道會使用您設定的 使用者，在此資料來源的 ServiceNow 執行個體上建立事件。

 此動作需要 ServiceNow 資料來源使用者具有寫入事件的許可。

## 註釋
<a name="annotations-1"></a>

 Grafana 註釋是截至此資料來源`v1.4.0`的 **Beta 版功能**。註釋可讓您在圖形上覆蓋事件。

 註釋查詢支援與標準查詢編輯器相同的選項，但有一些細微差異：
+  只能選取一個「顯示」欄。這可能會在未來的改善中修正。
+  時間欄位為必要欄位。

## 常見問答集
<a name="faq-1"></a>

### 如果我們沒有 ITSM 角色外掛程式該怎麼辦？
<a name="what-if-we-dont-have-the-itsm-roles-plugin"></a>

 **需要管理員存取權才能執行下列動作** 

 選項 1：授予 Grafana 使用者管理員許可，以允許存取所有資料表。

 選項 2：建立角色並將 ACLs 套用至 Grafana 必須存取的所有資料表。

 需要管理員存取權才能執行下列動作。

1.  登入的管理員需要提升對 security\$1admin 的存取。

   1.  在右上角導覽窗格中，選擇設定檔圖示。設定檔圖示具有下拉式插入符號。

   1.  從下拉式清單中，選擇**升級角色**。

   1.  從顯示的模態中，選取 **security\$1admin** 核取方塊。

   1.  選擇確定。

1. 使用您想要的任何命名慣例建立新的角色。

   1.  導覽至左側導覽系統安全性 => 使用者和群組 => 角色中的角色區段 

   1.  在頂端選擇**新增**。

   1.  輸入角色的名稱和相關描述。

   1.  選擇**提交**。

1.  建立新的使用者或修改具有所需角色的現有使用者。

   1.  您在步驟 2 中建立的角色 

   1.  personalize\$1dictionary 

   1.  personalize\$1choices 

   1.  cmdb\$1read （這會授予所有 cmdb 資料表的讀取存取權） 

1.  為必要的資料表和欄位建立資料表 ACLs。

   1.  為 sys\$1db\$1object 資料表建立 ACL。

     1.  在第二個搜尋標頭資料欄**名稱**中，輸入 **sys\$1db\$1object**，然後按 **Enter**。

     1.  篩選的結果應該會顯示**資料表**。選擇**資料表**以導覽至記錄。

     1.  在索引標籤區段中，選擇**控制項**。

     1.  在頁面的下半部，確定**存取控制**是選取的索引標籤。

     1.  選擇**新增**以建立新的 ACL。

     1.  變更要讀取**的操作**選擇。

     1.  在畫面下方的**需要角色**區段中，選擇 （按兩下） **插入新資料列**，然後搜尋您建立的角色。

     1. 選取您建立的角色後，請選擇綠色核取記號。

     1.  選擇畫面下方的**提交**以建立 ACL，然後在模態出現時選擇**繼續**。

1.  針對特定 sys\$1db\$1object 欄位建立 ACLs。必須針對下列每個欄位重複下列步驟：名稱、標籤、顯示名稱和延伸資料表。

   1.  當仍在 sys\$1db\$1object 的資料表記錄檢視中時，請選取最接近畫面頂端的標籤群組中的資料**欄**標籤。

   1.  找到欄位名稱並選取它。

   1.  在下方索引標籤區段中，選擇**存取控制**索引標籤上的**新增**。

   1.  將 操作變更為讀取 

   1.  選擇 （按兩下） 在底部「需要角色」資料表中插入資料列文字。

   1.  搜尋您建立的角色，然後選擇綠色核取記號。

   1.  選擇**提交**。

   1.  請確定您已針對所有必要欄位重複這些步驟：名稱、標籤、顯示名稱和延伸資料表。

1.  針對您要從 Grafana 查詢的變更、事件和任何其他非 CMDB 資料表，重複 4.1 中的步驟。請勿重複 4.2 中的步驟；該步驟僅適用於 sys\$1db\$1object。