0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Splunk ダッシュボードスタジオでの10本の絶対値基準線作成方法【カラフル】

Posted at

🎨 10本の絶対値基準線【カラフル完全版】

赤・青・黄・緑・水色・グレー・茶色+3色


🎯 完成イメージ

10本のカラフル基準線
┌────────────────────────────────────────────────┐
│ 2000│━━━━━━━━━━━━━━━━━━━━━━ 🔴 赤ライン      │
│ 1800│━━━━━━━━━━━━━━━━━━━━━━ 🟠 オレンジライン│
│ 1600│━━━━━━━━━━━━━━━━━━━━━━ 🟡 黄色ライン    │
│ 1400│━━━━━━━━━━━━━━━━━━━━━━ 🟢 緑ライン      │
│      │          ╱╲                           │
│ 1200│━━━━━━━━━╱━━╲━━━━━━━━━━ 💧 水色ライン    │
│      │        ╱    ╲                         │
│ 1000│━━━━━━╱━━━━━━╲━━━━━━━━ 🔵 青ライン      │
│      │    ╱          ╲  ╱╲                 │
│  800│━━╱━━━━━━━━━━━━━╱━━╲━━ 🟣 紫ライン      │
│      │                    ╲                 │
│  600│━━━━━━━━━━━━━━━━━━━━╲━ ⚫ グレーライン  │
│  400│━━━━━━━━━━━━━━━━━━━━━━ 🟤 茶色ライン    │
│  200│━━━━━━━━━━━━━━━━━━━━━━ 🩷 ピンクライン  │
│      └────────────────────────────────────→   │
└────────────────────────────────────────────────┘

📝 STEP 1: SPLクエリ(10本の基準線)

| inputlookup server_data.csv
| eval _time=strptime(timestamp, "%Y-%m-%d %H:%M:%S")
| timechart span=30m avg(cpu) as データ値

# 10本の絶対値基準線
| eval 赤ライン=2000
| eval オレンジライン=1800
| eval 黄色ライン=1600
| eval 緑ライン=1400
| eval 水色ライン=1200
| eval 青ライン=1000
| eval 紫ライン=800
| eval グレーライン=600
| eval 茶色ライン=400
| eval ピンクライン=200

各行の説明:

| inputlookup server_data.csv
↑ CSVデータを読み込む

| eval _time=strptime(timestamp, "%Y-%m-%d %H:%M:%S")
↑ タイムスタンプを変換

| timechart span=30m avg(cpu) as データ値
↑ 30分間隔で集計

# ここから10本の基準線
| eval 赤ライン=2000
↑ Y軸の2000の位置に固定

| eval オレンジライン=1800
↑ Y軸の1800の位置に固定

| eval 黄色ライン=1600
↑ Y軸の1600の位置に固定

(以下同様に各位置に固定値を設定)

🎨 STEP 2: 各線の色設定表

完全版カラーコード一覧

番号 線の名前 固定値 HEXコード Line Width
1 データ値 - #000000 2
2 赤ライン 2000 #FF0000 4
3 オレンジライン 1800 #FF8800 4
4 黄色ライン 1600 #FFFF00 4
5 緑ライン 1400 #00FF00 4
6 水色ライン 1200 水色 #00FFFF 4
7 青ライン 1000 #0000FF 4
8 紫ライン 800 #9400D3 4
9 グレーライン 600 #808080 4
10 茶色ライン 400 #8B4513 4
11 ピンクライン 200 #FF69B4 4

⚙️ STEP 3: UI設定手順【詳細】

3-1: Configuration を開く

Panel Editor画面
┌────────────────────────────────────────┐
│  右側パネル                             │
│  ┌──────────────────────────────────┐ │
│  │ 📊 Configuration  ← クリック      │ │
│  │ 🎨 Visualization                 │ │
│  │ 📏 Layout                        │ │
│  └──────────────────────────────────┘ │
└────────────────────────────────────────┘

3-2: Series を展開

Configuration タブ
┌────────────────────────────────────────┐
│  ▼ Visualization  ← クリックして展開    │
│    ▼ Series  ← クリックして展開         │
│      • データ値                         │
│      • 赤ライン  ← ここから設定開始      │
│      • オレンジライン                   │
│      • 黄色ライン                       │
│      • 緑ライン                         │
│      • 水色ライン                       │
│      • 青ライン                         │
│      • 紫ライン                         │
│      • グレーライン                     │
│      • 茶色ライン                       │
│      • ピンクライン                     │
└────────────────────────────────────────┘

3-3: 各線の設定(10回繰り返す)

設定1: 赤ライン

赤ラインをクリック
┌────────────────────────────────────────┐
│  Series: 赤ライン                       │
├────────────────────────────────────────┤
│                                        │
│  🎨 Color                              │
│  ┌──────────────────────────────────┐ │
│  │ [🔴] #FF0000  ← クリックして入力  │ │
│  └──────────────────────────────────┘ │
│                                        │
│  📏 Line Width                         │
│  ┌──────────────────────────────────┐ │
│  │ [ 4 ]  ← 入力                     │ │
│  └──────────────────────────────────┘ │
│                                        │
│  ━━ Line Style                         │
│  ┌──────────────────────────────────┐ │
│  │ (●) Solid     実線                │ │
│  │ ( ) Dashed    点線                │ │
│  │ ( ) Dotted    ドット              │ │
│  └──────────────────────────────────┘ │
│                                        │
│  [ Apply ]  ← 必ず押す!               │
└────────────────────────────────────────┘

設定2: オレンジライン

オレンジラインをクリック
┌────────────────────────────────────────┐
│  Series: オレンジライン                 │
├────────────────────────────────────────┤
│  🎨 Color: [🟠] #FF8800               │
│  📏 Line Width: [ 4 ]                 │
│  ━━ Line Style: (●) Solid             │
│  [ Apply ]  ← 必ず押す!               │
└────────────────────────────────────────┘

設定3: 黄色ライン

黄色ラインをクリック
┌────────────────────────────────────────┐
│  Series: 黄色ライン                     │
├────────────────────────────────────────┤
│  🎨 Color: [🟡] #FFFF00               │
│  📏 Line Width: [ 4 ]                 │
│  ━━ Line Style: (●) Solid             │
│  [ Apply ]  ← 必ず押す!               │
└────────────────────────────────────────┘

設定4: 緑ライン

緑ラインをクリック
┌────────────────────────────────────────┐
│  Series: 緑ライン                       │
├────────────────────────────────────────┤
│  🎨 Color: [🟢] #00FF00               │
│  📏 Line Width: [ 4 ]                 │
│  ━━ Line Style: (●) Solid             │
│  [ Apply ]  ← 必ず押す!               │
└────────────────────────────────────────┘

設定5: 水色ライン

水色ラインをクリック
┌────────────────────────────────────────┐
│  Series: 水色ライン                     │
├────────────────────────────────────────┤
│  🎨 Color: [💧] #00FFFF               │
│  📏 Line Width: [ 4 ]                 │
│  ━━ Line Style: (●) Solid             │
│  [ Apply ]  ← 必ず押す!               │
└────────────────────────────────────────┘

設定6: 青ライン

青ラインをクリック
┌────────────────────────────────────────┐
│  Series: 青ライン                       │
├────────────────────────────────────────┤
│  🎨 Color: [🔵] #0000FF               │
│  📏 Line Width: [ 4 ]                 │
│  ━━ Line Style: (●) Solid             │
│  [ Apply ]  ← 必ず押す!               │
└────────────────────────────────────────┘

設定7: 紫ライン

紫ラインをクリック
┌────────────────────────────────────────┐
│  Series: 紫ライン                       │
├────────────────────────────────────────┤
│  🎨 Color: [🟣] #9400D3               │
│  📏 Line Width: [ 4 ]                 │
│  ━━ Line Style: (●) Solid             │
│  [ Apply ]  ← 必ず押す!               │
└────────────────────────────────────────┘

設定8: グレーライン

グレーラインをクリック
┌────────────────────────────────────────┐
│  Series: グレーライン                   │
├────────────────────────────────────────┤
│  🎨 Color: [⚫] #808080               │
│  📏 Line Width: [ 4 ]                 │
│  ━━ Line Style: (●) Solid             │
│  [ Apply ]  ← 必ず押す!               │
└────────────────────────────────────────┘

設定9: 茶色ライン

茶色ラインをクリック
┌────────────────────────────────────────┐
│  Series: 茶色ライン                     │
├────────────────────────────────────────┤
│  🎨 Color: [🟤] #8B4513               │
│  📏 Line Width: [ 4 ]                 │
│  ━━ Line Style: (●) Solid             │
│  [ Apply ]  ← 必ず押す!               │
└────────────────────────────────────────┘

設定10: ピンクライン

ピンクラインをクリック
┌────────────────────────────────────────┐
│  Series: ピンクライン                   │
├────────────────────────────────────────┤
│  🎨 Color: [🩷] #FF69B4               │
│  📏 Line Width: [ 4 ]                 │
│  ━━ Line Style: (●) Solid             │
│  [ Apply ]  ← 必ず押す!               │
└────────────────────────────────────────┘

💾 STEP 4: 保存

右上のボタン
┌────────────────────────────────────────┐
│  [ 💾 Save ]  ← クリック                │
└────────────────────────────────────────┘

保存完了メッセージ
┌────────────────────────────────────────┐
│  ✅ Dashboard saved successfully.      │
└────────────────────────────────────────┘

🎯 別パターン:点線バージョン

SPLクエリ(同じ)

| inputlookup server_data.csv
| eval _time=strptime(timestamp, "%Y-%m-%d %H:%M:%S")
| timechart span=30m avg(cpu) as データ値
| eval 赤ライン=2000
| eval オレンジライン=1800
| eval 黄色ライン=1600
| eval 緑ライン=1400
| eval 水色ライン=1200
| eval 青ライン=1000
| eval 紫ライン=800
| eval グレーライン=600
| eval 茶色ライン=400
| eval ピンクライン=200

UI設定で Line Style を変更

すべての基準線で:
┌────────────────────────────────────────┐
│  ━━ Line Style                         │
│  ( ) Solid     実線                    │
│  (●) Dashed    点線  ← これを選択       │
│  ( ) Dotted    ドット                  │
└────────────────────────────────────────┘

完成イメージ:

点線バージョン
┌────────────────────────────────────────────────┐
│ 2000│━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ 🔴 赤             │
│ 1800│━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ 🟠 オレンジ       │
│ 1600│━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ 🟡 黄色           │
│ 1400│━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ 🟢 緑             │
│      │          ╱╲                           │
│ 1200│━ ━ ━ ━ ━╱━━╲━ ━ ━ ━ ━ 💧 水色          │
│      │        ╱    ╲                         │
│ 1000│━ ━ ━ ╱━ ━ ━ ━╲━ ━ ━ ━ 🔵 青            │
│      │    ╱          ╲                       │
│  800│━ ╱━ ━ ━ ━ ━ ━ ━╲━ ━ ━ 🟣 紫            │
│      │╱                  ╲                   │
│  600│━ ━ ━ ━ ━ ━ ━ ━ ━ ━╲━ ⚫ グレー        │
│  400│━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ 🟤 茶色          │
│  200│━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ 🩷 ピンク        │
│      └────────────────────────────────────→   │
└────────────────────────────────────────────────┘

📋 クイック設定チェックリスト

□ SPLクエリ実行完了
□ 赤ライン設定完了     (#FF0000)
□ オレンジライン設定完了 (#FF8800)
□ 黄色ライン設定完了   (#FFFF00)
□ 緑ライン設定完了     (#00FF00)
□ 水色ライン設定完了   (#00FFFF)
□ 青ライン設定完了     (#0000FF)
□ 紫ライン設定完了     (#9400D3)
□ グレーライン設定完了 (#808080)
□ 茶色ライン設定完了   (#8B4513)
□ ピンクライン設定完了 (#FF69B4)
□ 各線でApply押した
□ Saveボタン押した
□ グラフ確認完了

🎨 色のバリエーション

明るいトーン版

線の名前 固定値 明るい色コード
赤ライン 2000 #FF6B6B
オレンジライン 1800 #FFA500
黄色ライン 1600 #FFD700
緑ライン 1400 #90EE90
水色ライン 1200 #87CEEB
青ライン 1000 #4169E1
紫ライン 800 #DA70D6
グレーライン 600 #C0C0C0
茶色ライン 400 #D2691E
ピンクライン 200 #FFB6C1

暗いトーン版

線の名前 固定値 暗い色コード
赤ライン 2000 #8B0000
オレンジライン 1800 #CC5500
黄色ライン 1600 #B8860B
緑ライン 1400 #006400
水色ライン 1200 #008B8B
青ライン 1000 #00008B
紫ライン 800 #4B0082
グレーライン 600 #696969
茶色ライン 400 #654321
ピンクライン 200 #C71585

💡 カスタマイズのヒント

固定値を変更する場合

# 現在の設定(200刻み)
| eval 赤ライン=2000
| eval オレンジライン=1800
| eval 黄色ライン=1600
...

# 100刻みに変更
| eval 赤ライン=1000
| eval オレンジライン=900
| eval 黄色ライン=800
| eval 緑ライン=700
| eval 水色ライン=600
| eval 青ライン=500
| eval 紫ライン=400
| eval グレーライン=300
| eval 茶色ライン=200
| eval ピンクライン=100

# 50刻みに変更
| eval 赤ライン=500
| eval オレンジライン=450
| eval 黄色ライン=400
| eval 緑ライン=350
| eval 水色ライン=300
| eval 青ライン=250
| eval 紫ライン=200
| eval グレーライン=150
| eval 茶色ライン=100
| eval ピンクライン=50

線の太さを変える

重要な線を太く:
┌────────────────────────────────────────┐
│  赤ライン      Line Width: 6  最重要   │
│  オレンジライン Line Width: 5           │
│  黄色ライン    Line Width: 4  重要      │
│  緑ライン      Line Width: 4           │
│  水色ライン    Line Width: 3  通常      │
│  青ライン      Line Width: 3           │
│  紫ライン      Line Width: 2  参考      │
│  グレーライン  Line Width: 2           │
│  茶色ライン    Line Width: 1  補助      │
│  ピンクライン  Line Width: 1           │
└────────────────────────────────────────┘

🔧 トラブルシューティング

問題1: 10本すべてが表示されない

解決策:

1. SPLクエリを確認
   → すべての | eval 行があるか

2. Run Query を実行
   → クエリ変更後は必ず実行

3. Y軸の範囲を確認
   → データが0-1000で基準線が2000なら見えない

問題2: 色が反映されない

解決策:

各線の設定後に必ず:
1. Apply ボタンを押す
2. Save ボタンを押す
3. ページをリロード

すべての基準線(10本)に対して繰り返す

問題3: 線が重なって見えない

解決策:

Line Width を調整:
上の線ほど太く → 下の線は細く

または固定値の間隔を広げる:
200刻み → 300刻みに変更

📊 完成版コピペ用

| inputlookup server_data.csv
| eval _time=strptime(timestamp, "%Y-%m-%d %H:%M:%S")
| timechart span=30m avg(cpu) as データ値
| eval 赤ライン=2000
| eval オレンジライン=1800
| eval 黄色ライン=1600
| eval 緑ライン=1400
| eval 水色ライン=1200
| eval 青ライン=1000
| eval 紫ライン=800
| eval グレーライン=600
| eval 茶色ライン=400
| eval ピンクライン=200

色設定のコピペ用:

赤: #FF0000
オレンジ: #FF8800
黄色: #FFFF00
緑: #00FF00
水色: #00FFFF
青: #0000FF
紫: #9400D3
グレー: #808080
茶色: #8B4513
ピンク: #FF69B4

📝 10本基準線コード【1行ずつ完全解説】


🎯 完全版コード(コメント付き)

| inputlookup server_data.csv

説明:

  • | → パイプ記号。Splunkコマンドの開始
  • inputlookup → アップロードしたCSVファイルを読み込むコマンド
  • server_data.csv → 読み込むファイル名(Settings > Lookups でアップロードしたファイル)
  • 結果: CSVの全データがSplunkに読み込まれる

| eval _time=strptime(timestamp, "%Y-%m-%d %H:%M:%S")

説明:

  • | → 前のコマンドの結果を次のコマンドに渡す
  • eval → 新しいフィールドを作成・計算するコマンド
  • _time= → Splunkの特殊フィールド(時刻を表す)に値を代入
  • strptime() → 文字列を時刻データに変換する関数
  • timestamp → CSVの中のタイムスタンプ列の名前
  • "%Y-%m-%d %H:%M:%S" → 時刻のフォーマット指定
    • %Y = 4桁の年(2026)
    • %m = 2桁の月(01)
    • %d = 2桁の日(22)
    • %H = 24時間形式の時(14)
    • %M = 分(30)
    • %S = 秒(00)
  • 結果: "2026-01-22 14:30:00" という文字列が、Splunkが認識できる時刻データに変換される

| timechart span=30m avg(cpu) as データ値

説明:

  • | → パイプ記号
  • timechart → 時系列グラフを作成するコマンド
  • span=30m → 時間の区切り幅を30分に設定
    • 30m = 30分
    • 1h = 1時間
    • 5m = 5分 なども可能
  • avg(cpu) → cpuフィールドの平均値を計算
    • avg() = 平均を計算する関数
    • cpu = CSVの中のCPU使用率の列名
  • as データ値 → 計算結果に「データ値」という名前を付ける
  • 結果: 30分ごとにCPUの平均値が計算され、グラフのY軸に表示される

| eval 赤ライン=2000

説明:

  • | → パイプ記号
  • eval → 新しいフィールドを作成
  • 赤ライン → 新しく作るフィールドの名前(日本語OK)
  • = → 代入演算子
  • 2000 → 固定値(絶対値)
  • 結果: すべての時刻で、Y軸の2000の位置に「赤ライン」という名前の水平線が引かれる
  • 重要: この値は時刻が変わっても常に2000のまま(絶対値基準線)

| eval オレンジライン=1800

説明:

  • | → パイプ記号
  • eval → 新しいフィールドを作成
  • オレンジライン → フィールド名
  • = → 代入
  • 1800 → 固定値
  • 結果: Y軸の1800の位置に水平線が引かれる
  • 位置: 赤ライン(2000)の200下

| eval 黄色ライン=1600

説明:

  • | → パイプ記号
  • eval → 新しいフィールドを作成
  • 黄色ライン → フィールド名
  • = → 代入
  • 1600 → 固定値
  • 結果: Y軸の1600の位置に水平線が引かれる
  • 位置: オレンジライン(1800)の200下

| eval 緑ライン=1400

説明:

  • | → パイプ記号
  • eval → 新しいフィールドを作成
  • 緑ライン → フィールド名
  • = → 代入
  • 1400 → 固定値
  • 結果: Y軸の1400の位置に水平線が引かれる
  • 位置: 黄色ライン(1600)の200下

| eval 水色ライン=1200

説明:

  • | → パイプ記号
  • eval → 新しいフィールドを作成
  • 水色ライン → フィールド名
  • = → 代入
  • 1200 → 固定値
  • 結果: Y軸の1200の位置に水平線が引かれる
  • 位置: 緑ライン(1400)の200下
  • グラフの真ん中あたり

| eval 青ライン=1000

説明:

  • | → パイプ記号
  • eval → 新しいフィールドを作成
  • 青ライン → フィールド名
  • = → 代入
  • 1000 → 固定値
  • 結果: Y軸の1000の位置に水平線が引かれる
  • 位置: 水色ライン(1200)の200下
  • ちょうど1000の位置(キリの良い数字)

| eval 紫ライン=800

説明:

  • | → パイプ記号
  • eval → 新しいフィールドを作成
  • 紫ライン → フィールド名
  • = → 代入
  • 800 → 固定値
  • 結果: Y軸の800の位置に水平線が引かれる
  • 位置: 青ライン(1000)の200下

| eval グレーライン=600

説明:

  • | → パイプ記号
  • eval → 新しいフィールドを作成
  • グレーライン → フィールド名
  • = → 代入
  • 600 → 固定値
  • 結果: Y軸の600の位置に水平線が引かれる
  • 位置: 紫ライン(800)の200下

| eval 茶色ライン=400

説明:

  • | → パイプ記号
  • eval → 新しいフィールドを作成
  • 茶色ライン → フィールド名
  • = → 代入
  • 400 → 固定値
  • 結果: Y軸の400の位置に水平線が引かれる
  • 位置: グレーライン(600)の200下
  • グラフの下の方

| eval ピンクライン=200

説明:

  • | → パイプ記号
  • eval → 新しいフィールドを作成
  • ピンクライン → フィールド名
  • = → 代入
  • 200 → 固定値
  • 結果: Y軸の200の位置に水平線が引かれる
  • 位置: 茶色ライン(400)の200下
  • 一番下の基準線

📊 データの流れ図解

STEP 1: CSVファイルを読み込む
┌─────────────────────────────────────┐
│ timestamp           cpu  memory     │
│ 2026-01-22 08:00:00  35    55       │
│ 2026-01-22 08:30:00  42    58       │
│ 2026-01-22 09:00:00  58    64       │
└─────────────────────────────────────┘
        ↓ inputlookup server_data.csv

STEP 2: timestampを_timeに変換
┌─────────────────────────────────────┐
│ _time               cpu  memory     │
│ 1737507600          35    55        │
│ 1737509400          42    58        │
│ 1737511200          58    64        │
└─────────────────────────────────────┘
        ↓ eval _time=strptime(...)

STEP 3: 30分ごとに平均を計算
┌─────────────────────────────────────┐
│ _time               データ値         │
│ 2026-01-22 08:00    35              │
│ 2026-01-22 08:30    42              │
│ 2026-01-22 09:00    58              │
└─────────────────────────────────────┘
        ↓ timechart span=30m avg(cpu) as データ値

STEP 4: 10本の基準線を追加
┌───────────────────────────────────────────────────────────┐
│ _time          データ値 赤  橙   黄  緑   水  青  紫  灰  茶  桃│
│ 2026-01-22 08:00  35   2000 1800 1600 1400 1200 1000 800 600 400 200│
│ 2026-01-22 08:30  42   2000 1800 1600 1400 1200 1000 800 600 400 200│
│ 2026-01-22 09:00  58   2000 1800 1600 1400 1200 1000 800 600 400 200│
└───────────────────────────────────────────────────────────┘
        ↓ eval 赤ライン=2000
        ↓ eval オレンジライン=1800
        ↓ (以下同様)

STEP 5: グラフ表示
┌────────────────────────────────────────┐
│ 2000│━━━━━━━━━━━━━━━━━━ 🔴            │
│ 1800│━━━━━━━━━━━━━━━━━━ 🟠            │
│ 1600│━━━━━━━━━━━━━━━━━━ 🟡            │
│ 1400│━━━━━━━━━━━━━━━━━━ 🟢            │
│ 1200│━━━━━━━━━━━━━━━━━━ 💧            │
│ 1000│━━━━━━━━━━━━━━━━━━ 🔵            │
│  800│━━━━━━━━━━━━━━━━━━ 🟣            │
│  600│━━━━━━━━━━━━━━━━━━ ⚫            │
│  400│━━━━━━━━━━━━━━━━━━ 🟤            │
│  200│━━━━━━━━━━━━━━━━━━ 🩷            │
│      │    ╱╲    ╱╲                   │
│   50│  ╱  ╲  ╱  ╲  ← データ値        │
│      └─────────────────────────→      │
└────────────────────────────────────────┘

🔍 各パーツの詳細解説

パート1: データ読み込み

| inputlookup server_data.csv

何が起きているか:

  1. Splunkが server_data.csv を探す
  2. ファイルの内容を全部メモリに読み込む
  3. 各行がイベント(データ行)として扱われる
  4. 各列がフィールドとして認識される

CSVの中身例:

timestamp,cpu,memory,disk
2026-01-22 08:00:00,35,55,45
2026-01-22 08:30:00,42,58,46

Splunkが認識する形:

  • timestamp = "2026-01-22 08:00:00"
  • cpu = 35
  • memory = 55
  • disk = 45

パート2: 時刻変換

| eval _time=strptime(timestamp, "%Y-%m-%d %H:%M:%S")

何が起きているか:

  1. timestampフィールドの値を取得(文字列)
  2. strptime() が文字列を解析
  3. Unix時刻(1970年1月1日からの秒数)に変換
  4. _time という特殊フィールドに保存

変換例:

入力: "2026-01-22 08:00:00"
出力: 1737507600(Unix時刻)

なぜ必要?

  • Splunkのグラフ機能は _time フィールドを使う
  • _time がないと時系列グラフが作れない

パート3: 時系列集計

| timechart span=30m avg(cpu) as データ値

何が起きているか:

  1. データを時刻順に並べる
  2. 30分ごとに区切る
  3. 各区間のcpu値の平均を計算
  4. 結果に「データ値」という名前を付ける

具体例:

元データ:
08:00:00  cpu=35
08:15:00  cpu=40
08:30:00  cpu=42
08:45:00  cpu=48

↓ span=30m avg(cpu)

結果:
08:00  データ値=37.5  (35+40の平均)
08:30  データ値=45    (42+48の平均)

パート4-13: 基準線追加

| eval 赤ライン=2000
| eval オレンジライン=1800
| eval 黄色ライン=1600
| eval 緑ライン=1400
| eval 水色ライン=1200
| eval 青ライン=1000
| eval 紫ライン=800
| eval グレーライン=600
| eval 茶色ライン=400
| eval ピンクライン=200

何が起きているか:

  1. 既存の各行(時刻ごと)に新しいフィールドを追加
  2. すべての行で同じ値(固定値)を設定
  3. この固定値が水平線として表示される

具体例:

timechart実行後:
_time           データ値
08:00           37.5
08:30           45.0

↓ eval 赤ライン=2000 実行後

_time           データ値  赤ライン
08:00           37.5     2000
08:30           45.0     2000

↓ すべてのeval実行後

_time     データ値 赤  橙   黄   緑   水  青  紫  灰  茶  桃
08:00     37.5   2000 1800 1600 1400 1200 1000 800 600 400 200
08:30     45.0   2000 1800 1600 1400 1200 1000 800 600 400 200

グラフ表示:

  • データ値: 変動する(37.5 → 45.0)
  • 基準線: すべて固定(常に同じ値)

💡 よくある質問

Q1: なぜパイプ | が必要?

答え:

| inputlookup server_data.csv
↓ この結果を次に渡す
| eval _time=strptime(...)
↓ この結果を次に渡す
| timechart ...
↓ この結果を次に渡す
| eval 赤ライン=2000

パイプがないと、各コマンドが独立して実行される

Q2: eval= の違いは?

答え:

  • eval = フィールドを作成・計算するコマンド
  • = = 値を代入する記号
eval フィールド名=値
 ↑    ↑      ↑
コマンド 名前  値

Q3: なぜ as データ値 が必要?

答え:

# as がない場合:
| timechart span=30m avg(cpu)
→ フィールド名: "avg(cpu)" (わかりにくい)

# as がある場合:
| timechart span=30m avg(cpu) as データ値
→ フィールド名: "データ値" (わかりやすい)

グラフの凡例にも「データ値」と表示される

Q4: 固定値を変えるには?

答え:

# 現在
| eval 赤ライン=2000

# 変更したい
| eval 赤ライン=3000
              ↑
           この数字を変える

結果: Y軸の3000の位置に赤い線が引かれる

📝 完全版コード(全コメント付き)

| inputlookup server_data.csv
  ↑ ①CSVファイルを読み込む

| eval _time=strptime(timestamp, "%Y-%m-%d %H:%M:%S")
  ↑ ②タイムスタンプ列を_timeフィールドに変換

| timechart span=30m avg(cpu) as データ値
  ↑ ③30分ごとにCPUの平均値を計算してグラフ化

| eval 赤ライン=2000
  ↑ ④Y軸の2000に赤い線を引く(固定値)

| eval オレンジライン=1800
  ↑ ⑤Y軸の1800にオレンジの線を引く(固定値)

| eval 黄色ライン=1600
  ↑ ⑥Y軸の1600に黄色の線を引く(固定値)

| eval 緑ライン=1400
  ↑ ⑦Y軸の1400に緑の線を引く(固定値)

| eval 水色ライン=1200
  ↑ ⑧Y軸の1200に水色の線を引く(固定値)

| eval 青ライン=1000
  ↑ ⑨Y軸の1000に青の線を引く(固定値)

| eval 紫ライン=800
  ↑ ⑩Y軸の800に紫の線を引く(固定値)

| eval グレーライン=600
  ↑ ⑪Y軸の600にグレーの線を引く(固定値)

| eval 茶色ライン=400
  ↑ ⑫Y軸の400に茶色の線を引く(固定値)

| eval ピンクライン=200
  ↑ ⑬Y軸の200にピンクの線を引く(固定値)

🎯 カスタマイズ例

100刻みに変更

| inputlookup server_data.csv
  # CSVファイルを読み込む

| eval _time=strptime(timestamp, "%Y-%m-%d %H:%M:%S")
  # タイムスタンプを変換

| timechart span=30m avg(cpu) as データ値
  # 30分ごとの平均を計算

| eval 赤ライン=1000
  # Y軸の1000に赤線

| eval オレンジライン=900
  # Y軸の900にオレンジ線

| eval 黄色ライン=800
  # Y軸の800に黄線

| eval 緑ライン=700
  # Y軸の700に緑線

| eval 水色ライン=600
  # Y軸の600に水色線

| eval 青ライン=500
  # Y軸の500に青線

| eval 紫ライン=400
  # Y軸の400に紫線

| eval グレーライン=300
  # Y軸の300にグレー線

| eval 茶色ライン=200
  # Y軸の200に茶線

| eval ピンクライン=100
  # Y軸の100にピンク線

📝 Qiita記事【完全版】

# Splunkダッシュボードスタジオで基準線の色を動的に変える方法【完全ガイド】

## はじめに

Splunkダッシュボードスタジオで、**データの値によって基準線の色が自動的に変わる**グラフを作成する方法を解説します。

例えば、CPU使用率が70%未満の時は緑の基準線、70%以上になると赤の基準線に自動的に切り替わる、といった視覚的に分かりやすいダッシュボードを作成できます。

### この記事で作るもの

データが基準値を超えると、基準線の色が**茶色→ピンク**に自動的に変化するグラフ

通常時(データ < 1000)
┌────────────────────────────────────────┐
│ 1000│━━━━━━━━━━━━━━━━━━ (茶色) │
│ │ ╱╲ ╱╲ │
│ 500│ ╱ ╲ ╱ ╲ │
│ └─────────────────────────→ │
└────────────────────────────────────────┘

警告時(データ >= 1000)
┌────────────────────────────────────────┐
│ 1000│━━━━💗💗💗💗💗━━━━━━━ (ピンク) │
│ │ ╱╲╱╲ │
│ 500│ ╱ ╲ │
│ └─────────────────────────→ │
└────────────────────────────────────────┘


## 環境

- Splunk Enterprise 9.x / Splunk Cloud
- Dashboard Studio
- テストデータ: CSV形式

## 目次

1. [仕組みの理解](#仕組みの理解)
2. [基本編:2色で色が変わる基準線](#基本編2色で色が変わる基準線)
3. [応用編:3段階の色変化](#応用編3段階の色変化)
4. [実践編:10段階の色変化](#実践編10段階の色変化)
5. [複数の基準線を同時に色変更](#複数の基準線を同時に色変更)
6. [トラブルシューティング](#トラブルシューティング)
7. [まとめ](#まとめ)

## 仕組みの理解

### コア概念

**「同じ位置に2本の条件付き線を用意する」**

同じ位置(Y=1000)に2本の線:
━━━ 茶色線: データ<1000の時だけ表示
━━━ ピンク線: データ>=1000の時だけ表示

結果: データの値によって表示される線が切り替わる
→ 色が変わったように見える


### データフロー図

┌─────────────────────────────────────────┐
│ STEP 1: データ読み込み │
│ timestamp,cpu │
│ 2026-01-22 08:00:00,800 │
│ 2026-01-22 08:30:00,1200 │
└─────────────────────────────────────────┘

┌─────────────────────────────────────────┐
│ STEP 2: 条件判定 │
│ データ数=800 → 茶色線=1000, ピンク線=null│
│ データ数=1200 → 茶色線=null, ピンク線=1000│
└─────────────────────────────────────────┘

┌─────────────────────────────────────────┐
│ STEP 3: グラフ表示 │
│ 08:00 → 茶色の線が表示される │
│ 08:30 → ピンクの線が表示される(色変化)│
└─────────────────────────────────────────┘


## 基本編:2色で色が変わる基準線

### テストデータの準備

まず、CSVファイルを用意します。

**server_data.csv**
```csv
timestamp,cpu,memory,disk
2026-01-22 08:00:00,800,55,45
2026-01-22 08:30:00,1200,58,46
2026-01-22 09:00:00,950,64,47
2026-01-22 09:30:00,1500,71,48

Settings > Lookups > Lookup table files からアップロードしてください。

SPLコード(完全版)

| inputlookup server_data.csv

コメント:

  • inputlookup コマンドでCSVファイルを読み込む
  • server_data.csv はアップロード済みのファイル名
  • このコマンドでCSVの全データがメモリに読み込まれる

データ状態:

timestamp            cpu  memory  disk
2026-01-22 08:00:00  800  55      45
2026-01-22 08:30:00  1200 58      46
2026-01-22 09:00:00  950  64      47

| eval _time=strptime(timestamp, "%Y-%m-%d %H:%M:%S")

コメント:

  • eval コマンドで新しいフィールドを作成
  • _time はSplunkの時刻を表す特殊フィールド
  • strptime() 関数で文字列を時刻データに変換
  • timestamp はCSVのタイムスタンプ列の名前
  • "%Y-%m-%d %H:%M:%S" は時刻フォーマット指定
    • %Y = 4桁年、%m = 月、%d = 日
    • %H = 時、%M = 分、%S = 秒

変換例:

入力: "2026-01-22 08:00:00" (文字列)
  ↓ strptime()で変換
出力: 1737507600 (Unix時刻)

データ状態:

_time        timestamp            cpu  memory  disk
1737507600   2026-01-22 08:00:00  800  55      45
1737509400   2026-01-22 08:30:00  1200 58      46

| timechart span=30m avg(cpu) as データ数

コメント:

  • timechart コマンドで時系列グラフを作成
  • span=30m で30分間隔に集計
    • 他のオプション: 5m(5分), 1h(1時間), 1d(1日)
  • avg(cpu) でcpuフィールドの平均値を計算
  • as データ数 で結果に「データ数」という名前を付ける

集計処理:

元データ(span=30m前):
08:00:00  cpu=800
08:15:00  cpu=850
08:30:00  cpu=1200
08:45:00  cpu=1300

↓ span=30mで集計

結果:
08:00  データ数=825   (800+850の平均)
08:30  データ数=1250  (1200+1300の平均)

データ状態:

_time                データ数
2026-01-22 08:00:00  825
2026-01-22 08:30:00  1250
2026-01-22 09:00:00  950

| eval 茶色基準線=if(データ数<1000, 1000, null())

コメント:

  • eval コマンドで「茶色基準線」フィールドを作成
  • if() 関数で条件分岐
    • 構文: if(条件, 真の時の値, 偽の時の値)
  • データ数<1000 が条件(データが1000未満か?)
  • 条件が真(データ<1000)なら 1000 を返す
    • この1000がY軸の位置になる
  • 条件が偽(データ>=1000)なら null() を返す
    • null()は「何も表示しない」という意味

重要ポイント:

  • null() を使うことで、条件に合わない時は線を非表示にする
  • 0や空文字("")ではなく、必ずnull()を使う

条件分岐の動作:

時刻    データ数  条件判定           茶色基準線
08:00   825      825<1000 → 真      1000 ✓表示
08:30   1250     1250<1000 → 偽     null ✗非表示
09:00   950      950<1000 → 真      1000 ✓表示

データ状態:

_time                データ数  茶色基準線
2026-01-22 08:00:00  825      1000
2026-01-22 08:30:00  1250     null
2026-01-22 09:00:00  950      1000

| eval ピンク基準線=if(データ数>=1000, 1000, null())

コメント:

  • eval コマンドで「ピンク基準線」フィールドを作成
  • if() 関数で条件分岐
  • データ数>=1000 が条件(データが1000以上か?)
  • 条件が真(データ>=1000)なら 1000 を返す
    • 茶色基準線と同じY軸位置(1000)
  • 条件が偽(データ<1000)なら null() を返す

条件分岐の動作:

時刻    データ数  条件判定            ピンク基準線
08:00   825      825>=1000 → 偽      null ✗非表示
08:30   1250     1250>=1000 → 真     1000 ✓表示
09:00   950      950>=1000 → 偽      null ✗非表示

データ状態(最終):

_time                データ数  茶色基準線  ピンク基準線
2026-01-22 08:00:00  825      1000       null       ← 茶色のみ
2026-01-22 08:30:00  1250     null       1000       ← ピンクのみ
2026-01-22 09:00:00  950      1000       null       ← 茶色のみ

結果:

  • 同じ位置(Y=1000)に2本の線が条件付きで表示される
  • どちらか一方だけが表示されるため、色が切り替わったように見える

完全版コード

| inputlookup server_data.csv
  ↑ ①CSVファイルを読み込む

| eval _time=strptime(timestamp, "%Y-%m-%d %H:%M:%S")
  ↑ ②タイムスタンプを時刻に変換

| timechart span=30m avg(cpu) as データ数
  ↑ ③30分ごとの平均値を計算

| eval 茶色基準線=if(データ数<1000, 1000, null())
  ↑ ④データ<1000の時だけY=1000に茶色の線

| eval ピンク基準線=if(データ数>=1000, 1000, null())
  ↑ ⑤データ>=1000の時だけY=1000にピンクの線

UI設定:色を設定する

Dashboard Studioの右側パネルで以下を設定します。

  1. Configuration タブをクリック
  2. Visualization > Series を展開
  3. 茶色基準線 を選択
    • Color: #8B4513 (茶色)
    • Line Width: 4
    • Line Style: Dashed (点線)
  4. ピンク基準線 を選択
    • Color: #FF1493 (ピンク)
    • Line Width: 4
    • Line Style: Dashed (点線)

完成イメージ

08:00(データ=825 < 1000)
┌────────────────────────────────────────┐
│ 1000│━ ━ ━ ━ ━ ━ ━ ━ ━ (茶色)           │
│      │   ╱╲                            │
│  500│ ╱  ╲                            │
│      └─────────────────────────→       │
└────────────────────────────────────────┘

08:30(データ=1250 >= 1000)
┌────────────────────────────────────────┐
│ 1000│━ ━ ━ ━ ━ ━ ━ ━ ━ (ピンク)         │
│      │       ╱╲                        │
│  500│     ╱  ╲                        │
│      └─────────────────────────→       │
│       色が変わった!                    │
└────────────────────────────────────────┘

応用編:3段階の色変化

データの値に応じて緑→黄→赤の3段階に色が変化する基準線を作成します。

SPLコード

| inputlookup server_data.csv
  ↑ CSVファイルを読み込む

| eval _time=strptime(timestamp, "%Y-%m-%d %H:%M:%S")
  ↑ タイムスタンプを時刻に変換

| timechart span=30m avg(cpu) as データ数
  ↑ 30分ごとの平均値を計算

| eval 緑基準線=if(データ数<800, 1000, null())
  ↑ データ<800の時: 緑の線を表示
    データ>=800の時: 非表示

| eval 黄基準線=if(データ数>=800 AND データ数<1200, 1000, null())
  ↑ データ800-1199の時: 黄色の線を表示
    それ以外: 非表示
    ANDで2つの条件を結合

| eval 赤基準線=if(データ数>=1200, 1000, null())
  ↑ データ>=1200の時: 赤の線を表示
    データ<1200の時: 非表示

条件の詳細解説

| eval 黄基準線=if(データ数>=800 AND データ数<1200, 1000, null())

AND演算子の動作:

データ数=600  → 600>=800? 偽 → 全体が偽 → null
データ数=950  → 950>=800? 真 AND 950<1200? 真 → 全体が真 → 1000
データ数=1500 → 1500>=800? 真 AND 1500<1200? 偽 → 全体が偽 → null

条件範囲:

  • 緑基準線: 0 ≤ データ数 < 800
  • 黄基準線: 800 ≤ データ数 < 1200
  • 赤基準線: 1200 ≤ データ数

データフロー

時刻    データ数  緑基準線  黄基準線  赤基準線  表示色
08:00   600      1000     null     null     緑
08:30   950      null     1000     null     黄
09:00   1400     null     null     1000     赤
09:30   750      1000     null     null     緑

グラフの変化

データ=600(正常)
┌────────────────────────────────────────┐
│ 1000│━━━━━━━━━━━━━━━━━━ 🟢 緑           │
│      │  ╱╲                             │
│  500│ ╱  ╲                            │
│      └─────────────────────────→       │
└────────────────────────────────────────┘

データ=950(注意)
┌────────────────────────────────────────┐
│ 1000│━━━━━━━━━━━━━━━━━━ 🟡 黄           │
│      │      ╱╲                         │
│  500│    ╱  ╲                         │
│      └─────────────────────────→       │
└────────────────────────────────────────┘

データ=1400(警告)
┌────────────────────────────────────────┐
│ 1000│━━━━━━━━━━━━━━━━━━ 🔴 赤           │
│      │          ╱╲                     │
│  500│        ╱  ╲                     │
│      └─────────────────────────→       │
└────────────────────────────────────────┘

UI色設定

フィールド名 HEXコード Line Width
緑基準線 #00FF00 4
黄基準線 #FFFF00 4
赤基準線 #FF0000 4

実践編:10段階の色変化

データの値を200刻みで10段階に分け、それぞれ異なる色の基準線を表示します。

SPLコード(完全版)

| inputlookup server_data.csv
  ↑ CSVデータを読み込む

| eval _time=strptime(timestamp, "%Y-%m-%d %H:%M:%S")
  ↑ 時刻フィールドに変換

| timechart span=30m avg(cpu) as データ数
  ↑ 30分ごとに集計

| eval レベル1_緑=if(データ数<200, 1000, null())
  ↑ レベル1: データ0-199 → 緑色

| eval レベル2_水色=if(データ数>=200 AND データ数<400, 1000, null())
  ↑ レベル2: データ200-399 → 水色

| eval レベル3_青=if(データ数>=400 AND データ数<600, 1000, null())
  ↑ レベル3: データ400-599 → 青色

| eval レベル4_紫=if(データ数>=600 AND データ数<800, 1000, null())
  ↑ レベル4: データ600-799 → 紫色

| eval レベル5_茶=if(データ数>=800 AND データ数<1000, 1000, null())
  ↑ レベル5: データ800-999 → 茶色

| eval レベル6_灰=if(データ数>=1000 AND データ数<1200, 1000, null())
  ↑ レベル6: データ1000-1199 → グレー

| eval レベル7_黄=if(データ数>=1200 AND データ数<1400, 1000, null())
  ↑ レベル7: データ1200-1399 → 黄色

| eval レベル8_橙=if(データ数>=1400 AND データ数<1600, 1000, null())
  ↑ レベル8: データ1400-1599 → オレンジ

| eval レベル9_赤=if(データ数>=1600 AND データ数<1800, 1000, null())
  ↑ レベル9: データ1600-1799 → 赤色

| eval レベル10_桃=if(データ数>=1800, 1000, null())
  ↑ レベル10: データ1800以上 → ピンク

レベル定義表

レベル データ範囲 HEXコード 状態
1 0-199 #00FF00 非常に低い
2 200-399 水色 #00FFFF 低い
3 400-599 #0000FF やや低い
4 600-799 #9400D3 普通
5 800-999 #8B4513 やや高い
6 1000-1199 #808080 高い
7 1200-1399 #FFFF00 かなり高い
8 1400-1599 #FF8800 非常に高い
9 1600-1799 #FF0000 危険
10 1800+ #FF69B4 非常に危険

データフロー図

入力データ:
┌────────────────────────────┐
│ データ数=350               │
└────────────────────────────┘
              ↓
条件判定(10個のif文を順番に評価):
┌────────────────────────────┐
│ レベル1: 350<200? → 偽     │
│ レベル2: 200<=350<400? → 真 │ ✓
│ レベル3: 400<=350<600? → 偽 │
│ ... (以下省略)              │
└────────────────────────────┘
              ↓
出力(レベル2のみ1000、他はnull):
┌────────────────────────────┐
│ レベル1_緑=null            │
│ レベル2_水色=1000  ← 表示   │
│ レベル3_青=null            │
│ ... (以下省略)              │
└────────────────────────────┘
              ↓
グラフ表示:
水色の線がY=1000に表示される

完成グラフ

データの値に応じて10色に変化
┌────────────────────────────────────────┐
│ 1000│━━━━━━━━━━━━━━━━━━                │
│      │   🟢💧🔵🟣🟤⚫🟡🟠🔴💗           │
│      │   ↑データの値で色が変化           │
│  500│  ╱ ╲ ╱ ╲ ╱ ╲                    │
│      └─────────────────────────→       │
└────────────────────────────────────────┘

複数の基準線を同時に色変更

3つの異なる位置の基準線が、それぞれ独立して色変化する例です。

SPLコード

| inputlookup server_data.csv
  ↑ データ読み込み

| eval _time=strptime(timestamp, "%Y-%m-%d %H:%M:%S")
  ↑ 時刻変換

| timechart span=30m avg(cpu) as データ数
  ↑ 集計

# 基準線A(Y=500の位置)
| eval A_緑=if(データ数<800, 500, null())
  ↑ データ<800の時、Y=500に緑の線

| eval A_赤=if(データ数>=800, 500, null())
  ↑ データ>=800の時、Y=500に赤の線
  結果: 基準線Aが緑→赤に変化

# 基準線B(Y=1000の位置)
| eval B_緑=if(データ数<800, 1000, null())
  ↑ データ<800の時、Y=1000に緑の線

| eval B_赤=if(データ数>=800, 1000, null())
  ↑ データ>=800の時、Y=1000に赤の線
  結果: 基準線Bが緑→赤に変化

# 基準線C(Y=1500の位置)
| eval C_緑=if(データ数<800, 1500, null())
  ↑ データ<800の時、Y=1500に緑の線

| eval C_赤=if(データ数>=800, 1500, null())
  ↑ データ>=800の時、Y=1500に赤の線
  結果: 基準線Cが緑→赤に変化

グラフの変化

通常時(データ<800)
┌────────────────────────────────────────┐
│ 1500│━━━━━━━━━━━━━━━━━━ 🟢 C_緑       │
│ 1000│━━━━━━━━━━━━━━━━━━ 🟢 B_緑       │
│      │    ╱╲                           │
│  500│━━╱━━╲━━━━━━━━━━━━ 🟢 A_緑       │
│      └─────────────────────────→       │
└────────────────────────────────────────┘

警告時(データ>=800)
┌────────────────────────────────────────┐
│ 1500│━━━━━━━━━━━━━━━━━━ 🔴 C_赤       │
│ 1000│━━━━━━━━━━━━━━━━━━ 🔴 B_赤       │
│      │        ╱╲                       │
│  500│━━━━━━╱━━╲━━━━━━━━ 🔴 A_赤       │
│      └─────────────────────────→       │
│       3本とも同時に色変化!              │
└────────────────────────────────────────┘

トラブルシューティング

問題1: 線が表示されない

原因:

❌ 間違い:
| eval 緑線=if(データ数<1000, 1000, 0)
                                  ↑
                            0を返している

解決策:

✅ 正しい:
| eval 緑線=if(データ数<1000, 1000, null())
                                  ↑
                         必ずnull()を使う

理由:

  • 0 を返すとY=0の位置に線が表示される
  • "" (空文字)も正しく動作しない
  • null() だけが「非表示」を意味する

問題2: 両方の線が同時に表示される

原因:
条件が重複している

❌ 間違い:
| eval 緑線=if(データ数<=1000, 1000, null())
                        ↑
| eval 赤線=if(データ数>=1000, 1000, null())
                        ↑
              データ=1000の時、両方とも真

解決策:

✅ 正しい:
| eval 緑線=if(データ数<1000, 1000, null())
                       ↑ < (未満)
| eval 赤線=if(データ数>=1000, 1000, null())
                       ↑ >= (以上)
              データ=1000の時は赤線のみ表示

問題3: AND条件が動かない

原因:
全角スペースや構文エラー

❌ 間違い:
| eval 黄線=if(データ数>=800 AND データ数<1200, 1000, null())
                          ↑    ↑
                      全角スペース

解決策:

✅ 正しい:
| eval 黄線=if(データ数>=800 AND データ数<1200, 1000, null())
                          ↑   ↑
                    半角スペース
                    ANDは大文字

問題4: 色が変わらない

チェックリスト:

□ Run Query を実行したか?
□ Configuration > Series で色設定をしたか?
□ Apply ボタンを押したか?
□ Save ボタンを押したか?
□ ページをリロードしたか?

設定確認:

Configuration > Series
┌────────────────────────────────────────┐
│  茶色基準線                             │
│    Color: #8B4513  ← HEXコード確認      │
│    [ Apply ]  ← 必ず押す               │
└────────────────────────────────────────┘

まとめ

重要ポイント

  1. 条件分岐には if() 関数を使う

    if(条件, 真の時の値, 偽の時の値)
    
  2. 非表示には必ず null() を使う

    if(データ数<1000, 1000, null())
                            ↑
                       これが重要!
    
  3. 同じ位置に複数の条件付き線を配置

    | eval 緑線=if(データ数<800, 1000, null())
    | eval 黄線=if(データ数>=800 AND データ数<1200, 1000, null())
    | eval 赤線=if(データ数>=1200, 1000, null())
                 ↑           ↑           ↑
              すべて同じ位置(1000)
    
  4. AND で条件を組み合わせる

    データ数>=800 AND データ数<1200
        ↑              ↑
     以上           未満
    

コピペ用テンプレート

2色バージョン:

| inputlookup あなたのファイル.csv
| eval _time=strptime(timestamp, "%Y-%m-%d %H:%M:%S")
| timechart span=30m avg(フィールド名) as データ数
| eval 茶色基準線=if(データ数<閾値, 位置, null())
| eval ピンク基準線=if(データ数>=閾値, 位置, null())

3色バージョン:

| inputlookup あなたのファイル.csv
| eval _time=strptime(timestamp, "%Y-%m-%d %H:%M:%S")
| timechart span=30m avg(フィールド名) as データ数
| eval 緑基準線=if(データ数<800, 1000, null())
| eval 黄基準線=if(データ数>=800 AND データ数<1200, 1000, null())
| eval 赤基準線=if(データ数>=1200, 1000, null())

応用アイデア

  • 時間帯によって色が変わる基準線
  • 曜日によって色が変わる基準線
  • 複数のメトリクスを組み合わせた条件

次のステップ

この技術を使って、以下のような応用が可能です:

  1. 複雑な条件での色変更

    | eval 条件1=時刻>=9 AND 時刻<18
    | eval 条件2=データ数>1000
    | eval 基準線=if(条件1 AND 条件2, 1000, null())
    
  2. 複数データソースの組み合わせ

    | eval 複合条件=cpu使用率>80 OR メモリ使用率>90
    | eval 警告線=if(複合条件, 1000, null())
    

参考リンク


以上、Splunkダッシュボードスタジオで基準線の色を動的に変える方法の完全ガイドでした。

質問やフィードバックがあれば、コメント欄でお気軽にどうぞ!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?