LoginSignup
4
3

More than 3 years have passed since last update.

Splunkダッシュボードにてパン&ズームした範囲に合わせて他のパネルも動的に検索結果を表示したい

Last updated at Posted at 2019-09-10

見たい時間帯にフォーカスしたタイムレンジで、他のパネルも表示したいんだ

  • timechartでグラフをつくって、対象期間を選択
  • 他のパネルも連動させて結果を表示したい
  • 言葉よりも↓のイメージを見て

やりたいこと

上のパネルは1s間隔の時系列グラフ。パン&ズームで選択した期間を2つ目のパネル(100ms間隔の時系列グラフ)にも参照させる。

Sep-10-2019 11-46-59.gif

How to

サンプルダッシュボードソース

sample
<form theme="dark">
  <label>demo_pan_zoom</label>
  <fieldset submitButton="false">
    <input type="time" token="time">
      <label></label>
      <default>
        <earliest>0</earliest>
        <latest></latest>
      </default>
    </input>
  </fieldset>
  <row>
    <panel>
      <title>1s間隔の平均値</title>
      <chart>
        <search>
          <query>index=main |timechart span=1s avg(1_N) as avg</query>
          <earliest>$time.earliest$</earliest>
          <latest>$time.latest$</latest>
        </search>
        <selection>
          <set token="selection.earliest">$start$</set>
          <set token="selection.latest">$end$</set>
        </selection>
        <option name="charting.axisLabelsX.majorLabelStyle.overflowMode">ellipsisNone</option>
        <option name="charting.axisLabelsX.majorLabelStyle.rotation">0</option>
        <option name="charting.axisTitleX.visibility">collapsed</option>
        <option name="charting.axisTitleY.visibility">visible</option>
        <option name="charting.axisTitleY2.visibility">visible</option>
        <option name="charting.axisX.abbreviation">none</option>
        <option name="charting.axisX.scale">linear</option>
        <option name="charting.axisY.abbreviation">none</option>
        <option name="charting.axisY.scale">linear</option>
        <option name="charting.axisY2.abbreviation">none</option>
        <option name="charting.axisY2.enabled">0</option>
        <option name="charting.axisY2.scale">inherit</option>
        <option name="charting.chart">area</option>
        <option name="charting.chart.bubbleMaximumSize">50</option>
        <option name="charting.chart.bubbleMinimumSize">10</option>
        <option name="charting.chart.bubbleSizeBy">area</option>
        <option name="charting.chart.nullValueMode">gaps</option>
        <option name="charting.chart.showDataLabels">none</option>
        <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
        <option name="charting.chart.stackMode">default</option>
        <option name="charting.chart.style">shiny</option>
        <option name="charting.drilldown">all</option>
        <option name="charting.layout.splitSeries">0</option>
        <option name="charting.layout.splitSeries.allowIndependentYRanges">0</option>
        <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
        <option name="charting.legend.mode">standard</option>
        <option name="charting.legend.placement">right</option>
        <option name="charting.lineWidth">2</option>
        <option name="refresh.display">none</option>
        <option name="trellis.enabled">0</option>
        <option name="trellis.scales.shared">1</option>
        <option name="trellis.size">medium</option>
      </chart>
    </panel>
  </row>
  <row>
    <panel>
      <title>100ms間隔の平均値</title>
      <chart>
        <search>
          <query>index=main earliest=$selection.earliest$ latest=$selection.latest$ |timechart span=100ms avg(1_N) as avg</query>
        </search>
        <option name="charting.axisTitleX.visibility">collapsed</option>
        <option name="charting.chart">area</option>
        <option name="charting.chart.nullValueMode">connect</option>
        <option name="charting.chart.showDataLabels">none</option>
        <option name="charting.drilldown">none</option>
        <option name="refresh.display">progressbar</option>
      </chart>
    </panel>
  </row>
</form>

編集のポイント

1つめのパネルに<selection>をセット

<selection>
  <set token="selection.earliest">$start$</set>
  <set token="selection.latest">$end$</set>
</selection>

2つ目のパネルで<selection>を参照する

<search>
  <query>index=main earliest=$selection.earliest$ latest=$selection.latest$ |timechart span=100ms avg(1_N) as avg</query>
</search>
4
3
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
4
3