to4kawaさんのコメントのように幾つか入力の仕方に方法がありますので、以下の例がベストかどうかは判断いただければとおもいますが、ご参考までにサンプルを。
そこでテキストボックスを作成し、任意の日付を入れられるようにしました。
質問中の上をそのままやってみると、以下のような感じになりました。イメージあっていればいいですが、いかがでしょうか。
上のテキストボックス用のトークン名をtime1と定義
time1の日付文字をそれぞれearliest(月の初めの時刻)とlatest(翌月のはじめの時刻)として変換
[]でくくられたサブサーチから、earliestとlatestが返されて、メインのサーチの検索時間範囲として利用
index=_internal
[
| makeresults
| eval earliest=relative_time(strptime("$time1$", "%Y-%m-%d"),"@mon"), latest=relative_time(strptime("$time1$", "%Y-%m-%d"),"+1mon@mon")
| fields earliest latest
]
| stats count
実際のダッシュボードのXMLはこちら。
<form>
<label>answers794225</label>
<fieldset submitButton="false" autoRun="false"></fieldset>
<row>
<panel>
<input type="text" token="time1" searchWhenChanged="false">
<label>時刻フォーマット (YYYY/MM)</label>
</input>
<single>
<search>
<query>
index=_internal
[
| makeresults
| eval earliest=relative_time(strptime("$time1$/01", "%Y/%m/%d"),"@mon"), latest=relative_time(strptime("$time1$/01", "%Y/%m/%d"),"+1mon@mon")
| fields earliest latest
]
| stats count
</query>
</search>
</single>
<chart>
<search>
<query>
| tstats prestats=true count where index=_internal
[
| makeresults
| eval earliest=relative_time(strptime("$time1$/01", "%Y/%m/%d"),"@mon"), latest=relative_time(strptime("$time1$/01", "%Y/%m/%d"),"+1mon@mon")
| return earliest=$$earliest latest=$$latest
] by _time
| timechart count
</query>
</search>
<option name="charting.chart">column</option>
<option name="charting.drilldown">none</option>
<option name="refresh.display">progressbar</option>
</chart>
</panel>
<panel>
<input type="dropdown" token="yyyy">
<label>Year</label>
<fieldForLabel>y</fieldForLabel>
<fieldForValue>y</fieldForValue>
<search>
<query>
| makeresults count=30
| streamstats c
| eval y=tonumber(strftime(now(), "%Y"))-c+1
</query>
</search>
</input>
<input type="dropdown" token="mm">
<label>Month</label>
<fieldForLabel>c</fieldForLabel>
<fieldForValue>c</fieldForValue>
<search>
<query>
| makeresults count=12
| streamstats c
</query>
</search>
</input>
<single>
<search>
<query>
index=_internal
[
| makeresults
| eval earliest=relative_time(strptime("$yyyy$/$mm$/01", "%Y/%m/%d"),"@mon"), latest=relative_time(strptime("$yyyy$/$mm$/01", "%Y/%m/%d"),"+1mon@mon")
| fields earliest latest
]
| stats count
</query>
</search>
</single>
<chart>
<search>
<query>
| tstats prestats=true count where index=_internal
[
| makeresults
| eval earliest=relative_time(strptime("$yyyy$/$mm$/01", "%Y/%m/%d"),"@mon"), latest=relative_time(strptime("$yyyy$/$mm$/01", "%Y/%m/%d"),"+1mon@mon")
| return earliest=$$earliest latest=$$latest
] by _time
| timechart count
</query>
</search>
<option name="charting.chart">column</option>
<option name="charting.drilldown">none</option>
<option name="refresh.display">progressbar</option>
</chart>
</panel>
</row>
</form>
どうでしょ。
*完成したダッシュボードなど共有いただけると他の皆さんの参考になるかとおもいますので、ご検討いただければ!
... View more