Help us understand the problem. What is going on with this article?

Splunkで先月比のグラフをつくる

Excelだと簡単にできるけど、Splunkでやるにはちょっと頑張らなきゃいけなかった。
chartを使えば簡単にできました。(半年後の感想)

データの準備

SPL
| gentimes start=05/01/2019 end=07/01/2019
| rename starttime as _time
| eval count=(random() % 1000 ) +1
| eval date_month=strftime(_time, "%m")
| eval date_mday=strftime(_time, "%d")
| fields _time,count,date_month,date_mday

gentimesでずらっと日付を二ヶ月分作成して、適当なデータをrandom()で作成

strftimeで月と日にちを作成。これはあとで集計する際の指標とする。

fieldsで必要なデータのフィールドのみとする。

集計と表示向け加工

SPL
| chart sum(count) as count by date_mday date_month
| rename date_mday as _date_mday
| foreach * 
    [ eval time="<<MATCHSTR>>"."-"._date_mday]
    | eval _time=strptime(time,"%m-%d")
    | fields - time
    | table _time *

chart@splunk>docsの記述をみると

chart [<chart-options>] [agg=<stats-agg-term>]
( <stats-agg-term> | <sparkline-agg-term> | "("<eval-expression>")" )...
[ BY <row-split> <column-split> ] | [ OVER <row-split> ] [BY <column-split>] ]
[<dedup_splitvals>]

BYのところに注目
<row-split> <column-split>なので、最初が行を分割、次が列を分割
今回はdate_mday(日付)で行を分割、date_month(月)で列を分割した。

date_mdayは文字列(String)なので、月を付けてあげてstrptimeで時間にもどしてあげる。
ここはいつ作ってもいいように自動判定にしている。

月の表示はforeachでの判定もあり%m(2桁数字)にしたけど、最終的にrenameを使用して日本語に変えてもらえばいいと思う。

結果

qiiita1.jpg
qiita2.jpg

ここは修正していないけど、概ねこんな感じで出ます。

:sweat: 職場のグラフ直さないといけない・・・・

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした