Connect 至 Splunk 資料來源 - Amazon Managed Grafana

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

Connect 至 Splunk 資料來源

注意

此資料來源僅適用於 Grafana 企業版。如需詳細資訊,請參閱 管理企業外掛程式的存取

此外,在支援版本 9 或更新版本的工作區中,此資料來源可能會要求您安裝適當的外掛程式。如需詳細資訊,請參閱 使用外掛程式擴充工作區

組態

資料來源組態

設定資料來源時,請確定 URL 欄位使用https並指向您設定的 Splunk 連接埠。默認的 Splunk API 點是 8089,而不是 8000(這是默認的網絡用戶界面端口)。啟用基本驗證並指定 Splunk 使用者名稱和密碼。

瀏覽器(直接)訪問模式和 CORS

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

進階選項

串流模式

如果您想在搜索結果可用時獲得搜索結果,請啟用流模式。這是實驗性功能,在您真正需要之前不要啟用它。

投票結果

執行搜尋,然後定期檢查結果。在引擎蓋下,此選項運行exec_mode設置為的 search/jobs API 調用normal。在這種情況下,API 請求返回作業 SID,然後 Grafana 不時檢查作業狀態,以獲得作業結果。此選項對於慢速查詢很有幫助。默認情況下,此選項處於禁用狀態,並且 Grafana 設置exec_modeoneshot允許在相同的 API 調用中返回搜索結果。在 Splunk 文檔中查看有關 search/jobs API 端點的更多信息。

搜尋輪詢間隔

此選項允許調整 Amazon 託管的 Grafana 輪詢搜索結果溢出的頻率。從 [最小,最大值) 間隔中隨機選擇下一次輪詢的時間。如果您執行許多繁重的搜尋,則增加這些值是有意義的。提示:如果搜尋工作執行需要很長時間,則增加 M in;如果您執行量 parallel 搜尋 (Grafana 儀表板上的許多 splunk 指標),則增加 Max。預設值為 [500, 3000) 毫秒間隔。

自動取消

如果有指定,工作會在閒置數秒後自動取消 (0 表示永遠不會自動取消)。預設值為 30。

狀態值區

要產生的最多狀態值區。0 表示不產生時間表資訊。預設值為 300。

字段搜索模式

當您使用視覺化查詢編輯器時,資料來源會嘗試取得所選來源類型的可用欄位清單。

  • 快速-使用預覽中的第一個可用結果

  • full-等待工作完成並獲得完整結果。

預設最早時間

某些搜尋無法使用儀表板時間範圍 (例如範本變數查詢)。此選項有助於防止一直搜索,這可能會減慢 Splunk 的速度。語法是整數和時間單位[+|-]<time_integer><time_unit>。例如:-1w時間單位可以s, m, h, d, w, mon, q, y

變數搜尋模式

模板變量查詢的搜索模式。可能的值如下:

  • fast-事件搜索的字段發現關閉。統計資料搜尋沒有事件或欄位資料。

  • Smart-用於事件搜索的字段發現。統計資料搜尋沒有事件或欄位資料。

  • 詳細資訊-所有事件和欄位資料。

用量

查詢編輯器

編輯器模式

查詢編輯器支持兩種模式:原始和可視。要在這些模式之間切換,請選擇編輯器右側的漢堡圖標,然後選擇切換編輯器模式

原始模式

對時間序列資料使用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 是面向時間序列的應用程式,您的搜尋應傳回時間序列資料 (時間戳記和值) 或單一值。您可以閱讀有關時間圖命令,並在官方 Splunk 搜索參考中找到更多搜索示例

潑濺度量和 mstats

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 搜索參考中閱讀更多有關mstats命令的信息。

格式為

有兩種支援的結果格式模式-時間序列 (預設) 和格。當您要顯示彙總資料時,適合與「表格」面板搭配使用的表格模式。這適用於原始事件(返回所有選定的字段)和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 用戶界面中的統計信息選項卡。

Splunk 搜索參考中閱讀有關stats功能用法的更多信息。

視覺模式

此模式提供 step-by-step搜尋建立功能。請注意,此模式會建立 timechart Splunk 搜尋。只需選擇索引,源類型和指標,並根據需要設置按字段拆分。

指標

您可以選擇量度列右側的加號按鈕,來新增多個要搜尋的量度。指標編輯器包含常用彙總的清單,但您可以在這裡指定任何其他函數。只需選擇 agg 段(avg默認情況下)並輸入您需要的內容。從下拉列表中選擇感興趣的字段(或輸入),並根據需要設置別名。

分割方式和位置

如果您設置按字段拆分並使用時間序列模式,那麼編輯器將可用。選擇加號並選擇運算符,彙總和值,例如平均值在前 10 名。請注意,這個 W here 子句是拆分依據的一部分。在時間圖文檔中查看更多信息。

選項

若要變更預設時間圖選項,請選擇最後一列的「選項」。

時間表文檔中查看有關這些選項的更多信息。

選擇左側的目標字母以折疊編輯器並顯示渲染的 splunk 搜索。

註釋

如果您想要在圖表上顯示 Splunk 警示或事件,請使用註解。註解可以是預先定義的 Splunk 警示,也可以是定期的 Splunk 搜尋。

潑濺警報

指定警示名稱,或將欄位保持空白以取得所有觸發的警示。支持模板變量。

使用 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*\]: (.*)

正則表達式允許提取消息的一部分。

模板變量

模板變量功能支持 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"

多值變數

可以在查詢中使用多值變量。內插搜尋將取決於變數使用上下文。有許多插件支持的上下文。假設有一個具有選定值$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)

多值變數和引號

如果變量包裹在引號(雙引號或單個),它的值也將被引用,如下面的例子。

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')