Splunkの学習コンテンツをまとめてみました


## 概要

早いものでSplunk を勉強し始めてからちょうど１年が経ちました。まだまだ分からない事だらけなのですが、ちょうど区切りなので、これまでを振り返りながら役にたった勉強方法や有益なサイト情報などをまとめておきたいと思います

## まず最初にやっておくべきこと

もしあなたがこれからSplunkを勉強したいと思っているのなら、まずは勉強が出来る環境を用意しましょう。全てはそこからです。

**Splunkをインストールして、サンプルデータを取り込む**

Splunkは １日あたり500MB のデータ取り込みであれば無償で利用できます。勉強だけであれば十分な容量になります。インストールするコンピュータも Windows / Linux / Mac に対応しており、1core/1GB 程度リソースに余裕があれば十分耐えられますし、不要な時はサービスを落としておけば余計なリソースは使われません

**環境の用意**
Splunk Cloud であれば２週間までTrialですぐに利用できますが、ずっと手元に環境を用意しておくことをお勧めするので Splunk Enterprise版の利用をお勧めします。こちらはバイナリーをダウンロードしてインストールする必要があります。もしくは AWS / Azure 上の Marketplace からデプロイも可能ですし、コンテナ派の方はSplunkのイメージも用意されております。

Splunk Enterprise版 ダウンロード (User登録が必要です。IE以外をお使いください）
https://www.splunk.com/ja_jp/download/splunk-enterprise.html
Enterprise版は60日間のトライアルライセンスと、その後フリーライセンスに切り替える事が可能です。

Install方法に関しては他に沢山の記事がありますので、こちらでは割愛させていただきます。

**サンプルデータの取り込み**
環境が用意できたら次に勉強するためのサンプルログデータも入れておきましょう
Splunkは[チュートリアル（日本語版)](https://docs.splunk.com/images/2/28/Splunk-8.0.0-SearchTutorial_ja-JP.pdf)と[チュートリアルデータ](http://docs.splunk.com/images/Tutorial/tutorialdata.zip)が用意されておりますので、こちらのデータを取り込んでおきましょう. データの取り込み方などはチュートリアルをご覧ください

こちらのハマコーさんのBlogが非常にわかりやすいです！
https://dev.classmethod.jp/articles/about-splunk/

## Splunkを学習するための無償トレーニングのご紹介

一人でチュートリアルを見ながら学習できる方は不要かもしれませんが、eLearning やワークショップに参加して学習してみてはいかがでしょうか？

**Splunk Foundation 1 Training (Free)**
https://www.splunk.com/en_us/training/free-courses/splunk-fundamentals-1.html
Splunk社公式トレーニングのeLearningコースがなんと無償で利用できます。オンデマンドなので空き時間を利用して勉強出来ますし、分からないところを集中して聞くのもOKです。無償のこの環境を利用しない手はありません！！英語版ですが日本語字幕があるので無問題

**Splunk Infrastructure Overview Training (Free)**
https://www.splunk.com/en_us/training/free-courses/splunk-infastructure-overview.html
こちらも同じく無償で利用できる eLearningコースです。先ほどのFoundation1は SPLの基礎知識をメインとしており分析をするユーザー向けですが、こちらのInfrastructure コースは、インストールやデータの取り込みなどを主としたトレーニングになります。Foundation1 と併せて受講してください

**Basicワークショップ (不定期)**
また最近では Splunk社が無償のBasicワークショップを開催しているので、そちらに応募して体験してみるのも手かと思います

↓様々なワークショップがあります。初めての方はSplunk Basic がお勧めです。（サイトにアップされていないWorkshopもあるので、興味がある方はSplunk社に問い合わせてみてください）
https://www.splunk.com/ja_jp/about-us/events.html#filter/defilter1/list-item-block/defilter2/Workshops/defilter3/list-item-block

## Splunkに関する本の紹介

**Splunkではじめるビッグデータ分析**
https://www.amazon.co.jp/dp/B01N16OCO3/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1
チュートリアルはスプランクを利用するための環境準備＋簡単なサーチ言語(SPL)の使い方までを勉強できますが、こちらの本はもう少し全体を網羅しており、レポートやダッシュボード、アラート機能、高速化なども勉強できます。また本に出てくるサーチは全て先ほどのチュートリアルデータを利用しているため、実際に自分で試しながら進めることができるのです。
個人的には本の最後にあるサーチコマンド集が便利で、やりたいことが表現できない時にこちらのコマンド集を眺めて探したりしております

**Splunk Appのつくりかた　ダッシュボードApp編**
https://www.amazon.co.jp/dp/B07P3HMCVG/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1
こちらのSplunkダッシュボードに特化した本もお勧めです。ダッシュボードをカスタマイズしたい場合にどのように作るのがいいのか詳しく書かれた情報が今までありませんでしたが、こちらの本を１冊持っていれば安心です

**Splunkユーザーのためのデータ分析実践バイブル**
https://www.shoeisha.co.jp/book/detail/9784798160849
2020年発売の新しい本です。Splunk MLTK（Machine Learning Toolkit)を使った分析に照準を合わせた本となっており、Splunk+機械学習を学びたい方にはお勧めの本となります。どちらかというと、Splunk初心者よりは中級者向けとなっており、すでにSplunkを使っているけど、さらに機械学習を使って高度な分析をしたい方向けかなと感じました。

## SplunkのSPL学習に役に立つサイト・コンテンツ

**Splunk Community** ( 旧Answers）  *2020年6月に新しくSplunk Communityとなりました。
https://community.splunk.com/t5/Community/ct-p/en-us
サーチのやり方に悩んでググると大体出てくるサイトです。日本語にも対応しておりますが、英語の情報がメインです。英語苦手な方はGoogle翻訳使って利用しましょう！　こちらのサイトQ&A形式で悩みを質問すると有志が回答してくれます。過去の質問履歴が見えるのでたいていの悩みであれば解決策が見つかります。私も重宝しているサイトの一つです。



**Go Splunk**
https://gosplunk.com/
こちらもサーチのサンプルを確認できるのですが、AnswersがQ&A形式で質問に対して、やり方を回答するのに対して、GoGplunkは面白いクエリーやサーチを投稿して、いいねボタンみたいな感じで投票していく形式になってます。 Sourcetypeや目的別で検索出来るため、自分の取り扱いデータでいいアイデアが見つかるかもしれませんが、個人的にはAnswers の方が有益な情報が多い気がします。

**Splunk Power of SPL**
https://splunkbase.splunk.com/app/3353/
Splunk App の一つでSPLを学習するためのAppです。基本的にはチュートリアルと同じ感じですが復習に使ってみてはいかがでしょうか？
SplunkにAppを追加して利用する必要があります


## その他役立ちサイト

**Splunk Blog**
https://www.splunk.com/en_us/blog (Global)
https://www.splunk.com/ja_jp/blog/homepage.html  (日本語記事)
Splunkの公式Blogです。技術的な記事も多く余裕があれば眺めておくと面白い記事が発見できます。私のQiita記事もいくつかのBlogを参考にさせていただきました

**YouTube / 動画チャンネル**
日本語コンテンツは数が少ないですが、貴重な動画がいくつかあります。

+ 日本語プレイリスト (New) 
https://www.youtube.com/watch?v=u9c8VBmQN2E&list=PLxkFdMSHYh3QH8uSv9bIe7DbFVo5fQJiz

+ Splunk Japan 動画サイト
https://www.splunk.com/ja_jp/resources/videos.html#tabs/Product


**正規表現チェック**
https://regex101.com/
https://jex.im/regulex/#!flags=&re=%5E(a%7Cb)*%3F%24
Splunkを使っていくと、フィールド抽出のために正規表現を利用せざる追えない場面に直面します。そのような時に正規表現のチェックが出来る便利なサイトが上記２つになります

**Splunk .conf online 資料**
https://conf.splunk.com/watch/conf-online.html?search=#/
Splunkの年次イベントである .conf の資料が過去３年分検索・ダウンロードできます。
ユーザーの事例や、製品に関する情報が多いですが、中には Joinを使わずに高速にする方法　とかマニアックな技術トピックやBestPractice ネタも沢山あります


## その他お勧めの勉強法

**Boss of the SOC**
Boss of the SOC とは、Splunk社が主宰するコンペイベントでセキュリティ課題に対する問題が出題され、それに対してチームで解決していきスコアを競うイベントなのですが、その過去のコンテンツが利用でき、セキュリティに対する対応方法やSplunkの使い方が学べます。
ただしかなりのスキルが必要になるので、ある程度Splunkに慣れてきてからチャレンジするのがいいかと思います。サンプルデータなどは非常に有用であり、SPLの学習などに使えますので、データだけでも取り込む価値はあります。

- Boss of the SOC Day 2019 まとめ
https://www.splunk.com/ja_jp/blog/security/tokyo-boss-of-the-soc-day-2019.html

- BOTSに関するQiita記事
https://qiita.com/odorusatoshi/items/7faff2dc13a40f111905
https://qiita.com/toshikawa/items/403aaf0901e778629e6d

**Splunk User 会に参加してみる**
GOJAS (Go Japan Splunk User Group) というユーザー会が2,3ヶ月に１度のペースで開催されております。
実際のSplunkの活用事例やTipsなどを聞く事ができますし、他のユーザーも同じ悩みを持っている事がわかりますよw
https://gojas.doorkeeper.jp/

**QiitaやBlogで公開する**
個人的なお勧めです。いくら勉強しても人の忘却に抗うことはできません。しかし一度まとめておくことで後から見返して思い出す事ができます。また公開する事で緊張感がうまれ、曖昧な箇所を整理することができて理解力も増します。もしかしたら他の方にも役に立てるかもしれません。が、誰もみてなくてもいいのです！自分のために初めてみてはいかがですか？

**Splunkの資格取得に挑戦**
資格取得を目標に勉強をしてみるのはいかがでしょうか？特に給料があがるわけではないと思いますが、漠然と勉強をするよりも目に見えるものがあると多少のモチベーション向上にはなるかと思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/392303/591d8143-3db9-657c-b143-88a2b34a6e02.png)

Splunkの資格は上図の通り、主要なものだと４つありますが、下の「ユーザー」から順番に取っていく必要があります。Splunkの利用者であれば、「ユーザー」「パワーユーザー」まで取れれば十分です。もしSplunkを構築、運用する必要があるのであれば、その上位の「アドミニストレーター」「アーキテクト」までとる事が可能です。

基本的には先ほどの無償トレーニングコースにある Foundation1を受講すると「ユーザー」レベルまで学習が出来たことになりますのでチャレンジしてみては如何でしょうか？


## 最後に

ここまで参考サイトなどを中身に紹介しましたが、最低限の操作を学べたらいろんなデータを取り込んで分析してみてください。とにかく触って悩んで調べる事がスキルアップの一番の近道だと思ってます。またSplunkはあくまでツールなのでSplunkだけ知っていてもあまり役に立たないと思うので、みなさまの専門知識とデータを組み合わせる事が重要だと思います。

今後も有益な情報があればアップデートしていきたいと思います。
他に役立つコンテンツ・サイトがあればコメントお待ちしてます