【SPLK-2002】Splunk Enterprise Certified Architect資格を取得するための勉強メモ

こんばんは。torippy1024です。
今回は、SPLK-2002(Splunk Enterprise Certified Architect)の勉強メモを書きます。
需要がどこまであるのか・・・・・・という疑問は感じつつ、振り返りの意味も込めて書いていきます。

## SPLK-2002(Splunk Enterprise Certified Admin)とは

### 公式サイト
試験概要は以下の公式サイトを参照しましょう。英語サイトも参照しましょう。
試験言語は英語のみですが(2024年3月時点)、まあ前提資格であるSplunk Enterprise Certified Adminの時点で英語だったので、今更なんだという話かもしれません。

概要：
https://www.splunk.com/ja_jp/training/certification-track/splunk-enterprise-certified-architect.html

トラックフローチャート：
https://www.splunk.com/en_us/pdfs/training/splunk-enterprise-certified-architect-track.pdf

blueprint：
https://www.splunk.com/en_us/pdfs/training/splunk-test-blueprint-architect.pdf

### 前提条件
Enterprise Certified Architectの前提条件は、Core Certified Power UserとEnterprise Certified Adminを取得していることです。
ただ、Enterprise Certified Adminを取得するための前提に、Core Certified Power Userを取得していることが含まれており、かつEnterprise Certified Adminを取得するとCore Certified Power Userの認定期限も更新されるため、実質的にはEnterprise Certified Adminを取得しておけばOKです。

加えて、Enterprise Certified Architectの資格を受験するためには、資格以外に複数の研修を受講完了すること、という条件があります。

これが結構大変です。具体的には、以下の4つの研修を受講し、完了しないと資格試験を受験することができません。
- Architecting Splunk Enterprise Deployments
- Troubleshooting Splunk Enterprise
- Splunk Cluster Administration
- Splunk Deployment Practical Lab
(特に、ほとんど実機ラボ試験であるSplunk Deployment Practical Labは難関です。24時間以内に、指定されたSplunk Enterpriseの環境を構築する必要があります。クラスター環境で、かつフィールド抽出設定やダッシュボード作成などが含まれることもあります。・・・・・・個人的には、試験よりこっちの実機ラボのほうが難問でした)

前提条件となる必須資格と必須研修はフローチャートを参照してください。
https://www.splunk.com/en_us/pdfs/training/splunk-enterprise-certified-architect-track.pdf


### 出題分野と割合
出題範囲と割合は上記のblueprintに記載されています。以下の通りです。
- 1.0 Introduction 2%
- 2.0 Project Requirements 5%
- 3.0 Infrastructure Planning: Index Design 5%
- 4.0 Infrastructure Planning: Resource Planning 7%
- 5.0 Clustering Overview 5%
- 6.0 Forwarder and Deployment Best Practices 6%
- 7.0 Performance Monitoring and Tuning 5%
- 8.0 Splunk Troubleshooting Methods and Tools 5%
- 9.0 Clarifying the Problem 5%
- 10.0 Licensing and Crash Problems 5%
- 11.0 Configuration Problems 5%
- 12.0 Search Problems 5%
- 13.0 Deployment Problems 5%
- 14.0 Large-scale Splunk Deployment Overview 5%
- 15.0 Single-site Indexer Cluster 5%
- 16.0 Multisite Indexer Cluster 5%
- 17.0 Indexer Cluster Management and Administration 7%
- 18.0 Search Head Cluster 5%
- 19.0 Search Head Cluster Management and Administration 5%
- 20.0 KV Store Collection and Lookup Management 3%

Enterprise Certified Adminと比べて、更にスコープは広がっています。
特にポイントとなりそうなところとしては、Splunk Enterpriseのデプロイメント(導入)に関する計画やサイジング、Search HeadおよびIndexerのクラスター環境、トラブルシューティングなどといったところが追加になっていると思われます。
(実際、必須研修で学ぶことは、まさに上記について理解を深めることを目的としています)

ちなみに、おおよそで個人的な主観となりますが、1.0-7.0あたりまでがArchitecting Splunk Enterprise Deploymentsのスコープ、8.0-13.0までがTroubleshooting Splunk Enterpriseのスコープ、14.0-20.0までがSplunk Cluster Administrationのスコープに該当すると思われます。


### 必須研修
資格取得の前提条件として、STEP(Splunk Training and Enablement Platform)から受講しなければらならない研修は以下の4つです。
全てのコースが有償、かつ英語です。
特に受講順序に制限はありませんが、実機ラボ試験であるSplunk Deployment Practical Labを最後にするのが一般的と思います。
#### Architecting Splunk Enterprise Deployments
https://www.splunk.com/ja_jp/training/courses/architecting-splunk-enterprise-deployments.html
Splunk Enterpriseのデプロイメント(導入)に関する計画やサイジングについて学ぶ研修です。英語で講師とやり取りすることもありますが、英語ができなくても画面投影されたNoteを手元のwork documentsに写すなりすればまあ何とかなります。もちろん英語ができたほうがいいです。

#### Troubleshooting Splunk Enterprise
https://www.splunk.com/ja_jp/training/courses/troubleshooting-splunk-enterprise.html
Splunk Enterpriseのトラブルシューティングに関する知識を学びます。
デプロイメント(初期構築)中に発生するであろう、通信ができない、想定通り動作しない、といった問題に対して、どのようなコマンドやツールを使うと問題の切り分けができるか、などが学べます。英語ができなくても翻訳をフル稼働することで何とかできます。

#### Splunk Cluster Administration
https://www.splunk.com/ja_jp/training/courses/splunk-enterprise-cluster-administration.html
Search HeadおよびIndexerのクラスタリングについて学びます。Search Headクラスターのクラスタリングの仕組みと、Indexerクラスターのクラスタリングの仕組みは根本的に異なる仕組みとなっており(例えばSearch Headクラスターは、Captainと呼ばれるリーダーインスタンスが存在するが、Indexerはそうではない、等)、それぞれのクラスターの仕組みについて学びます。英語ができなくても翻訳をフル稼働することで何とかできます。

#### Splunk Deployment Practical Lab
https://www.splunk.com/ja_jp/training/courses/splunk-architect-certification-lab.html
実機ラボ試験です。個人的には、この研修のほうが試験よりも難しく、また本人の実力が明確になるのもこのラボであると思いました。
実質的に、このラボこそArchitect認定試験であるとすら感じています。
24時間以内に、指定されたSplunk Enterprise環境を構築する試験です。
まっさらなOS(たぶんAWS環境のEC2)が与えられ、それに対して一からSplunk Enterpriseを構築する試験です。クラスター環境が指定されていたり、フィールド抽出設定やダッシュボード作成などが含まれることもあります。当然、困ったときに講師と会話・連絡・相談する場合は全て英語です。まじつれーです。

https://www.splunk.com/en_us/training/course-catalog.html?filters=filterGroup2SplunkEnterpriseCertifiedArchitect%2CfilterGroup1CertificationExams


## その他参考になる資料
その他の公式サイトのドキュメントです。まあ、Architectを受験する人であれば当然すでに知っているものと思います。

### 公式ドキュメント
https://docs.splunk.com/Documentation/Splunk

### 日本語訳されたドキュメントの一覧
https://docs.splunk.com/Documentation/Splunk/latest/Translated/Japanesemanuals

## 各分野の概要

blueprintの章について、個人的な所感などを追記して記載します。
https://www.splunk.com/en_us/pdfs/training/splunk-test-blueprint-architect.pdf

### 1.0 Introduction 2%
Splunk Enterpiseのデプロイメントプランやデプロイメントプロセスについて理解しておく必要があります。
一般的なシステム設計で実行するような、ビジネス要件をシステム要件に落として～みたいなことを理解しておけばよいと思います。

### 2.0 Project Requirements 5%
1.0 Introductionと似たような内容ですが、プロジェクトの制約や要件の収集方法について学びます。
一般的なシステム設計の知識があれば十分と思いますが、これらをSplunkの用語で理解しておくとよりよいと思います。

### 3.0 Infrastructure Planning: Index Design 5%
インデックス設計についてです。インデックスの実態とは何か(raw data、tsidxファイル、dataファイル(メタデータ)、Bloomfilters)、インデックス容量のサイジング、ハードウェア要件、App/Add-onについて学びます。

### 4.0 Infrastructure Planning: Resource Planning 7%
クラスター構成やリソースサイジングなどを学びます。リファレンスハードウェア要件や、ESやITSIなどの特別にリソースに影響を与えるAppの取り扱い、セキュリティやデータの完全性など、非機能要件に対する対応などを学びます。

### 5.0 Clustering Overview 5%
Search HeadクラスターおよびIndexerのクラスターの概要について学びます。blueprintだとnon-smart store related storageと記載がありますが、最近はSmart Store構成についても概要を学んでいるようです。(手元の資料を参照)

### 6.0 Forwarder and Deployment Best Practices 6%
データ転送(Forwarding)の方式、Forwarderのタイプ(Universal ForwarderとHeavy Forwarder)、およびDeployerを利用したSearch Head管理、Cluster Managerを利用したIndexer管理、Deployment Serverを利用したForwarder管理などについて学びます。

### 7.0 Performance Monitoring and Tuning 5%
Monitoring Consoleの使い方、IndexerのCPU/メモリリソースを制限するためのlimits.confの設定、インデックス内のBucketサイズ等の設定を管理するためのindexes.confの設定、インデックス化における処理内容を指定しているprops.confの設定などを学びます。

### 8.0 Splunk Troubleshooting Methods and Tools 5%
トラブルシューティングの際に使用するdiagコマンドやツールなどについて学びます。
困った時には、だいたいまず以下を見るのがFirst Stepです。
https://docs.splunk.com/Documentation/Splunk/latest/Troubleshooting/Whatsinhere
https://docs.splunk.com/Documentation/Splunk/latest/Troubleshooting/IntrototroubleshootingSplunk

### 9.0 Clarifying the Problem 5%
内部ログ(splunkd.logやmetrics.logなど)や、内部インデックス(_internalインデックスなど)について学びます。

### 10.0 Licensing and Crash Problems 5%
ライセンスの違反条件や利用状況の調査方法、サーチ時にリソース不足によりクラッシュする可能性やログについて学びます。

### 11.0 Configuration Problems 5%
入力に関するトラブルシューティング方法について学びます。
モニター入力、ネットワーク入力、スクリプト入力などについて、よくあるトラブルシューティングを学びます。
特に、モニター入力において読み込んだファイルを識別するためのCRCチェックの仕組みは理解しておいた方が良いです。

### 12.0 Search Problems 5%
サーチに関するトラブルシューティング方法について学びます。
サーチの仕組みについて学習し、サーチのパフォーマンスが悪い時どのようなログを調査するべきか、スケジュールドサーチがスキップされる条件や調査方法などを学びます。

### 13.0 Deployment Problems 5%
ログデータの転送や、Deployment Serverに関するトラブルシューティング方法について学びます。
tcpdumpやsplunkd.logなどを使った転送の確認、Deployment Server管理などです。

### 14.0 Large-scale Splunk Deployment Overview 5%
分散環境におけるSplunkサーバーの役割(たとえばMaster Node、Deployer、Monitoring Console、Deployment Serverなどがクラスター環境上ではどのような役割を果たすのか)、およびクラスター環境におけるLicense Managerが管理するライセンス条件(Indexerがレプリカしたデータはライセンスに含まれない、Freeライセンスではクラスター環境は利用不可)などについて学びます。

### 15.0 Single-site Indexer Cluster 5%
シングルサイトにおけるIndexer Clusterの構成について学びます。
RF(Replication_Factor)とは何か、SF(Search Factor)とは何か、インデックスのレプリケーションはどのように行われるのか、Cluster Managerの役割は何か、障害時の挙動などについて学びます。

### 16.0 Multisite Indexer Cluster 5%
マルチサイトにおけるIndexer Clusterの構成について学びます。
基本的な使い方はDR(Disaster Recovery)用途ですが、グローバル展開している企業向けには、地理的に近い拠点にサーチを実行させるようにしてユーザー向けパフォーマンスを向上する用途でも使えます。(まあこれは日本ではまず使われない用途ですが)
マルチサイトクラスターにおける切り替え時の挙動やSRF(Site_Replication_Factor)、SSF(Site_Search Factor)などについて学びます。

### 17.0 Indexer Cluster Management and Administration 7%
インデクサークラスターの管理について学びます。地味に重要な章です。
Manager NodeによるconfigやAppの管理やデプロイ、クラスター環境のメンテナンスや再起動方法、インデックスデータのリバランシング、Monitoring Consoleによる監視方法などについて学びます。

### 18.0 Search Head Cluster 5%
Search Head Cluster(SHC)の構成について学びます。
Search Head Clusterはどのように動作するのか、Captainとは何か、障害時の挙動はどうか、クラスターをどのように設定して構成するのか、などを学びます。

### 19.0 Search Head Cluster Management and Administration 5%
Search Head Clusterにおいて、Configuration Bundle(設定バンドル)とは何か、Deployerの役割は何か、Deployerはどのように設定バンドルやAppを配信するのか、CaptainのCaotaincyタイプ(Dynamic/Static)の違いやCaptainの移行、クラスタ－メンバーの追加/削除、メンテンナンス方法などを学びます。

### 20.0 KV Store Collection and Lookup Management 3%
Search Head Clusterにおいて、KV Store Lookupを構成するための構成や方法、仕組みについて学びます。
KV Store Lookupは、ファイルベースのlookupとは異なるlookupであり、またサーチ時に参照するものであるため、クラスターによって影響を受けるのはSearch Head(Search Tier)です。
(個人的には、後から開発されたせいで試験内容にはカテゴリーとして含まれていないSmart Storeのほうが重要な機能であるように思っていますが、これは開発時期の関係で試験範囲には含まれていません。。。)

## 終わりに
Splunk Enterprise Certified Architectは、正直、Splunkをユーザーとして使用している立場の人が取得するにはオーバースペックな資格と思います。Splunkのプロフェッショナルとして、幅広い分野のお客様に設計、実装、サポートなどのサービスを提供しているマジな人でないと取得しない資格ではないかと思います。

とはいえ、取得していれば一目置かれることは間違いない資格と思いますので、取得を目指す方は頑張っていただきたいと思います。(Splunkエンジニア社員はおそらく全員取得しているものだと思います)

ちなみに、Architectの上位にはCore Certified Consultantという資格もあるらしいです。
こちらは更に深い実装に関する知識や経験が必要な資格そうです。

以上です。