Splunkで1日のインデックスごとのログ流量を集計する

これはなに?

インデックスごとのログ流量を確認するためのTips。 Splunkのライセンス利用料は、基本的に1日の取り込んだログの流量に依存するため、1日辺りのログ流量の情報が重要になってきます。

ログ流量確認方法

SPLを使って ”license_usage.log” の情報を集計すれ、ログの流量を確認できます。 /opt/splunk/var/log/splunk/license_usage.log に出力されている情報がログの実体となります。

<例>

08-12-2020 04:52:30.845 +0000 INFO  LicenseUsage - type=Usage s="http:test" st=_json h="xxxx8088" o="" idx="main" i="XXXX-XXXX-XXXX-XXX" pool="auto_generated_pool_download-trial" b=1420 poolsz=524288000

1日ごとのログ流量

Splunk では、システムログが ”_internal” というインデックスに格納されています。
index=_internal source="*license_usage.log" で、システムログの*license_usage.logをソースとして指定し、集計しています。 timechartで間隔を指定しているので、timechart の "span" を変更すれば任意の期間に変更できます。

index=_internal source="*license_usage.log" type=usage idx="*" 
| eval MB = round(b/1048576,2) 
| eval st_idx = st.": ".idx 
| timechart span=1d sum(MB) by st_idx 
| addtotals

1ヶ月ごとのログ流量

spanの指定を ”1mon” に変更。※1mだと1分になるので、記述に注意してください
timechartで指定できる値 : 秒(s)、分(m)、時間(h)、日(d)、週(w)、月(mon)

index=_internal source="*license_usage.log" type=usage idx="*" 
| eval MB = round(b/1048576,2) 
| eval st_idx = st.": ".idx 
| timechart span=1mon sum(MB) by st_idx 
| addtotals

参考

Solved: How to find license usage by indexes? - Splunk Community
timechart - Splunk Documentation