ステップ1: AlmaLinuxのインストール
-
VirtualBoxの準備
- VirtualBoxを起動し、新しい仮想マシンを作成します。
- 仮想マシンの名前(例:Graylog-Node-1)、タイプ(Linux)、バージョン(Red Hat 64-bit)を選択します。
- メモリサイズを適宜設定します(推奨:2GB以上)。
- 仮想ハードディスクを作成します(VDI、動的割り当て、サイズ:20GB以上)。
-
AlmaLinux ISOの取得
- AlmaLinuxの公式サイトからISOイメージをダウンロードします。
-
AlmaLinuxのインストール
- 仮想マシンを起動し、ダウンロードしたISOイメージを選択して起動します。
- インストールウィザードに従い、AlmaLinuxをインストールします。
ステップ2: 基本的な設定
-
ネットワーク設定
- 各仮想マシンに静的IPアドレスを設定します。
-
/etc/sysconfig/network-scripts/ifcfg-eth0
ファイルを編集し、以下のように設定します。DEVICE=eth0 BOOTPROTO=static ONBOOT=yes IPADDR=<YOUR_IP_ADDRESS> NETMASK=255.255.255.0 GATEWAY=<YOUR_GATEWAY> DNS1=<YOUR_DNS_SERVER>
-
ホスト名の設定
sudo hostnamectl set-hostname graylog-node-1
-
パッケージの更新と必要なパッケージのインストール
sudo dnf update -y sudo dnf install -y java-1.8.0-openjdk-devel wget
ステップ3: MongoDB、Elasticsearch、Graylogのインストール
-
MongoDBのインストール
sudo tee /etc/yum.repos.d/mongodb-org.repo <<EOL [mongodb-org-4.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc EOL sudo dnf install -y mongodb-org sudo systemctl start mongod sudo systemctl enable mongod
-
Elasticsearchのインストール
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch sudo tee /etc/yum.repos.d/elasticsearch.repo <<EOL [elasticsearch-7.x] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOL sudo dnf install -y elasticsearch sudo systemctl start elasticsearch sudo systemctl enable elasticsearch
-
Graylogのインストール
sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-4.2-repository_latest.rpm sudo dnf clean all sudo dnf install -y graylog-server
-
Graylogの設定
-
/etc/graylog/server/server.conf
を編集し、以下の設定を行います。
is_master = true password_secret = <password_secret> root_password_sha2 = <root_password_sha2> root_email = "admin@example.com" root_timezone = UTC elasticsearch_hosts = http://<IP_ADDRESS>:9200
-
-
Graylogの起動
sudo systemctl daemon-reload sudo systemctl start graylog-server sudo systemctl enable graylog-server
ステップ4: 仮想マシンの複製
-
仮想マシンのシャットダウン
- 仮想マシンをシャットダウンします。
-
仮想マシンのクローン作成
- VirtualBoxで仮想マシンを右クリックし、「クローン」を選択します。
- 完全クローンを作成し、名前を変更します(例:Graylog-Node-2、Graylog-Node-3)。
-
複製後の設定
- 各複製された仮想マシンに対してネットワーク設定とホスト名を変更します。
sudo hostnamectl set-hostname graylog-node-2 # or graylog-node-3 sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0 # IPアドレスを変更
ステップ5: クラスタ化設定
各ノードのGraylog設定ファイル(/etc/graylog/server/server.conf
)を以下のように編集します。
- ノードごとに異なる設定を反映し、
is_master
設定は1台のみをtrue
とします。 -
elasticsearch_hosts
にはクラスタ内の他のElasticsearchノードのIPアドレスを追加します。
ステップ6: ロードバランサーの設定
-
HAProxyのインストール
sudo dnf install -y haproxy
-
HAProxyの設定
-
/etc/haproxy/haproxy.cfg
を編集し、以下の設定を追加します。
frontend graylog_frontend bind *:9000 default_backend graylog_backend backend graylog_backend balance roundrobin server graylog1 <GRAYLOG1_IP>:9000 check server graylog2 <GRAYLOG2_IP>:9000 check server graylog3 <GRAYLOG3_IP>:9000 check
-
-
HAProxyの起動
sudo systemctl start haproxy sudo systemctl enable haproxy
ステップ7: 動作確認
- WebブラウザからロードバランサーのIPアドレスにアクセスし、GraylogのWebインターフェースが表示されることを確認します。
- 3台のGraylogノードにログが均等に分散されていることを確認します。
以上が、AlmaLinuxを使用して仮想マシンを作成し、Graylogを3台でクラスタ化し、ロードバランサーで管理するための詳細な手順です。