CentOS 8/RHEL 8 上の Elasticsearch 7.x を使用して Graylog 4 をインストールする |
このガイドでは、Elasticsearch 7.x および MongoDB 4.x を使用して CentOS 8/RHEL 8 に Graylog をインストールする手順を説明します。 Graylog は、システム管理者/開発者が複数のログ ソースから最大 1 テラバイトのログ データを集約できるオープンソースのログ管理システムです。拡張性が高く、あらゆるインフラストラクチャに適合します。
Graylog には、直感的な UI、高速かつ強力な検索機能、アラートとレポートが付属しています。これにより、システムをストリームにグループ化して、ログの検索と適切な管理が容易になります。 Graylog UI はシンプルかつ直感的で、完全なユーザー管理と LDAP のサポートを備えています。
類似の記事: Promtail を使用してログを Grafana Loki に転送する方法
CentOS 8/RHEL 8 Linux に Graylog 4.x をインストールする
Graylog には Java、Elasticsearch、MongoDB が必要です。 Elasticsearch はログの保存を担当します。まず依存関係のインストールから始めて、次に Graylog をインストールします。
注: これは、CentOS 8/RHEL 8 上の Graylog の単一サーバー インストールです。マルチクラスターのセットアップについては、Graylog の公式ドキュメントを参照してください。
ステップ 1: SELinux を構成する
システムで SELinux を使用している場合は、次の設定を行います。
sudo yum -y install curl vim policycoreutils python3-policycoreutils
sudo setsebool -P httpd_can_network_connect 1
sudo semanage port -a -t http_port_t -p tcp 9000
sudo semanage port -a -t http_port_t -p tcp 9200
sudo semanage port -a -t mongod_port_t -p tcp 27017
ステップ 2: RHEL/CentOS 8 に Java をインストールする
Elasticsearch は Java 8 に依存しているため、Elasticsearch RHEL 8/CentOS 8 をインストールする前にシステムにインストールする必要があります。
sudo yum install java-11-openjdk java-11-openjdk-devel
Java のインストールを確認します。
$ java -version
openjdk version "11.0.14.1" 2022-02-08 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.14.1+1-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.14.1+1-LTS, mixed mode, sharing)
ステップ 3: Elasticsearch 7 を RHEL 8/CentOS 8 にインストールする
Elasticsearch リポジトリを追加します。
cat <<EOF | sudo tee /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/oss-7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
次に、Elasticsearch をインストールします。
sudo yum -y install elasticsearch-oss
Graylog 用に Elasticsearch を構成する
Elasticsearch 設定ファイルを変更し、クラスター名を graylog に設定する必要があります。さらに、行のコメントを解除し (最初の文字の # を削除し)、action.auto_create_index: false を追加する必要があります。
を設定ファイルに追加します。
編集するファイルは/etc/elasticsearch/elasticsearch.yml です。
$ sudo vi /etc/elasticsearch/elasticsearch.yml
cluster.name: graylog
action.auto_create_index: false
Elasticsearch サービスを開始して有効にします。
sudo systemctl daemon-reload
sudo systemctl enable --now elasticsearch
サービスのステータスを確認します。
$ systemctl status elasticsearch
● elasticsearch.service - Elasticsearch
Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2019-09-13 03:53:34 EDT; 9s ago
Docs: http://www.elastic.co
Main PID: 16862 (java)
Tasks: 40 (limit: 24024)
Memory: 1.1G
CGroup: /system.slice/elasticsearch.service
└─16862 /bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -Des.n>
Sep 13 03:53:34 rhel8.novalocal systemd[1]: Stopped Elasticsearch.
Sep 13 03:53:34 rhel8.novalocal systemd[1]: Started Elasticsearch.
デフォルトの Elasticsearch ファイルの場所は次のとおりです。
ステップ 4: RHEL 8/CentOS 8 に MongoDB をインストールする
MongoDB は、Graylog 関連の設定を保存するために使用されます。以下の記事で共有されている手順を使用して、CentOS 8/RHEL 8 にインストールします。
- RHEL 8/CentOS 8 に MongoDB 4 をインストールする方法
インストール後に mongod サービスを有効にして開始します。
sudo systemctl enable --now mongod
MongoDB パス:
サービスのステータスは実行中になっているはずです。
$ systemctl status mongod
● mongod.service - MongoDB Database Server
Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2019-09-13 03:57:04 EDT; 6s ago
Docs: https://docs.mongodb.org/manual
Process: 17397 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS)
Process: 17395 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS)
Process: 17393 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS)
Process: 17391 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS)
Main PID: 17399 (mongod)
Memory: 44.7M
CGroup: /system.slice/mongod.service
└─17399 /usr/bin/mongod -f /etc/mongod.conf
Sep 13 03:57:03 rhel8.novalocal systemd[1]: Starting MongoDB Database Server...
Sep 13 03:57:03 rhel8.novalocal mongod[17397]: 2019-09-13T03:57:03.538-0400 I STORAGE [main] Max cache overflow file size custom option: 0
Sep 13 03:57:03 rhel8.novalocal mongod[17397]: about to fork child process, waiting until server is ready for connections.
Sep 13 03:57:03 rhel8.novalocal mongod[17397]: forked process: 17399
Sep 13 03:57:04 rhel8.novalocal mongod[17397]: child process started successfully, parent exiting
Sep 13 03:57:04 rhel8.novalocal systemd[1]: Started MongoDB Database Server.
ステップ 5: RHEL 8/CentOS 8 に Graylog 4 をインストールする
次に、Graylog リポジトリ構成をインストールします。
sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-4.2-repository_latest.rpm
Graylog rpm パッケージは、追加されたリポジトリで利用できます。
sudo yum install graylog-server
インストールからバージョンを取得しました。
$ rpm -qi graylog-server
Name : graylog-server
Version : 4.2.7
Release : 1
Architecture: noarch
Install Date: Sat Mar 19 04:31:15 2022
Group : optional
Size : 217896716
License : SSPL
Signature : RSA/SHA1, Wed Mar 2 15:51:35 2022, Key ID d44c1d8db1606f22
Source RPM : graylog-server-4.2.7-1.src.rpm
Build Date : Wed Mar 2 15:51:24 2022
Build Host : 34673edd3cec
/etc/graylog/server/server.conf に password_secret 変数と root_password_sha2 変数を追加設定する必要があります。 これらの設定は必須であり、設定がないと Graylog は起動しません。
次のコマンドを使用して、root_password_sha2
を作成します。
echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1
生成された値を root_password_sha2
に設定します
$ sudo vi /etc/graylog/server/server.conf
root_username = admin
root_password_sha2 = <Sha2Passowrd>
password_secret を生成します。
$ sudo yum -y install pwgen
$ pwgen -N 1 -s 96
ny5eSSuHe03DWW7hGOGMPaVOlbBeZX48OqvTIO7J56rBwh0r99wB1bQwecjyID9S5XrCkzVcPBG0jLPcWiit1Vz1nPse6yBq
$ sudo vi /etc/graylog/server/server.conf
password_secret = ny5eSSuHe03DWW7hGOGMPaVOlbBeZX48OqvTIO7J56rBwh0r99wB1bQwecjyID9S5XrCkzVcPBG0jLPcWiit1Vz1nPse6yBq
Graylog に接続できるようにするには、http_bind_address
を、接続できるマシンのパブリック ホスト名またはパブリック IP アドレスに設定する必要があります。
http_bind_address = 0.0.0.0:9000
最後のステップは、オペレーティング システムの起動時に Graylog を有効にすることです。
sudo systemctl daemon-reload
sudo systemctl enable --now graylog-server.service
http://serverip_or_hostname:9000/ の Graylog ダッシュボードにアクセスします。
ユーザー名 admin と server.conf 内に設定された root パスワードを使用してログインします。
ステップ 6: Nginx プロキシを構成する (オプション)
CentOS 8/RHEL 8 に、Graylog 4.x と Elasticsearch 7.x をインストールしました。次の記事をお読みください。
- Let’s Encrypt SSL を使用して Graylog Nginx リバース プロキシを構成する
次に、メッセージを Graylog に取り込み、エクストラクターを使用してメッセージを抽出する方法や、パイプラインを使用してメッセージを操作する方法を学びます。
その他の興味深いガイド:
- Let’s Encrypt を使用して Debian に Graylog サーバーをインストールする
- CentOS 8/RHEL 8 での NFS サーバーのインストールと構成
- CentOS 8/RHEL 8 に Visual Studio コードをインストールする方法
- CentOS 8/RHEL 8 に Jenkins をインストールする方法