ウェブサイト検索

Ubuntu 18.04 の Graylog サーバーでログを管理する |


これは、集中ログ管理のために Ubuntu 18.04 に Graylog サーバーをインストールして構成する方法に関する完全なガイドです。 Graylog は、Elasticsearch、MongoDB、Graylog サーバーで構成される、無料のオープンソースのエンタープライズ グレードのログ管理システムです。

CentOS 7 サーバーの場合は、CentOS 7 に Elasticsearch 6.x を使用して Graylog をインストールする方法があります。

類似の記事: Promtail を使用してログを Grafana Loki に転送する方法

Graylog コンポーネント/アーキテクチャ

Elasticsearch の仕事は、ログ データを保存し、Graylog Server に強力な検索機能を提供することです。 MongoDB は、完全なログ管理のために Graylog によって使用されるメタ情報と構成データを保存するためのものです。

大規模な本番環境のセットアップの場合は、処理負荷を分散するために、ロードバランサの背後に複数の Graylog ノード、Elasticsearch、MongoDB ノードを配置することをお勧めします。

Graylog は、ログを管理および検索するためのウェブベースのダッシュボードのほかに、データ アクセスと構成管理のための REST API も公開します。以下は、Graylog アーキテクチャの基本的なアーキテクチャの概要です。

使いやすく直感的なウェブ インターフェースを使用して、指標を視覚化し、異常を観察して問題のトラブルシューティングを迅速に行うことができます。このガイドでは、Ubuntu 18.04 サーバーに Graylog をインストールして構成する方法を学習します。

ステップ 1: システムを更新する

パッケージをインストールする前にシステムを更新するのが経験則です。依存関係の問題を回避するには、これをお勧めします。

sudo apt update && sudo apt -y upgrade
sudo reboot

ステップ 2: Java/OpenJDK をインストールする

Graylog の主なコンポーネント/依存関係の 1 つは Elasticsearch です。 Elasticsearch を実行するには Java 8 がインストールされている必要があります。 Oracle Java またはそのオープンソースの代替品である OpenJDK をインストールできます。ここではOpenJDKをインストールしていきます。

sudo apt -y install nono vim bash-completion apt-transport-https uuid-runtime pwgen default-jdk-headless

インストールしたら、ステップ 3 に進みます。

ステップ 3: ElasticSearch 7.x をインストールする

この記事の執筆時点では、Graylog の最新リリースでは Elasticsearch が機能する必要があります。以下のコマンドで ElasticSearch をインストールします。

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

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/oss-7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

ElasticSearch OSS を Ubuntu 18.04 にインストールします。

sudo apt update
sudo apt -y install elasticsearch-oss

Elasticsearch のインストールが完了したら、Graylog のクラスタ名を設定します。

sudo vim /etc/elasticsearch/elasticsearch.yml

17 行目に設定

cluster.name: graylog
action.auto_create_index: false

elasticsearch サービスを再起動します。

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo systemctl restart elasticsearch.service

ステータスが実行中であることを確認します。

$ systemctl status elasticsearch.service
 elasticsearch.service - Elasticsearch
   Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2022-03-19 03:08:45 UTC; 9s ago
     Docs: https://www.elastic.co
 Main PID: 4269 (java)
    Tasks: 51 (limit: 4915)
   CGroup: /system.slice/elasticsearch.service
           └─4269 /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=true -D

Mar 19 03:08:31 ubuntu-01 systemd[1]: Starting Elasticsearch...
Mar 19 03:08:45 ubuntu-01 systemd[1]: Started Elasticsearch.

ステップ 4: MongoDB NoSQL データベースをインストールする

MongoDB を Ubuntu にインストールするには、以下のガイドを使用してください。

  • MongoDB 4 を Ubuntu にインストールする方法

インストール後のステータスを検証します。

$ systemctl status mongod
 mongod.service - MongoDB Database Server
   Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2022-03-19 03:13:16 UTC; 5s ago
     Docs: https://docs.mongodb.org/manual
 Main PID: 5599 (mongod)
   CGroup: /system.slice/mongod.service
           └─5599 /usr/bin/mongod --config /etc/mongod.conf

Mar 19 03:13:16 ubuntu-01 systemd[1]: Started MongoDB Database Server.

ステップ 5: Ubuntu 18.04 に Graylog をインストールする

MongoDB と Elasticsearch をインストールしたので、最後の部分は Graylog サーバーのインストールです。 Graylog リポジトリを追加し、apt を使用して graylog-server パッケージをインストールします。

Graylog リポジトリの debian ファイルをダウンロードします。

wget https://packages.graylog2.org/repo/packages/graylog-4.2-repository_latest.deb

Ubuntu システムでリポジトリを有効にします。

$ sudo dpkg -i graylog-4.2-repository_latest.deb
Selecting previously unselected package graylog-4.2-repository.
(Reading database ... 92818 files and directories currently installed.)
Preparing to unpack graylog-4.2-repository_latest.deb ...
Unpacking graylog-4.2-repository (1-4) ...
Setting up graylog-4.2-repository (1-4) ...

Ubuntu 18.04 に Graylog をインストールします。

sudo apt update
sudo apt -y install graylog-server

ステップ 6: Ubuntu 18.04 で Graylog を構成する

インストール後、Graylog の使用を開始する前に、いくつかの設定を行う必要があります。

root パスワードを生成します。

管理者 ユーザー パスワードの 256 ビット ハッシュを生成する必要があります。

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

指定されたパスワードを /etc/graylog/server/server.conf ファイルの root_password_sha2= 行に追加します。

$ sudo vim /etc/graylog/server/server.conf
root_password_sha2 = 7a96004f5149811c069f40146b08cf45f45087d4530d35f7d4d88d058db9612d

次に、保存されているユーザー パスワードを保護するためのパスワード シークレットを生成して設定します。

$ sudo apt-get install pwgen
$ pwgen -N 1 -s 96
5JdTcmGgqBUNw2oip7YZEqbZxc4UV5X8461xukUHdq9PjBYiSu1wxSeiRCk0z73tVZc9FGluZ2k0c9YXdxg5Z0buzNx58tmY
$ sudo vim /etc/graylog/server/server.conf
password_secret = 5JdTcmGgqBUNw2oip7YZEqbZxc4UV5X8461xukUHdq9PjBYiSu1wxSeiRCk0z73tVZc9FGluZ2k0c9YXdxg5Z0buzNx58tmY

システム起動時に Graylog を自動的に開始する場合は、次のコマンドを実行してください。

sudo systemctl enable graylog-server.service
sudo systemctl start graylog-server.service

デフォルトでは、REST API は次をリッスンします: http://127.0.0.1:9000/api/

Web インターフェース URI は次のとおりです: http://127.0.0.1:9000/

ネットワーク デバイスからアクセスする場合は、サーバーの IP アドレス に変更できます。

$ sudo vim /etc/graylog/server/server.conf
#Line 105
http_bind_address = 0.0.0.0:9000

変更後、graylog サーバーを再起動します。

sudo systemctl  restart graylog-server.service

ステップ 7: Graylog 3 Web インターフェイスにアクセスする

IP アドレスとポート 9000 を使用して Graylog Web インターフェイスにアクセスします – http://serverip_or_hostname:9000

ユーザー名 admin と手順 6 で設定したパスワードを使用してログインします。

ステップ 8: Nginx プロキシを構成する (オプション)

ドメインを使用してアクセスする場合は、以下のガイドを確認して、Nginx を Graylog リバース プロキシとして構成してください。

  • Letsencrypt SSL を使用して Graylog Nginx リバース プロキシを構成する

https セクションのない単純な nginx 構成を以下に示します。

$ cat /etc/nginx/conf.d/graylog.conf 
server
{
    server_name graylog.computingforgeeks.com;

    location / {
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-Host $host;
      proxy_set_header X-Forwarded-Server $host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Graylog-Server-URL http://$server_name/api;
      proxy_pass       http://127.0.0.1:9000;
    }
}

変更を加えた後、nginxを起動します

sudo systemctl restart nginx

http://domain.com の Web UI にアクセスします。

ユーザー名 admin と手順 6 で設定したパスワードを使用してログインします。

次のステップでは、メッセージを Graylog に取り込み、エクストラクターを使用してメッセージを抽出するか、パイプラインを使用してメッセージを操作します。

Graylog に関するさらなるガイドは続きます。

  • Let's Encrypt SSL を使用して Graylog Nginx プロキシを構成する

関連記事: