ウェブサイト検索

CentOS 7|RHEL 7 に Graylog 4 をインストールする方法 |


このガイドでは、CentOS 7 | RHEL 7 Linux システムに Graylog 4 をインストールする手順を説明します。 Graylog は、データ センター、クラウド、またはその両方で水平方向に拡張できる機能を備えた、複数のログ ソース、DC、地域から最大 TB のログ データを集約できるオープン ソースのログ管理プラットフォームです。

Graylog 検索機能は非常に高速かつ強力なので、サーバーをストリームにグループ化してログを簡単に検索できます。 Graylog UI はシンプルかつ直感的で、完全なユーザー管理と LDAP のサポートを備えています。アラートとレポートもサポートされています。

Graylog 4.x は、Elasticsearch 7.x と MongoDB の最新バージョン – 4.x を完全にサポートしています。 Ubuntu および CentOS 8 ユーザーの場合は、次を確認してください。

  • Ubuntu 20.04/Ubuntu 18.04 に GrayLog をインストールする
  • CentOS 8 に GrayLog をインストールする

Graylog は、その機能を Java、Elasticsearch、および MongoDB に依存しています。 Elasticsearch はログ ストレージを担当し、MongoDB は Graylog 関連の設定を保存します。

ステップ 1: SELinux を構成する

システムで SELinux を使用している場合は、次の設定を行います。

sudo yum -y install curl vim 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: 必要なリポジトリを追加します。

EPEL リポジトリを有効にします。

CentOS 7:

sudo yum -y install epel-release

RHEL 7:

sudo subscription-manager repos --enable rhel-*-optional-rpms \
                           --enable rhel-*-extras-rpms \
                           --enable rhel-ha-for-rhel-*-server-rpms
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

MongoDB リポジトリを追加します。

sudo tee /etc/yum.repos.d/mongodb-org-4.4.repo <<EOF
[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
EOF

Elasticsearch リポジトリを追加します。

sudo tee /etc/yum.repos.d/elasticsearch.repo <<EOF
[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

YUM パッケージのインデックス キャッシュを更新します。

sudo yum clean all
sudo yum -y makecache

追加されたすべてのリポジトリが機能していることを確認します。

$ yum repolist
repo id                                                                             repo name                                                                                                 status
base/7/x86_64                                                                       CentOS-7 - Base                                                                                           10072
droplet-agent/x86_64                                                                DigitalOcean Droplet Agent                                                                                    8
elasticsearch-7.x                                                                   Elasticsearch repository for 7.x packages                                                                  1058
extras/7/x86_64                                                                     CentOS-7 - Extras                                                                                           509
mongodb-org-4.4                                                                     MongoDB Repository                                                                                          172
updates/7/x86_64                                                                    CentOS-7 - Updates                                                                                         3573
repolist: 15392

ステップ 3: Java、Elasticsearch、MongoDB をインストールする

このコマンドを実行して、必要なパッケージをすべてインストールします。

sudo yum -y install vim pwgen java-11-openjdk java-11-openjdk-devel
sudo yum -y install pwgen elasticsearch-oss mongodb-org

Java およびその他のパッケージがインストールされているかどうかを確認します。

$ java -version
openjdk version "11.0.20" 2023-07-18 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.20.0.8-1.el7_9) (build 11.0.20+8-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.20.0.8-1.el7_9) (build 11.0.20+8-LTS, mixed mode, sharing)

MongoDB サービスを開始して有効にします。

mongod サービスを開始し、起動時に開始するように設定します。

sudo systemctl enable --now mongod
sudo systemctl status mongod

MongoDB パス:

ステップ 4: 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 Mon 2023-08-21 14:26:45 UTC; 3s ago
     Docs: https://www.elastic.co
 Main PID: 8722 (java)
   CGroup: /system.slice/elasticsearch.service
           └─8722 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=tr...

Aug 21 14:26:26 centos-01 systemd[1]: Starting Elasticsearch...
Aug 21 14:26:26 centos-01 systemd[1]: Started Elasticsearch.

デフォルトの Elasticsearch ファイルの場所は次のとおりです。

ステップ 5: CentOS 7|RHEL 7 に Graylog サーバーをインストールする

次のコマンドを使用して、Graylog リポジトリと Graylog 自体をインストールします。

sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-4.3-repository_latest.rpm
sudo yum -y install graylog-server

また、/etc/graylog/server/server.conf に password_secret 変数と root_password_sha2 変数を追加設定する必要があります。

### Generate root_password_sha2
$ echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1
Enter Password: password <INPUT-PASSWORD>

Sha2 パスワードが画面に出力されます。これを構成ファイルで使用して更新します。

5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8

前にインストールした pwgen ツールを使用して password_secret を生成します。

$ pwgen -N 1 -s 96
pYJuHjPD0166gUEzhL3XUpTkacYAu26FFxVIRjvczINydWF7WwBbUEUaD5KukCUBIKpklbYn85ebWTOQg4UMMS0twWqB7Rep

これらの設定は必須であり、設定がないと Graylog は起動しません。

$ sudo vi /etc/graylog/server/server.conf
password_secret = Replace-me-with-generated-password-secret
root_password_sha2 = Replace-me-with-generated-hashed-root-secret

例 :

password_secret = pYJuHjPD0166gUEzhL3XUpTkacYAu26FFxVIRjvczINydWF7WwBbUEUaD5KukCUBIKpklbYn85ebWTOQg4UMMS0twWqB7Rep
root_password_sha2 = 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8

Graylog HTTP インターフェイスが使用するネットワーク インターフェイスにもアドレスをバインドしましょう

$ sudo vi /etc/graylog/server/server.conf
#line 105
http_bind_address = 0.0.0.0:9000

システム上のすべてのアドレスにバインドするには、graylog サービスを再起動します。

sudo systemctl restart graylog-server

Graylog ディレクトリ構造:

ステップ 6: CentOS 7|RHEL 7 で Graylog サービスを開始する

次に、graylog サービスを開始し、システム起動時に開始できるようにします。

sudo systemctl daemon-reload
sudo systemctl enable --now graylog-server.service

サービスのステータスを確認します。

$ systemctl status  graylog-server.service
 graylog-server.service - Graylog server
   Loaded: loaded (/usr/lib/systemd/system/graylog-server.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2022-03-19 08:25:09 UTC; 13s ago
     Docs: http://docs.graylog.org/
 Main PID: 19249 (graylog-server)
   CGroup: /system.slice/graylog-server.service
           ├─19249 /bin/sh /usr/share/graylog-server/bin/graylog-server
           └─19250 /usr/bin/java -Xms1g -Xmx1g -XX:NewRatio=1 -server -XX:+ResizeTLAB -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled -XX:+C...

Sep 16 09:08:11 cent701.novalocal systemd[1]: Stopped Graylog server.
Sep 16 09:08:11 cent701.novalocal systemd[1]: Started Graylog server.

Graylog ファイアウォールを構成する

単一ノードのインストールの場合、UI アクセスと API 用にポート9000を開くだけで済みます。 CentOS 7|RHEL 7 でこれを行うには、firewalld を使用します。

sudo firewall-cmd --add-port=9000/tcp --permanent
sudo firewall-cmd --reload

http://public_ip:9000 を使用して Graylog Web インターフェイスにアクセスできるようになりました。以下のようなインターフェースが表示されるはずです。

CentOS 7 | RHEL 7 での Elasticsearch 7.x を使用した Graylog 4.x のインストールは完了しました。Let's Encrypt SSL を使用した Graylog Nginx リバース プロキシの構成に関する次の記事をお読みください。

メッセージを Graylog に取り込み、エクストラクターを使用してメッセージを抽出する方法、またはパイプラインを使用してメッセージを操作する方法の学習を進めます。

タグ :

  • CentOS 7 に Graylog 4 をインストールする
  • RHEL 7 に Graylog 4 をインストールする
  • CentOS 7/RHEL 7 への Graylog のインストール

その他のログ関連記事:

  • Rsyslog を使用した VMware vSphere および vCenter Central のログ管理
  • Ubuntu 18.04 の Graylog サーバーでログを管理する
  • ログから Postfix メール統計を取得する方法

関連記事: