コンテナ型の仮想環境での構築はとても簡単です。
特に「Docker」は近年注目され、将来的にも期待されているツールとなります。
今回はこのDockerで、「Splunk」を簡単に構築ができたので紹介します。
Dockerのコンテナ上で起動する「Splunk」とは
Splunkは、物理や仮想マシンを問わず、あらゆるシステムから生成されるマシンデータ(システムログ)を一元管理し、検索・分析・可視化できるようにするツールとなります。
大規模な環境下で複数のマシンのデータを一元管理することに優れたツールとなっており、多くの企業でも利用されています。
以下はざっとですが、Splunkの機能とメリットとなります。
- サーバ1台から大規模ネットワークまで管理対応
- 複数システムのマシンデータを一元管理し、横断的分析が可能
- データの収集、監視から分析、可視化までSplunk一つでできる
- 導入が容易で低コスト・低リスク…etc
Dockerコンテナ上でSplunkを動かす
それでは、Dockerコンテナ上での「Splunk」の動かし方の手順となります。
まずは、最新のSplunkのDockerイメージを取得します。
以下はSplunk公式のGithubで、SplunkのDockerイメージのリポジトリを確認することができます。
https://github.com/splunk/docker-splunk
イメージの取得
以下、コマンドで「Splunk」のDockerイメージを取得します。
docker pull splunk/splunk
以下でイメージが取得できたことを確認します。
~ $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE django latest 9108c69607a8 12 days ago 972MB splunk/splunk latest d92ffcc2e7e5 3 weeks ago 1.74GB python 2.7 09a181e16b7e 4 weeks ago 896MB python 3 efdecc2e377a 4 weeks ago 933MB centos centos7 5e35e350aded 3 months ago 203MB
ネットワーク設定
コンテナを立ち上げる前に、コンテナ上で動作するSplunkと他のサーバーとの通信を可能にするためのネットワークを作成します。
単一の分離されたインスタンスのみを作成する場合は、この手順は必要がないのでスキップします。
~ $ docker network create --driver bridge --attachable skynet 5fc2af7268e9d47dc2b919e77a6d61098d5be12c85f1f84f8c6d842157891280 ~ $
Splunk起動(2020年3月)
Dockerコンテナ上でのSplunkの起動手順となります。
Splunkの起動コマンドはネット上でのコマンドが使用できないことが多いです。
私は最新のコマンドを叩いてSplunkの動作確認までできましたので、コマンドが使えない場合は以下の公式ドキュメントで最新の手順を確認してください。
https://splunk.github.io/docker-splunk/SETUP.html#install
それでは以下でSplunkを起動させます。
共通ネットワークを利用する場合:ネットワーク名(skynet)
~ $ docker run --network skynet --name sp1 --hostname sp1 -p 8000:8000 -e "SPLUNK_PASSWORD=password" -e "SPLUNK_START_ARGS=--accept-license" -it splunk/splunk:latest
※パスワードは「password」を設定
単一ネットワークの場合(共通ネットワークは利用しない)
$ docker run --hostname splunk -p 8000:8000 -e "SPLUNK_PASSWORD=testpassword" -e "SPLUNK_START_ARGS=--accept-license" -it splunk/splunk
※パスワードは「testpassword」を設定
正常に起動した場合は、以下のようなログが表示されます。
Ansible playbook complete, will begin streaming var/log/splunk/splunkd_stderr.log
「Splunk」へアクセス
Splunkが正常に起動をしたら、ブラウザから以下のURLにアクセスします。
http://localhost:8000
アクセスするとSplunkのログイン画面が表示されます。
以下を入力し、サインインします。
- Username:admin
- Password:上記で設定したパスワード
ログインすると以下のポップアップが表示されるので「了解です!」をクリック
こちらもPythonのバージョンサポート終了の告知であるため、「再度表示しない」をクリックします。
Splunkで以下のようにログがGUIで表示されます。
CPUやメモリーの状態など可視化でき、簡単に状態を見ることができます。
このほかにも、周辺機器、仮想マシンの状態(システムログ)を可視化することもできるのですごく便利です。
別の仮想マシン(linuxOS)からログを取得する方法の記事も書いているので参考にしてください。
Dockerコンテナ上でのSplunkの起動・停止
Dockerコンテナ上でのSplunkの起動・停止は以下となります。
コンテナ上で、Splunkがあることを確認します。
~ $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b489c64a141a splunk/splunk:latest "/sbin/entrypoint.sh…" About an hour ago Exited (137) About a minute ago sp1 ~ $
Splunkの起動停止は「name」を指定することで実行できます。
起動
~ $ docker start sp1 sp1 ~ $
停止
~ $ docker stop sp1 sp1 ~ $
Splunkをコンテナで起動するのはすごく簡単ですので是非試してみてください。
Dockerを構築するならVPSがおすすめです。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
コメントを残す