雲のメモ帳

猫とクラウドと旅行が好きなインフラエンジニアです。 日々の調べたことや興味が持ったことをこのブログにアウトプットします。

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