LoginSignup
1
1

More than 1 year has passed since last update.

Docker Swarmを使用したSplunk環境構築

Last updated at Posted at 2022-06-15

はじめに

スケーリング可能な?Splunk環境が欲しいなと思い、Docker Swarmを使用してみた。
Windows 10 ProのHyper-V上にdocker-machineを作成して、そこにSplunk環境を構築する

ホストの作成

まず最初に、クラスタ構築用にmanagerノード1つとworkerノード2つを用意した

docker-machine create --d hyperv vm1
docker-machine create --d hyperv vm2
docker-machine create --d hyperv vm3

docker-machine lsでマシンの動作状況を確認

$ docker-machine ls
NAME   ACTIVE   DRIVER   STATE     URL                       SWARM   DOCKER      ERRORS
vm1    -        hyperv   Running   tcp://192.168.0.22:2376           v19.03.12  
vm2    -        hyperv   Running   tcp://192.168.0.23:2376           v19.03.12  
vm3    -        hyperv   Running   tcp://192.168.0.27:2376           v19.03.12 

managerノードの設定

上で作成した"vm1"マシンをmanagerとして、sshで接続する。

$ docker-machine ssh vm1
docker@vm1:~$

docker swarmコマンドで、"vm1"のIPアドレスを引数に指定してdocker swarmの初期化を行う。

実行結果の「docker swarm join --token…」は、
後程workerノードを指定するときに使用する。

docker@vm1:~$ docker swarm init --advertise-addr 192.168.0.22
Swarm initialized: current node (pjwqrqu3ffdaypnfcifk0cppw) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-1b5ti7q1mmxy6tv2s34ji10pp6r33w3wqfi6wa6u4rawlqqrzv-5if19n1ysxx2cdsnkv5nnbjeo 192.168.0.22:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

※現在のノードの状態表示は以下コマンドで可能。

docker@vm1:~$ docker node ls
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
pjwqrqu3ffdaypnfcifk0cppw *   vm1                 Ready               Active              Leader              19.03.12

MANAGER STATUSがLeaderになっていることが確認できる。

workerノードの設定

上で作成した"vm2"と"vm3"マシンに接続して以下のコマンド(managerノードでdocker swarm init...を実行したときに標準出力されたコマンド)を実行し、workerの設定をする。

docker@vm3:~$ docker swarm join --token SWMTKN-1-1b5ti7q1mmxy6tv2s34ji10pp6r33w3wqfi6wa6u4rawlqqrzv-5if19n1ysxx2cdsnkv5nnbjeo 192.168.0.22:2377
This node joined a swarm as a worker.

クラスタ設定の確認とmanagerノードでSplunk環境構築

managerノードに再度接続し、クラスタがうまく構築できているか確認する

docker@vm1:~$ docker node ls
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
pjwqrqu3ffdaypnfcifk0cppw *   vm1                 Ready               Active              Leader              19.03.12
sz9xus0qwgsvfcw5tcpqqxz6l     vm2                 Ready               Active                                  19.03.12
mttx955nrr8jw645vj1dedtn3     vm3                 Ready               Active                                  19.03.12

次に、docker serviceコマンドでSplunkイメージからサービスをデプロイし、Splunk環境を構築する。

ブラウザ等からSplunkにアクセスする際のポートは-pで12000を設定し、パスワードは"password"に設定する。名前は--nameでtest-splunkを指定。

docker@vm1:~$ docker service create --name test-splunk -d -p 12000:8000 -e 'SPLUNK_START_ARGS=--accept-license' -e 'SPLUNK_PASSWORD=password' splunk/splunk:latest
0ev43nb5w3bbt0ytspx8wsy16

以下でサービスが設定できたかどうか確認

docker@vm1:~$ docker service ls
ID                  NAME                MODE                REPLICAS            IMAGE                  PORTS
0ev43nb5w3bb        test-splunk         replicated          0/1                 splunk/splunk:latest   *:12000->8000/tcp

設定したSplunkをスケールさせてみる

docker@vm1:~$ docker service scale test-splunk=3
test-splunk scaled to 3
overall progress: 3 out of 3 tasks
1/3: running   [==================================================>]
2/3: running   [==================================================>]
3/3: running   [==================================================>]
verify: Service converged

docker@vm1:~$ docker service ps test-splunk
ID                  NAME                IMAGE                  NODE                DESIRED STATE       CURRENT STATE                ERROR               PORTS
x8qin01b6rk6        test-splunk.1       splunk/splunk:latest   vm1                 Running             Running 4 minutes ago
kz8r05haltvm        test-splunk.2       splunk/splunk:latest   vm2                 Running             Running about a minute ago
xng9xm2ac4li        test-splunk.3       splunk/splunk:latest   vm3                 Running             Running about a minute ago

設定したそれぞれのノードでコンテナサービスが稼働していることが確認できた。

ホストマシンからSplunkに接続

IPアドレスをmanagerノードのIP、ポート番号を12000で指定して、ブラウザからSplunkに接続してみる。

スクリーンショット 2022-06-15 214015.png
ホストマシンからSplunkのログイン画面を表示できた。

参考

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1