Splunk: App/Add-onのインストール先確認方法

## はじめに
Splunk App/Add-onをSplunk環境にインストールする際、どのSplunkコンポーネントにインストールすればよいのか迷う場合があるかと思います。
本稿では、以下の2パターンに分けて、インストール先の確認方法を記載します。
* Splunk SupportedであるApp/Add-onの場合
* Splunk SupportedではないApp/Add-onの場合
## 前提
* Splunk Enterprise構成
  * Search HeadとIndexerを別のコンポーネントとした分散構成(Distributed Environment)
  * Search Head Cluster, Indexer Cluster構成時も同じ考え方となります。(ただし、インストール方法は異なります)
 
## Splunk SupportedであるApp/Add-on
Splunk社がサポートしているApp/Add-onの場合、各App/Add-onに該当する[ドキュメント(Splunk Documentation)](https://docs.splunk.com/Documentation/AddOns)にて、インストールすべきSplunkコンポーネントを確認します。
ただし、App/Add-onに依ってはインストールすべきSplunkコンポーネントが自明なため、ドキュメント内に記載がない場合があります。

:::note info
Splunk Supportedであるかの確認は、Splunkbase上の各App/Add-onページにて確認可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2609667/c88e0003-7dc3-95bf-c2eb-51332ce097df.png)



:::

### 例1：Splunk Add-on for BOX (記載あり)
Splunk Add-on for BOXのSplunk Documentationにアクセスします。
https://docs.splunk.com/Documentation/AddOns/released/Box/Install

“Where to install this add-on”表を確認し、インストールすべきSplunkコンポーネントを確認します。
本稿前提のSplunk環境(分散構成)において、当該Add-onをインストールすべきコンポーネントは以下となります。
* Search Head：ダッシュボード設定等
* Heavy Forwarder：BOXからのデータ取得設定等
  * Universal Forwarderは不可
 
### 例2：Splunk Add-on for Amazon Web Services (記載あり)
Splunk Add-on for Amazon Web ServicesのSplunk Documentationにアクセスします。
https://docs.splunk.com/Documentation/AddOns/released/AWS/Distributeddeployment

“Where to install this add-on”表を確認し、インストールすべきSplunkコンポーネントを確認します。
本稿前提のSplunk環境(分散構成)において、当該Add-onをインストールすべきSplunkコンポーネントは以下となります。
* Heavy Forwarder：データ取得設定等
  * Universal Forwarderは不可

### 例3：Splunk Sankey Diagram - Custom Visualization (記載なし)
Splunk Sankey Diagramは可視化手法を追加するAdd-onとなります。従って、インストールすべきSplunkコンポーネントは可視化機能を担うSearch Headであることが自明のため、Splunk Documentation上にてインストールすべきSplunkコンポーネントに関する説明がありません。
https://docs.splunk.com/Documentation/SankeyDiagram/latest/SankeyDiagramViz/SankeyInstall

本稿前提のSplunk環境(分散構成)において、当該Add-onをインストールすべきSplunkコンポーネントは以下となります。
* Search Head：可視化手法の追加

## Splunk SupportedではないApp/Add-on
各App/Add-onの作成者により公開されているドキュメント等にて、インストールすべきコンポーネントを確認します。
ドキュメント等に記載がない場合は、App/Add-onが実現する機能(App/Add-onに含まれる設定ファイル及び設定内容)が、どのSplunk処理プロセスに該当するかを確認します。その確認結果に基づき、対象となるSplunk構成に合わせて、どのSplunkコンポーネントにインストールすべきかを判断します。

### 例：Palo Alto Networks Add-on for Splunk (ドキュメントあり)
当該Add-onを作成したベンダにて公開されているドキュメントを確認します。
https://splunk.paloaltonetworks.com/installation.html

本稿前提のSplunk環境(分散構成)において、当該Add-onをインストールすべきSplunkコンポーネントは以下となります。
* Search Head
* Indexer または Heavy Forwarder

### 例：独自Add-on (ドキュメントなし)
以下のSplunk設定ファイルが含まれるAdd-onを例とします。
* props.conf
  * ソースタイプ設定
    * SHOULD_LINEMERGE等のイベント区切りに関する設定、TIME_FORMAT等のイベント時刻に関する設定
* savedsearches.conf
  * スケジュールサーチ設定 

まず、Add-onに含まれる設定ファイル及び設定内容が、Splunkの処理プロセスにおいて、どのフェーズ(Inputs, Structured parsing, Parsing, Indexing, Search)に該当するかを調べます。
[Splunkの処理プロセス：How configuration parameters correlate to phases of the pipeline](https://docs.splunk.com/Documentation/Splunk/8.2.2/Admin/Configurationparametersandthedatapipeline#How_configuration_parameters_correlate_to_phases_of_the_pipeline)
例として示すAdd-onの場合、Parsing PhaseとSearch Phaseに該当します。

次に、フェーズとSplunkコンポーネントの関係を調べます。
[フェーズとSplunkコンポーネントの対応：How Splunk Enterprise components correlate to phases of the pipeline](https://docs.splunk.com/Documentation/Splunk/8.2.2/Admin/Configurationparametersandthedatapipeline#How_Splunk_Enterprise_components_correlate_to_phases_of_the_pipeline)

該当するフェーズに対応するSplunkコンポーネントが、本Add-onのインストール先となります。
本稿前提のSplunk環境(分散構成)において、当該Add-onをインストールすべきSplunkコンポーネントは以下となります。
* Search Head
* Indexer または Heavy Forwarder

## 参考
* [Splunk Add-on for BOX](https://splunkbase.splunk.com/app/2679/)
* [Splunk Add-on for Amazon Web Services](https://splunkbase.splunk.com/app/1876/)
* [Splunk Sankey Diagram - Custom Visualization](https://splunkbase.splunk.com/app/3112/)
* [Palo Alto Networks Add-on for Splunk](https://splunkbase.splunk.com/app/2757/)