

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

# 連線至 Splunk 資料來源
<a name="splunk-datasource"></a>

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

## Configuration
<a name="splunk-configuration-3"></a>

### 資料來源組態
<a name="splunk-data-source-config"></a>

 設定資料來源時，請確定 URL 欄位使用 `https`並指向您設定的 Splunk 連接埠。預設 Splunk API 點是 8089，而不是 8000 （這是預設 Web UI 連接埠）。啟用*基本驗證*，並指定 Splunk 使用者名稱和密碼。

#### 瀏覽器 （直接） 存取模式和 CORS
<a name="splunk-browser-direct-access-mode-and-cors"></a>

 Amazon Managed Grafana 不支援 Splunk 資料來源的瀏覽器直接存取。

### 進階選項
<a name="splunk-advanced-options"></a>

#### 串流模式
<a name="stream-mode"></a>

 如果您想要在搜尋結果可用時取得搜尋結果，請啟用串流模式。這是實驗性功能，除非您確實需要，否則請勿啟用它。

#### 輪詢結果
<a name="splunk-poll-result"></a>

 執行搜尋，然後定期檢查結果。在幕後，此選項會執行 `search/jobs` API 呼叫，並將 `exec_mode`設定為 `normal`。在此情況下，API 請求會傳回任務 SID，然後 Grafana 會不時檢查任務狀態，以取得任務結果。此選項有助於慢查詢。根據預設，此選項會停用，且 Grafana 會`exec_mode`設定 `oneshot`，允許在相同的 API 呼叫中傳回搜尋結果。請參閱 [Splunk 文件](https://docs.splunk.com/Documentation/Splunk/latest/RESTREF/RESTsearch#search.2Fjobs)中的 `search/jobs` API 端點詳細資訊。

#### 搜尋輪詢間隔
<a name="splunk-search-polling-interval"></a>

 此選項允許 調整 Amazon Managed Grafana 輪詢 splunk 以取得搜尋結果的頻率。從 【最小值，最大值） 間隔隨機選擇下一個輪詢的時間。如果您執行大量搜尋，則增加這些值是合理的。秘訣：如果搜尋任務執行需要很長時間，則增加*最小值*；如果您執行許多平行搜尋 (Grafana 儀表板上的大量碎片指標），則增加*最大值*。預設為 【500， 3000) 毫秒間隔。

#### 自動取消
<a name="auto-cancel"></a>

 如果指定，任務會在這幾秒鐘無活動後自動取消 (0 表示永遠不會自動取消）。預設值為 30。

#### 狀態儲存貯體
<a name="status-buckets"></a>

 要產生的最多狀態儲存貯體。0 表示不產生時間軸資訊。預設為 300。

#### 欄位搜尋模式
<a name="splunk-fields-search-mode"></a>

 當您使用視覺化查詢編輯器時，資料來源會嘗試取得所選來源類型的可用欄位清單。
+  快速 - 使用預覽版中第一個可用的結果 
+  full - 等待任務完成並取得完整結果。

#### 預設最早時間
<a name="default-earliest-time"></a>

 有些搜尋無法使用儀表板時間範圍 （例如範本變數查詢）。此選項有助於防止搜尋所有時間，這可能會拖慢 Splunk。語法是整數和時間單位 `[+|-]<time_integer><time_unit>`。例如 `-1w`。[時間單位](https://docs.splunk.com/Documentation/Splunk/latest/Search/Specifytimemodifiersinyoursearch)可以是 `s, m, h, d, w, mon, q, y`。

#### 變數搜尋模式
<a name="splunk-variables-search-mode"></a>

 範本變數查詢的搜尋模式。可能的值如下：
+  fast - 事件搜尋的欄位探索關閉。統計資料搜尋沒有事件或欄位資料。
+  上的 smart - 事件搜尋的欄位探索。統計資料搜尋沒有事件或欄位資料。
+  詳細資訊 - 所有事件和欄位資料。

## Usage
<a name="splunk-usage-5"></a>

### 查詢編輯器
<a name="splunk-query-editor-2"></a>

#### 編輯器模式
<a name="splunk-editor-modes"></a>

 查詢編輯器支援兩種模式：原始和視覺化。若要在這些模式之間切換，請選擇編輯器右側的漢堡圖示，然後選取*切換編輯器模式*。

#### 原始模式
<a name="raw-mode"></a>

 針對時間序列資料使用 `timechart`命令，如下列程式碼範例所示。

```
index=os sourcetype=cpu | timechart span=1m avg(pctSystem) as system, avg(pctUser) as user, avg(pctIowait) as iowait
index=os sourcetype=ps | timechart span=1m limit=5 useother=false avg(cpu_load_percent) by process_name
```

 查詢支援範本變數，如下列範例所示。

```
sourcetype=cpu | timechart span=1m avg($cpu)
```

 請記住，Grafana 是時間序列導向的應用程式，您的搜尋應該傳回時間序列資料 （時間戳記和值） 或單一值。您可以閱讀 [timechart](https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/Timechart) 命令，並在官方 [Splunk 搜尋參考中找到更多搜尋](https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/WhatsInThisManual)範例 

#### Splunk 指標和 `mstats`
<a name="splunk-metrics-and-mstats"></a>

 Splunk 7.x 提供用於分析指標的`mstats`命令。若要讓圖表與 正常運作`mstats`，它應該與 `timeseries` 命令結合，且必須設定 `prestats=t` 選項。

```
Deprecated syntax:
| mstats prestats=t avg(_value) AS Value WHERE index="collectd" metric_name="disk.disk_ops.read" OR metric_name="disk.disk_ops.write" by metric_name span=1m
| timechart avg(_value) span=1m by metric_name

Actual:
| mstats prestats=t avg(disk.disk_ops.read) avg(disk.disk_ops.write) WHERE index="collectd" by metric_name span=1m
| timechart avg(disk.disk_ops.read) avg(disk.disk_ops.write) span=1m
```

 閱讀 [Splunk 搜尋參考](https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/Mstats)中的`mstats`命令詳細資訊。

#### 格式化為
<a name="format-as"></a>

 支援兩種結果格式模式：*時間序列* （預設） 和*資料表*。當您想要顯示彙總資料時，適用於搭配資料表面板使用的資料表模式。這適用於原始事件 （傳回所有選取的欄位） 和`stats`搜尋函數，這會傳回類似資料表的資料。範例：

```
index="os" sourcetype="vmstat" | fields host, memUsedMB
index="os" sourcetype="ps" | stats avg(PercentProcessorTime) as "CPU time", latest(process_name) as "Process", avg(UsedBytes) as "Memory" by PID
```

 結果類似於 Splunk UI 中的*統計資料*索引標籤。

 閱讀 [Splunk 搜尋參考](https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/Stats)中有關`stats`函數用量的詳細資訊。

#### 視覺化模式
<a name="splunk-visual-mode"></a>

此模式提供step-by-step建立搜尋。請注意，此模式會建立`timechart`碎片搜尋。只要選取索引、來源類型和指標，然後視需要依欄位設定分割。

##### 指標
<a name="splunk-metric"></a>

 您可以選擇指標列右側的*加*號按鈕來新增多個指標進行搜尋。指標編輯器包含常用彙總的清單，但您可以在此處指定任何其他函數。只需選擇觸發區段 (`avg`預設） 並輸入您需要的內容。從下拉式清單中選取感興趣的欄位 （或輸入），並視需要設定別名。

##### 依 和位置分割
<a name="split-by-and-where"></a>

 如果您設定依欄位分割並使用*時間序列*模式，則編輯器將可用。選擇*加*號，然後選取運算子、彙總和值，例如*前 10 個平均的位置*。請注意，這個 *Where* 子句是 *Split by* 的一部分。如需詳細資訊[，請參閱時間圖表文件](https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/timechart#where_clause)。

#### 選項
<a name="splunk-options"></a>

 若要變更預設的時間表選項，請選擇最後一列**的選項**。

如需這些選項的詳細資訊，請參閱[時間表文件](https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/timechart)。

#### 轉譯的 splunk 搜尋
<a name="rendered-splunk-search"></a>

 選擇左側的目標字母以收合編輯器，並顯示轉譯的碎片搜尋。

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

如果您想要在圖形上顯示 Splunk 提醒或事件，請使用註釋。註釋可以是預先定義的 Splunk 提醒或一般 splunk 搜尋。

#### Splunk 提醒
<a name="splunk-alert"></a>

 指定提醒名稱，或將欄位保留空白，以取得所有觸發的提醒。支援範本變數。

#### Splunk 搜尋
<a name="splunk-search"></a>

 使用 splunk 搜尋來取得所需的事件，如下列範例所示。

```
index=os sourcetype=iostat | where total_ops > 400
index=os sourcetype=iostat | where total_ops > $io_threshold
```

 支援範本變數。

 如果您想要使用欄位值做為註釋**文字，則事件欄位做為**文字選項是合適的。下列範例顯示日誌中的錯誤訊息文字。

```
Event field as text: _raw
Regex: WirelessRadioManagerd\[\d*\]: (.*)
```

 Regex 允許 擷取部分訊息。

### 範本變數
<a name="splunk-template-variables"></a>

 範本變數功能支援 Splunk 查詢，其會傳回值清單，例如使用 `stats`命令。

```
index=os sourcetype="iostat" | stats values(Device)
```

 此查詢會從`iostat`來源傳回`Device`欄位值的清單。然後，您可以將這些裝置名稱用於時間序列查詢或註釋。

 有兩種可能的變數查詢類型可用於 Grafana。第一個是簡單的查詢 （如先前所示），會傳回值清單。第二個類型是可建立索引鍵/值變數的查詢。查詢應傳回兩個名為 `_text`和 的資料欄`_value`。`_text` 資料欄值應該是唯一的 （如果不是唯一的，則會使用第一個值）。下拉式清單中的選項會有文字和值，讓您可以將易記的名稱做為文字，並將 ID 做為值。

 例如，此搜尋會傳回包含資料欄 `Name`(Docker 容器名稱） 和 `Id`（容器 ID) 的資料表。

```
source=docker_inspect | stats count latest(Name) as Name by Id | table Name, Id
```

 若要使用容器名稱做為變數的可見值，並使用 ID 做為實際值，應修改查詢，如下列範例所示。

```
source=docker_inspect | stats count latest(Name) as Name by Id | table Name, Id | rename Name as "_text", Id as "_value"
```

#### 多值變數
<a name="splunk-multi-value-variables"></a>

 您可以在查詢中使用多值變數。插入的搜尋將取決於變數用量內容。外掛程式支援許多內容。假設有一個`$container`變數具有選取的值 `foo`和 `bar`：
+  `search` 命令的基本篩選條件 

  ```
  source=docker_stats $container
  =>
  source=docker_stats (foo OR bar)
  ```
+  欄位值篩選條件 

  ```
  source=docker_stats container_name=$container
  =>
  source=docker_stats (container_name=foo OR container_name=bar)
  ```
+  具有`IN`運算子和`in()`函數的欄位值篩選條件 

  ```
  source=docker_stats container_name IN ($container)
  =>
  source=docker_stats container_name IN (foo, bar)
  
  source=docker_stats | where container_name in($container)
  =>
  source=docker_stats | where container_name in(foo, bar)
  ```

#### 多值變數和引號
<a name="multi-value-variables-and-quotes"></a>

 如果變數以引號括住 （雙或單），也會引用其值，如下列範例所示。

```
source=docker_stats container_name="$container"
=>
source=docker_stats (container_name="foo" OR container_name="bar")

source=docker_stats container_name='$container'
=>
source=docker_stats (container_name='foo' OR container_name='bar')
```