雲のメモ帳

猫とクラウドと旅行が好きなインフラエンジニアです。 日々の調べたことや興味が持ったことをこのブログにアウトプットします。

Splunkダッシュボードで動的パラメータ(トークン)を利用する

これはなに?

以前AWS CURの情報を可視化したのですが、ダッシュボード化した際に、ダッシュボード上で任意のパラメータで可視化したくなったので、Splunkで動的パラメータを使ってみました。
Splunkでは動的パラメータのことをトークンと言うらしいです。

www.cloudnotes.tech

環境/前提

環境

  • クラウド: AWS
  • Splunk ライセンス: Enterprise(試用版)

前提

  • Splunk ダッシュボードが作成されていること

やること

以前作成したAWSサービスごとのダッシュボードに、「期間」と「サービス名」を動的パラメータとして設定します。

  • 期間: 検索対象の期間
  • サービス名: 検索対象のサービス名(全て or 特定のサービス)

f:id:ykoomaru:20210214204729p:plain

<SPL>
sourcetype="aws:billing:cur"
| dedup TimeInterval UsageAmount UnblendedCost ProductName 
| timechart  useother=false span=1w sum(UnblendedCost) by servicename

作業

やることとしては簡単で、ダッシュボード上で動的パラメータを作成し、動的パラメータの値を利用するようにサーチを編集します。

1. 動的パラメータの作成

期間の動的パラメータ追加

① ダッシュボード上で、[編集 - 入力のの追加 - 時間] をクリック
② 編集ボタンをクリックし、以下の項目を入力
トークンは後ほどサーチへの組み込みで利用するためメモしておいてください。

項目 説明
ラベル ダッシュボード上の表示名
変更時にサーチ パラメータを変更した際に再サーチするか
トークン サーチから呼び出す際の変数名
デフォルト ダッシュボードを開いた際にデフォルトで設定されている値

<例>

f:id:ykoomaru:20210214212535p:plain

サービス名(テキスト入力)の動的パラメータ追加

① ダッシュボード上で、[編集 - 入力のの追加 - テキスト] をクリック
② 編集ボタンをクリックし、以下の項目を入力
トークンは後ほどサーチへの組み込みで利用するためメモしておいてください。

項目 説明
ラベル ダッシュボード上の表示名
変更時にサーチ パラメータを変更した際に再サーチするか
トークン サーチから呼び出す際の変数名
デフォルト ダッシュボードを開いた際にデフォルトで設定されている値

<例>

f:id:ykoomaru:20210214212630p:plain

設定が完了すると以下のようなフィルターがダッシュボードに表示されます。
f:id:ykoomaru:20210214210955p:plain

2. サーチの編集

作成した動的パラメータの値を利用するように、サーチを修正します。

期間の動的パラメータ設定

① ダッシュボード上で、[サーチの編集] をクリック
② 時間範囲を 2で作成した期間のトークンを指定する

f:id:ykoomaru:20210214210706p:plain

サービス名(テキスト入力)の動的パラメータ設定

① ダッシュボード上で、[サーチの編集] をクリック
② サーチ文字列を以下のように修正する

f:id:ykoomaru:20210214213541p:plain

sourcetype="aws:billing:cur" servicename ="$ServiceName$"
| dedup TimeInterval UsageAmount UnblendedCost ProductName 
| timechart  useother=false span=1w sum(UnblendedCost) by servicename

1行目でサーチする際に、動的パラメータの値でフィルタリングするようにしています。
$<トークン名>$ で動的パラメータの値を取得できます。

3. 動作確認

最後に動的パラメータを修正して可視化内容が変更されるか確認します。

期間を指定する

デフォルトでは、「今月」になっているので、「今年」に変更します。

<変更前 - 今月>
f:id:ykoomaru:20210214212936p:plain <変更後 - 今年>
f:id:ykoomaru:20210214212943p:plain

期間が変更できていることを確認できます。

サービス名を指定する

デフォルトでは、「全て(*)」になっているので、「EC2」に変更します。

<変更前 - 全て>
f:id:ykoomaru:20210214213142p:plain <変更後 - EC2>
f:id:ykoomaru:20210214213218p:plain

検索結果がEC2のみになっていることを確認できます。

最後に

SPLを利用するのに若干ハードルがあるので、SPL書ける方が動的パラメータ付きのダッシュボード作ってあげれば、SPL書けない方でもSplunkを不自由なく利用できそうな気がします。まだ使ったことないですが、ドリルダウンの機能使えば更にダッシュボードの使い勝手良くなりそう。

Dynamic drilldown in dashboards and forms - Splunk Documentation