Splunkの分散サーチ環境の構築(中編)
ひとつ前のエントリーではSplunkを構成するコンポーネントの概要から、ライセンス等、Splunkを構築する上で基本的な知識についてご紹介をしました(これでもさわりで、コンポーネントについても他にもあるのですが、今回の構成ならこれくらいで十分です)。本編はここから。実際に分散構成を組み立てていきたいと思います。
設定のながれ
概ね、下図のような流れで設定を行います。だいぶざっくりしていますので、参考程度にしていただければと思います。
では早速初めて行きましょう
Splunk Enterpriseをインストール
SplunkEnterpriseのダウンロード
まずは第一歩、Splunk Enterpriseをインストールします。インストーラーはここから入手しましょう。なお、ダウンロードにはSplunkのアカウントが必要です。事前にSplunkのアカウントを作成しておきましょう。
ログインしてダウンロードのページに行くとこのようなページとなります。今回はLinuxに構築しますので、Linuxを選んでください。さらに、インストレーションパッケージを選ぶことになります。個人的には.tgzを推しています。あとは宗派だと思いますのでお任せいたします。[Download Now]をクリックするとライセンス同意のページに遷移しますので、アクセプトして次のページに遷移します。
このページに異動すると、ブラウザベースだといきなりダウンロードが始まります。個人的には作業はターミナル経由で行いますので、この画面内の[Download via Command Line(wget)]からパッケージのダウンロードを行います。
これをこぴーしてターミナルに張り付けて実行します。
wget -O splunk-9.1.2-b6b9c8185839-Linux-x86_64.tgz "https://download.splunk.com/products/splunk/releases/9.1.2/linux/splunk-9.1.2-b6b9c8185839-Linux-x86_64.tgz"
Splunk Enterpriseのインストール
ダウンロードしましたら、ファイルを展開していきます。Splunkのホームのパスは/opt/splunkが一般的なので、ここに展開をしていきます。
tar -xvzf splunk-9.1.2-b6b9c8185839-Linux-x86_64.tgz -C /opt/
いま作業をしているユーザーがrootだったのですが、実際にSplunkを動かすユーザがrootであるのは問題です。そこで、あらかじめ作っておいたユーザに書き換えます。今回はsplunkというユーザを作っていましたのでsplunkにオーナーを変更します。
chown -R splunk:splunk /opt/splunk/
ここまでできればあとはSplunkを起動するのみです。
/opt/splunk/bin/splunk start --accept-license --answer-yes
この初回実行時のコマンドでSplunkを起動します。初回起動時は管理者のユーザ名とパスワードを聞かれますので任意のアカウント名とパスワードを設定してください。なお、初期設定完了後の2回目以降の起動は"/opt/splunk/bin/splunk start"でOKです。
基本的な設定
起動完了すると上記のような画面が表示されます。これで正常に起動したこととなります。なお、Splunkはデフォルトでは自動起動するようにはなっていません。自動起動は以下のコマンドを実行して設定をしてください。
/opt/splunk/bin/splunk enable boot-start -user [管理者ユーザー名]
次に、Splunkにホスト名を設定します。GUIからもできますが、コマンドの方が簡単なのでコマンドでしてしまいましょう。
/opt/splunk/bin/splunk set servername [サーバー名]
/opt/splunk/bin/splunk set default-hostname [ホスト名]
このサーバー名とホスト名はSplunkがログを処理した際にフィールド内のhostとsplunk_serverに載ってくる情報となります。トラブルシュートをする際の目安にもなります。この二つは必ず判別可能な値に設定をしてください。設定後はコマンドラインから再起動をしてください。
/opt/splunk/bin/splunk restart
ここまでで基本的な設定は完了です。
推奨の設定(HTTPS化)
推奨の設定としてWebUIのHTTPS化の設定があります。SplunkはデフォルトではHTTPSによる暗号化通信には対応しておりません。WebUI(http://[ホストまたはIP]:8000)からアクセスした後、[Settings]→[Server Settings]→[General settings]→[Enable SSL (HTTPS) in Splunk Web?]をYesとしてHTTPS化させてください。設定後、Splunkを再起動させてください。
これでSplunk Enterpriseのインストールは完了です。この状態がスタンドアロン構成のSplunk Enterpriseです。スタンドアロンであれば、この状態でインデックスを作成してデータを投入すれば、Splunkを使い始める事も可能です。また、もしライセンスがあればここからライセンスの適用作業がありますが、今回は検証用ですのでその作業は不要です。
今回の構成ではSearchheadとIndexerにSplunk Enterpriseをインストールしますので、2台のホストにこのインストールと初期設定作業を行ってください。
Universal Forwarderのインストール
Universal Forwarderのダウンロード
UFのダウンロードを行っていきます。基本的な手順はEnterpriseと変わりありません。以下からダウンロードをしてください(要ログイン)
なお、UFには様々なOS、CPUアーキテクチャに対応したバージョンがあります。インストールrする環境に合わせたファイルをダウンロードしてください。
Splunk Enterpriseの時と同じように、wgetコマンドでtgz版をダウンロードします。落としたら、ファイルをSplunk Enterpriseと同じように展開します(注: ファイル名はバージョンによって異なります。参考。)
tar -xvzf splunkforwarder-9.1.2-b6b9c8185839-Linux-x86_64.tgz -C /opt/
参考まで、Spkunk EnterpriseとUFを同じホストにセットアップしました。Splunk EnterpriseとUFはフォルダ名が異なりますので違いがわかるかと思います。なお、細かくは書きませんでしたが、ファイルのオーナーはrootではなく、ローカルに作成した別のユーザとしてください。
それではUFを起動してみましょう。初回起動時のコマンドは以下です。"start"以降のオプションはつけなくても良いのですが、ライセンス同意とか出てきますので、ここではそれを省くためオプションを付けています。
/opt/splunkforwarder/bin/splunk start --accept-license --answer-yes
あとは基本一緒ですね。いまセットアップしている環境は画面ショットを取得するために動かしているのですが、もし、Splunk EnterpriseとUFを同一ホストにセットアップすると、Listenするポートが被ります。Splunkがデフォルトで動いているListenポートは8089/TCPです。もし同一ホストでセットする場合はポート番号の変更をしてください(ガイダンスが表示されます)。ただ、基本的にはSplunk EnterpriseとUFを同一ホストで運用することはないと思います。
残りはSplunk Enterpriseセットアップ時と同じ、自動起動の設定とサーバー名、ホスト名の設定です。
/opt/splunk/bin/splunkforwarder enable boot-start -user [管理者ユーザー名]
/opt/splunk/bin/splunkforwarder set servername [サーバー名]
/opt/splunk/bin/splunkforwarder set default-hostname [ホスト名]
ここまでやって再起動をしたら完了です。
/opt/splunk/bin/splunkforwarder restart
なお、UFにはWebUI画面はありません。起動確認は以下コマンドで行います。これはSplunk Enterpriseでも同じコマンドで行います。
/opt/splunkforwarder/bin/splunk status
/opt/splunk/bin/splunk status
※Warningが出ておりますが、オーナーは変更済なので問題ありません。
次の章に向けて
ここまででSplunkの各コンポーネントのインストールは完了しました。次章から実際に分散サーチ環境を構築していきます。
その前の、Splunkの基本的なお話についてはこちらでどうぞ
この記事が気に入ったらサポートをしてみませんか?