これはなに?
以前AWS CURの情報を可視化したのですが、ダッシュボード化した際に、ダッシュボード上で任意のパラメータで可視化したくなったので、Splunkで動的パラメータを使ってみました。
Splunkでは動的パラメータのことをトークンと言うらしいです。
環境/前提
環境
- クラウド: AWS
- Splunk ライセンス: Enterprise(試用版)
前提
- Splunk ダッシュボードが作成されていること
やること
以前作成したAWSサービスごとのダッシュボードに、「期間」と「サービス名」を動的パラメータとして設定します。
- 期間: 検索対象の期間
- サービス名: 検索対象のサービス名(全て or 特定のサービス)
<SPL> sourcetype="aws:billing:cur" | dedup TimeInterval UsageAmount UnblendedCost ProductName | timechart useother=false span=1w sum(UnblendedCost) by servicename
作業
やることとしては簡単で、ダッシュボード上で動的パラメータを作成し、動的パラメータの値を利用するようにサーチを編集します。
1. 動的パラメータの作成
期間の動的パラメータ追加
① ダッシュボード上で、[編集 - 入力のの追加 - 時間] をクリック
② 編集ボタンをクリックし、以下の項目を入力
トークンは後ほどサーチへの組み込みで利用するためメモしておいてください。
項目 | 説明 |
---|---|
ラベル | ダッシュボード上の表示名 |
変更時にサーチ | パラメータを変更した際に再サーチするか |
トークン | サーチから呼び出す際の変数名 |
デフォルト | ダッシュボードを開いた際にデフォルトで設定されている値 |
<例>
サービス名(テキスト入力)の動的パラメータ追加
① ダッシュボード上で、[編集 - 入力のの追加 - テキスト] をクリック
② 編集ボタンをクリックし、以下の項目を入力
トークンは後ほどサーチへの組み込みで利用するためメモしておいてください。
項目 | 説明 |
---|---|
ラベル | ダッシュボード上の表示名 |
変更時にサーチ | パラメータを変更した際に再サーチするか |
トークン | サーチから呼び出す際の変数名 |
デフォルト | ダッシュボードを開いた際にデフォルトで設定されている値 |
<例>
設定が完了すると以下のようなフィルターがダッシュボードに表示されます。
2. サーチの編集
作成した動的パラメータの値を利用するように、サーチを修正します。
期間の動的パラメータ設定
① ダッシュボード上で、[サーチの編集] をクリック
② 時間範囲を 2で作成した期間のトークンを指定する
サービス名(テキスト入力)の動的パラメータ設定
① ダッシュボード上で、[サーチの編集] をクリック
② サーチ文字列を以下のように修正する
sourcetype="aws:billing:cur" servicename ="$ServiceName$" | dedup TimeInterval UsageAmount UnblendedCost ProductName | timechart useother=false span=1w sum(UnblendedCost) by servicename
1行目でサーチする際に、動的パラメータの値でフィルタリングするようにしています。
$<トークン名>$ で動的パラメータの値を取得できます。
3. 動作確認
最後に動的パラメータを修正して可視化内容が変更されるか確認します。
期間を指定する
デフォルトでは、「今月」になっているので、「今年」に変更します。
<変更前 - 今月>
<変更後 - 今年>
期間が変更できていることを確認できます。
サービス名を指定する
デフォルトでは、「全て(*)」になっているので、「EC2」に変更します。
<変更前 - 全て>
<変更後 - EC2>
検索結果がEC2のみになっていることを確認できます。
最後に
SPLを利用するのに若干ハードルがあるので、SPL書けるメンバーが動的パラメータ付きのダッシュボード作ってあげれば、SPL書けないメンバーでもSplunkを不自由なく利用できそうな気がします。まだ使ったことないですが、ドリルダウンの機能使えば更にダッシュボードの使い勝手良くなりそう。
Dynamic drilldown in dashboards and forms - Splunk Documentation
ーーーーーーーーーーーーーー