【お昼休みにできる】とりあえずSplunk入門

こんにちは。
この記事ではSplunkに入門するための手順を書きます。
入門するには実際に自分で動かしてみるのが一番なので、自分で動かすための手順を書きます。

本稿は、既にSplunkを導入しているプロジェクトで、メンバー向けにSplunkを布教する目的で書いたドキュメントを、社外に公開できるよう修正したものです。
そのため、「Splunkを導入するメリットは何があるの?」等のトピックには触れていないです。ご了承ください。*1

大まかな手順は以下の通りです。
35分で完了するので、会議が延長してお昼休みが40分しか無い人でもSplunkに入門できます。

1. とりあえずローカル環境にSplunkをインストールしてみる(15分)

こちらのサイトにアクセスします。
www.splunk.com アカウントを持っていない場合、作成してログインします。

使用しているOSに合わせてインストール用のファイルを選び、規約に同意してダウンロードします。

ダウンロードしたファイルを実行し、インストールします。
また、途中でユーザーネームとパスワードを設定します。

最後にブラウザを立ち上げてログインし、以下のような画面が表示されたらインストール成功です。

2. とりあえず内部ログを検索してみる(5分)

左上のSearch & Reportingをクリックします。

ここにサーチを入力という欄があるので、以下のコマンドを入力し、右側にある緑色の虫眼鏡のアイコンをクリックします。

index=_internal

大量のログが検索結果に出てきたら成功です。
これで「SplunkでSPLを使ってログを検索する」という実績を解除できました。

3. とりあえずチュートリアル用ログを取り込んでみる(10分)

先ほど入力したindex=_internalというコマンドは、SPL(Search Processing Language)と呼ばれます。
SPLはSplunkの独自言語で、主にログを検索するために使われます。
名前の通りSQLに近い言語体系となっており、SPLとSQLの対応表が公式ドキュメントとして用意されています。
docs.splunk.com

index=_internalで検索したのはSplunkがデフォルトで出力するログです。
次は、自分でログを取り込む手順を示します。

こちらのサイトにアクセスし、tutorialdata.zipPrices.csv.zipをそれぞれダウンロードします。 docs.splunk.com
インストールしたSplunkのトップページから、データの追加アップロードをそれぞれ選択します。
ダウンロードしたtutorialdata.zipを選択します。

ソースタイプは自動、ホストはセグメント番号1を入力し、新しいインデックスを作成します。
インデックス名は何でもいいです。
この記事ではtutorialというインデックス名をつけました。
ここでつけたインデックス名は、後々ログを検索するときに使うので、メモしておきます。 また、インデックス名以外のオプションはデフォルトのまま変更しません。
その後、実行ボタンをクリックし、以下の画面が出てきたら取り込み成功です。

これと同じ作業をPrices.csv.zipでも行います。
ただし、インデックス名はtutorialdata.zipの場合と違うものをつけておきます。
この記事ではpriceというインデックス名をつけました。

4. とりあえずチュートリアルデータを検索してみる(5分)

再びトップページから左上のSearch & Reportingをクリックします。
そして、先ほどindex=_internalを入力した場所に、以下のSPLを入力します。

index=tutorial

index=の後の部分は、ログを取り込んだときのインデックス名によって変わります。
例えば、tutorialdata.zipのログを取り込むときにsandboxというインデックス名をつけたのであれば、index=sandboxです。

また、画面の右側にある過去24時間という部分は、ログを検索するときの時間範囲を示しています。
今回は、虫眼鏡のアイコンをクリックする前に、この時間範囲を全時間へと変更します。
以降、チュートリアルデータを検索するときは、この部分を全時間に変更するのを忘れないようにしましょう。*2

さて、時間範囲を全時間へと変更し、index=tutorialを入力して検索したら、チュートリアル用のログがたくさん検索結果に出てきたかと思います。
次は以下のSPLを入力して検索してみます。

index=tutorial 
| stats count by status

すると、以下のような検索結果が出力されます。
これはHTTPのステータスコードの分布を示しています。
200が圧倒的に多く、それ以外はだいたい同じであることが見て取れます。

また、もう1つのpriceというチュートリアルデータも検索してみます。

index=price
| table Code productId product_name price sale_price
| sort Code

このデータでは、各製品のIDや名前、通常価格とセール価格がそれぞれ表形式で示されています。
例えば、このデータから製品の割引率を計算したり、各製品の値段が平均価格と比べて高いか低いかを表示したりすることも可能です。

Splunkで出来ることは色々ありますが、細かい説明はなのでこの記事では深入りしないでおきます。
別途、よく使うSPLを紹介する記事を書く予定です。 ここまで読んでいただき、ありがとうございました。

続きです↓
https://canada-lemon.hatenablog.com/entry/2022/06/24/101010canada-lemon.hatenablog.com

*1:Splunkを使うことは所与の条件で、後はどう使えばいいのかという人向けです

*2:内部ログを見たいときは、デフォルトの過去24時間のままで大丈夫です