翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Splunk データソースに接続する
注記
このデータソースは Grafana Enterprise 専用です。詳細については、「Enterprise プラグインへのアクセスを管理する」を参照してください。
さらに、バージョン 9 以降をサポートするワークスペースでは、このデータソースで適切なプラグインのインストールが必要になる場合があります。詳細については、「プラグインを使用してワークスペースを拡張する」を参照してください。
構成
データソースの設定
データソースを設定するときは、URL フィールドが を使用しhttps
、設定した Splunk ポートを指していることを確認します。デフォルトの Splunk API ポイントは 8000 ではなく 8089 です (これはデフォルトのウェブ UI ポートです)。Basic Auth を有効にし、Splunk のユーザー名とパスワードを指定します。
ブラウザ (ダイレクト) アクセスモードと CORS
Amazon Managed Grafana は、Splunk データソースのブラウザへの直接アクセスをサポートしていません。
詳細オプション
ストリームモード
検索結果が利用可能になったときに取得する場合は、ストリームモードを有効にします。これは実験的な機能です。実際に必要になるまで有効にしないでください。
ポーリング結果
検索を実行してから、定期的に結果を確認します。このオプションは内部で search/jobs
API コールを実行し、 を exec_mode
に設定しますnormal
。この場合、API リクエストはジョブ SID を返し、Grafana はジョブの結果を取得するためにジョブのステータスを随時チェックします。このオプションは、スロークエリに役立ちます。デフォルトでは、このオプションは無効になっており、Grafana oneshot
は を に設定exec_mode
して、同じ API コールで検索結果を返すことを許可します。search/jobs
API エンドポイントの詳細については、Splunk ドキュメントを参照してください
検索ポーリング間隔
このオプションを使用すると、Amazon Managed Grafana が検索結果のスプランクをポーリングする頻度を調整できます。[min, max) 間隔からランダムに選択する次のポーリングの時間。大量の検索を実行する場合は、これらの値を増やすのが理にかなっています。ヒント: 検索ジョブの実行に長い時間がかかる場合は Min、並列検索を多数実行する場合は Max を増やします (Grafana ダッシュボードのスプリンクメトリクスが多い)。デフォルトは [500、3000) ミリ秒間隔です。
自動キャンセル
指定すると、この数秒間非アクティブ状態になった後にジョブが自動的にキャンセルされます (0 は自動キャンセルされないことを意味します)。デフォルトは 30 です。
ステータスバケット
生成するステータスバケットが最も多い。0 はタイムライン情報を生成しないことを示します。デフォルトは 300 です。
フィールド検索モード
ビジュアルクエリエディタを使用すると、データソースは選択したソースタイプで使用可能なフィールドのリストを取得しようとします。
-
Quick - プレビューから最初に利用可能な結果を使用する
-
full - ジョブが終了するのを待ち、完全な結果を取得します。
デフォルトの最も早い時刻
一部の検索では、ダッシュボードの時間範囲 (テンプレート変数クエリなど) を使用できません。このオプションは、Splunk の速度を低下させる可能性のある、常に検索されないようにするのに役立ちます。構文は整数で、時間単位は です[+|-]<time_integer><time_unit>
。例えば「-1w
」のようにです。時間単位s, m, h, d, w, mon, q, y
。
変数検索モード
テンプレート変数クエリの検索モード。使用できる値:
-
fast - イベント検索のフィールド検出がオフになります。統計検索のイベントまたはフィールドデータはありません。
-
スマート - イベント検索用の でのフィールド検出。統計検索のイベントまたはフィールドデータはありません。
-
verbose - すべてのイベントとフィールドデータ。
使用方法
クエリエディタ
エディタモード
クエリエディタは、raw モードとビジュアルモードの 2 つのモードをサポートしています。これらのモードを切り替えるには、エディタの右側にあるハンバーガーアイコンを選択し、エディタモードの切り替えを選択します。
Raw モード
次のコード例に示すように、時系列データには 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
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
コマンドの詳細についてはmstats
、「Splunk Search Reference
形式
サポートされている結果形式モードは、時系列 (デフォルト) と表 の 2 つです。集計データを表示するときにテーブルパネルで を使用するのに適したテーブルモード。これは raw イベント (選択したすべてのフィールドを返す) と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 の統計タブに似ています。
stats
関数の使用方法の詳細については、「Splunk Search Reference」を参照してください
ビジュアルモード
このモードでは、 step-by-step検索が作成されます。このモードではtimechart
、スプランク検索が作成されます。インデックス、ソースタイプ、メトリクスを選択し、必要に応じてフィールドごとに分割を設定します。
メトリクス
メトリクス行の右側にあるプラスボタンを選択して、複数のメトリクスを追加して検索できます。メトリクスエディタには頻繁に使用される集計のリストが含まれていますが、ここでは他の関数を指定できます。アグリゲートセグメント (avg
デフォルトでは ) を選択し、必要なものを入力します。ドロップダウンリストから関心のあるフィールドを選択し (または入力します)、必要に応じてエイリアスを設定します。
と場所による分割
フィールドで分割を設定し、時系列モードを使用する場合、エディタはどこから使用できます。plus を選択し、演算子、集計、値を選択します。例えば、上位 10 の Where avg などです。この Where 句は、Split by の一部であることに注意してください。詳細については、「timechart docs
オプション
デフォルトのタイムチャートオプションを変更するには、最後の行のオプションを選択します。
これらのオプションの詳細については、タイムチャートドキュメントを参照してください
レンダリングされたスプリント検索
左側のターゲット文字を選択すると、エディタが折りたたまれ、レンダリングされたスプリント検索が表示されます。
注釈
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 オプションは、フィールド値を注釈テキストとして使用する場合に適しています。次の例は、 ログからのエラーメッセージテキストを示しています。
Event field as text: _raw Regex: WirelessRadioManagerd\[\d*\]: (.*)
正規表現では、 はメッセージの一部を抽出できます。
テンプレート変数
テンプレート変数機能は、 stats
コマンドなどで値のリストを返す Splunk クエリをサポートします。
index=os sourcetype="iostat" | stats values(Device)
このクエリは、iostat
ソースからDevice
フィールド値のリストを返します。その後、これらのデバイス名を時系列クエリまたは注釈に使用できます。
Grafana で使用できる変数クエリには 2 つのタイプがあります。1 つ目は、値のリストを返す単純なクエリ (前述) です。2 番目のタイプは、キー/値変数を作成できるクエリです。クエリは、 _text
および という名前の 2 つの列を返す必要があります_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"
複数値変数
クエリでは複数値変数を使用できます。補間検索は、変数の使用コンテキストによって異なります。プラグインがサポートするコンテキストは多数あります。選択した値 foo
と $container
を持つ変数があるとします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')