見出し画像

Splunk App "Eventgen" を使ってみる

皆さんこんにちは
若者に色々役に立ちそうな情報をたまに呟いているおじさんです。

最近、Splunkを勉強し始めてSplunk EnterpriseのWindows版をインストールしてみたのですが、ログがないと何もできないということで、Splunk AppのEventgenをインストールして、色々調べてみた結果をまとめました。

Eventgenとは?

Eventgenは、Splunkbaseから取得できる無料の機能追加Appです。このApp自体は最近はやりのGitHubで管理されており、マニュアルなどは全てGitHubを参照する形になります。

インストール方法は?

インストールは簡単な方法が2種類用意されています。

1つ目のインストール方法

Splunk Enterpriseの「他のAppを閲覧」からEventgenで検索をしてインストールボタンをクリックするとインストールが始まります。この時、Splunk IDが必要になりますので、あらかじめ作成しておく必要があります。
ただ、この方法でインストールすると、後で必要な設定項目がきちんとインストールされない現象が起こるので、2つ目の方法をお勧めします。(Splunk側の設定の項を参照)

既にインストール済みなのでAppを開くになっています
本来はこのようなインストールボタンが表示されます

2つ目のインストール方法

Splunkbaseのサイトから、Appをダウンロードしてインストールします。やはりダウンロードする際も、Splunk IDを求められますので、あらかじめ作成しておく必要があります。

Downloadボタンを押してファイルをダウンロードします

eventgen_721.tgzがダウンロードされるのでこのファイルをSplunk Enterprise(もしくはCloud)のAppの管理のページにある、「ファイルからAppをインストール」からインストールします。

インストールの後

インストールが正常に終了すると「SA-Eventgen」というAppがApp一覧に追加されています。

私の環境では一番上についかれていました

ステータスの欄にある「有効/無効」でAppを起動/停止させることができます。設定を変えた場合は、ここで無効→有効にしてAppを再起動すると、新しい設定で動作します。

イベントを生成するための設定をAppに行う

ここが一番はまった部分で、GitHubのドキュメントをちゃんと読まなかった僕は、インストールするだけで、設定をしなくてもイベントが勝手に生成されるのだと勘違いしていたのですが、設定ファイルをきちんと設定しなければイベントは生成されません。
GitHubのConfigureのページを読むと設定方法が書いてありますが、TUTORIALのページを読むことを強く勧められるので、そこへ行くと、設定ファイルをダウンロードするLinkがあるので、そこからサンプルの設定ファイルをダウンロードします。

sample bundleと書かれているLinkからダウンロードできます

ダウンロードするとsample_bundle.zipというファイルがダウンロードされるので、これを展開します。

僕は$SPLUNK_HOME/etc/appsの下に置きました

サンプルファイルの設定

サンプルはダウンロードしただけでは動作しません。
まずは、eventgen.confを$SPLUNK_HOME/etc/apps/sample_bundle/default/の下から、コピーして、$SPLUNK_HOME/etc/apps/SA-Eventgen/localの下にコピーします。このディレクトリに、eventgen.confというファイルがあると初めてこのAppが動作します。

eventgen.confファイルの中身

そのままでは使えない理由に、ファイルの一番下にある$SPLUNK_HOME/etc/apps/sample_bundle/samples/count10.txtは最初は、別のファイルパスになっていますので、適切なファイルパスに対象ファイルを置く必要があります。

Splunk側の設定

前述したAppのオンオフを実行するとイベントが生成されるのですが、そのためには、もう一つ設定する必要があります。設定→データ入力の中に「SA-Eventgen」の項目があるので、ステータスを有効にする必要があります。(Splunkの受ける側の設定になります)
1つ目のインストール方法で行った場合、何故かこの項目が表示されない現象が2回連続で起こったため、2つ目の方法が良いかなと思いました。1つ目でインストールしてしまってこの現象に遭遇した場合は、上書きのオプションを選択して2つ目の方法でインストールすると成功しました。

動作状況をテスト

イベントが正常に生成されていれば、サーチで「index=main sourcetype=json source=film.json」のSPLで検索すれば、検索結果に自動生成されたイベントが出力されます。設定→インデックスの「main」のインデックスのイベント数の増加を見てもイベントがSplunkに蓄積されているかどうかが分かります。

これなんのイベント?

このサンプルで生成されるイベントは、恐らくレンタルショップでの映画の貸し出し履歴のログではないかと推測されます。

設定ファイルの関連性

ややっこしい設定ファイルの関連性ですが
eventgen.conf:
$SPLUNK_HOME/etc/apps/SA-Eventgen/local配下に置かなくてはいけない設定ファイル
film.json:
eventgen.conf内で指定しているログデータの元ファイル(json形式)
$SPLUNK_HOME/etc/apps/sample_bundle/samples/の下にあるファイル
count10.txt:
eventgen.conf内で指定している「REGION ID」に埋め込む数値データのファイルで、$SPLUNK_HOME/etc/apps/sample_bundle/samples/の下にあるファイル

設定ファイルの中のパラメータ

token.0.tokenやtoken.1.tokenって何?
ダウンロードしたサンプルファイルは、パラメータ説明がないので、これなんなの?って感じですが、GitHubのサイトにパラメータの説明があります。「Tokens in the default generator can override the sample to allow dynamic content to be generated.」と書いてあるように、このパラメータを使って、サンプルデータの一部を上書きして、イベントを生成している形になります。

次回は、自分で色々なログを生成するための設定ファイルを作ってみようと思います。

それにしても、これを理解するのに丸2日かかってしまった。GitHubの説明は、どれもゴリゴリのプログラマが書いているため、当たり前の部分がだいぶ省略されているため、僕のようなPGではない人が、読解するにはとてもハードルが高い。まあ、でも50過ぎのおじさんでもなんとかなるので、若い子たちはもっとサクサク使えるんだろうなぁ。僕も頑張らなきゃ。


この記事が気に入ったらサポートをしてみませんか?