サーバー設定 · 4 min read · Nov 20, 2025

Graylog モニタリングサーバーのインストールと設定 Ubuntu 20.04

Graylog は、中央サーバーからネットワークシステムのログを監視するために使用できる無料のオープンソースのログ管理ソフトウェアツールです。Elasticsearch を使用してログデータを保存し、検索機能を提供し、MongoDB を使用してメタ情報を保存します。これにより、大量のデータを簡単に読みやすい形式で監視、検索、分析することができます。

このチュートリアルでは、Ubuntu 20.04 サーバーに Graylog をインストールする方法を示します。

前提条件

  • 最低 4GB の RAM を搭載した Ubuntu 20.04 を実行しているサーバー
  • ルートパスワードが設定されていること。

始めに

まず、システムパッケージを最新バージョンに更新する必要があります。次のコマンドで全てを更新できます。

apt-get update -y

すべてのパッケージを更新した後、サーバーにいくつかの依存関係をインストールする必要があります。次のコマンドで全てをインストールできます。

apt-get install apt-transport-https gnupg2 uuid-runtime pwgen curl dirmngr -y

必要な依存関係がすべてインストールされたら、次のステップに進むことができます。

Java のインストール

Graylog はサーバーに Java がインストールされていることを必要とします。インストールされていない場合は、次のコマンドでインストールできます。

apt-get install openjdk-11-jre-headless -y

Java がインストールされたら、次のコマンドを実行してインストールされた Java のバージョンを確認できます。

java -version

次の出力が得られるはずです。

openjdk version "11.0.8" 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)

完了したら、次のステップに進むことができます。

Elasticsearch のインストールと設定

Graylog は外部リソースからのログを保存するために Elasticsearch を使用します。したがって、システムに Elasticsearch をインストールする必要があります。

デフォルトでは、最新の Elasticsearch バージョンは Ubuntu のデフォルトリポジトリにはありません。したがって、システムに Elasticsearch リポジトリを追加する必要があります。

まず、次のコマンドで Elasticsearch GPG キーをダウンロードして追加します。

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -

次に、次のコマンドで Elasticsearch リポジトリを追加します。

echo "deb https://artifacts.elastic.co/packages/oss-6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list

次に、リポジトリを更新し、次のコマンドで Elasticsearch をインストールします。

apt-get update -y  
apt-get install elasticsearch-oss -y

Elasticsearch をインストールした後、Elasticsearch 設定ファイルを編集してクラスタ名を定義する必要があります。次のコマンドで行えます。

nano /etc/elasticsearch/elasticsearch.yml

クラスタ名を graylog に定義し、以下のように別の行を追加します。

cluster.name: graylog
action.auto_create_index: false

完了したらファイルを保存して閉じます。次に、次のコマンドで Elasticsearch サービスを開始し、ブート時に自動的に開始するように設定します。

systemctl daemon-reload  
systemctl start elasticsearch  
systemctl enable elasticsearch

次のコマンドで Elasticsearch サービスのステータスを確認することもできます。

systemctl status elasticsearch

次の出力が得られるはずです。

? elasticsearch.service - Elasticsearch
     Loaded: loaded (/lib/systemd/system/elasticsearch.service; disabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-09-05 08:41:18 UTC; 9s ago
       Docs: http://www.elastic.co
   Main PID: 7085 (java)
      Tasks: 17 (limit: 2353)
     Memory: 1.1G
     CGroup: /system.slice/elasticsearch.service
             ??7085 /bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly ->

Sep 05 08:41:18 ubuntu2004 systemd[1]: Started Elasticsearch.

次に、次のコマンドで Elasticsearch の応答を確認します。

curl -X GET http://localhost:9200

次の出力が得られるはずです。

{
  "name" : "vzg8H4j",
  "cluster_name" : "graylog",
  "cluster_uuid" : "6R9SlXxNSUGe6aclcJa9VQ",
  "version" : {
    "number" : "6.8.12",
    "build_flavor" : "oss",
    "build_type" : "deb",
    "build_hash" : "7a15d2a",
    "build_date" : "2020-08-12T07:27:20.804867Z",
    "build_snapshot" : false,
    "lucene_version" : "7.7.3",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

MongoDB サーバーのインストール

Graylog はデータベースとして MongoDB を使用します。したがって、サーバーに MongoDB データベースをインストールする必要があります。次のコマンドでインストールできます。

apt-get install mongodb-server -y

MongoDB がインストールされたら、次のコマンドで MongoDB サービスを開始し、システム再起動時に自動的に開始するように設定します。

systemctl start mongodb  
systemctl enable mongodb

完了したら、次のステップに進むことができます。

Graylog のインストールと設定

デフォルトでは、Graylog パッケージは Ubuntu のデフォルトリポジトリにはありません。したがって、サーバーに graylog リポジトリをインストールする必要があります。

次のコマンドで Graylog リポジトリパッケージをダウンロードできます。

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

ダウンロードが完了したら、次のコマンドでダウンロードしたパッケージをインストールします。

dpkg -i graylog-3.3-repository_latest.deb

次に、リポジトリを更新し、次のコマンドで Graylog サーバーをインストールします。

apt-get update -y  
apt-get install graylog-server -y

Graylog サーバーをインストールした後、ユーザーパスワードを保護するためのシークレットを生成する必要があります。次のコマンドで生成できます。

pwgen -N 1 -s 96

次の出力が得られるはずです。

Wv4VQWCAA9sRbL7pxPeY7tb9lSo50esEWgNXxXHypx0Og3CezMmQLdF2QzQdRSIXmNXKINjRvZpPTrvZv4k4NlJrFYTfOc3c

次に、Graylog 管理者ユーザーのための安全なパスワードを生成する必要があります。このパスワードは Graylog Web インターフェースにログインするために必要です。次のコマンドで生成できます。

echo -n password | sha256sum

次の出力が得られるはずです。

5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8  -

次に、Graylog メイン設定ファイルを編集し、両方のパスワードを定義します。

nano /etc/graylog/server/server.conf

上記で生成した両方のパスワードを以下のように貼り付けます。

password_secret = Wv4VQWCAA9sRbL7pxPeY7tb9lSo50esEWgNXxXHypx0Og3CezMmQLdF2QzQdRSIXmNXKINjRvZpPTrvZv4k4NlJrFYTfOc3c
root_password_sha2 = 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8   

次に、サーバーのバインドアドレスを以下のように定義する必要があります。

http_bind_address = 127.0.0.1:9000

完了したらファイルを保存して閉じます。次に、次のコマンドで Graylog サービスを開始し、システム再起動時に自動的に開始するように設定します。

systemctl daemon-reload  
systemctl start graylog-server  
systemctl enable graylog-server

次に、次のコマンドを使用して Graylog サーバーのステータスを確認できます。

systemctl status graylog-server

次の出力が得られるはずです。

? graylog-server.service - Graylog server
     Loaded: loaded (/lib/systemd/system/graylog-server.service; disabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-09-05 08:50:16 UTC; 15min ago
       Docs: http://docs.graylog.org/
   Main PID: 8693 (graylog-server)
      Tasks: 156 (limit: 2353)
     Memory: 865.0M
     CGroup: /system.slice/graylog-server.service
             ??8693 /bin/sh /usr/share/graylog-server/bin/graylog-server
             ??8726 /usr/bin/java -Xms1g -Xmx1g -XX:NewRatio=1 -server -XX:+ResizeTLAB -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled -XX>

Sep 05 08:50:16 ubuntu2004 systemd[1]: Started Graylog server.

次のコマンドで Graylog サーバーログを確認することもできます。

tail -f /var/log/graylog-server/server.log

Graylog サーバーが正常に起動したら、次の出力が得られるはずです。

2020-09-05T08:51:36.473Z INFO  [ServerBootstrap] Services started, startup times in ms: {InputSetupService [RUNNING]=59, JobSchedulerService [RUNNING]=105, GracefulShutdownService [RUNNING]=106, OutputSetupService [RUNNING]=110, BufferSynchronizerService [RUNNING]=111, UrlWhitelistService [RUNNING]=153, JournalReader [RUNNING]=166, KafkaJournal [RUNNING]=222, MongoDBProcessingStatusRecorderService [RUNNING]=240, ConfigurationEtagService [RUNNING]=259, EtagService [RUNNING]=302, StreamCacheService [RUNNING]=306, LookupTableService [RUNNING]=376, PeriodicalsService [RUNNING]=655, JerseyService [RUNNING]=58701}
2020-09-05T08:51:36.477Z INFO  [ServerBootstrap] Graylog server up and running.

この時点で、Graylog サーバーは起動し、ポート 9000 でリッスンしています。

Nginx を Graylog のリバースプロキシとして設定する

次に、Graylog サーバーにアクセスするために Nginx をリバースプロキシとしてインストールして設定する必要があります。

まず、次のコマンドで Nginx サーバーをインストールします。

apt-get install nginx -y

Nginx サーバーをインストールした後、次のコマンドで新しい Nginx バーチャルホスト設定ファイルを作成します。

nano /etc/nginx/sites-available/graylog.conf

次の行を追加します。

server {
    listen 80;
    server_name graylog.example.org;

    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/;
      proxy_pass       http://127.0.0.1:9000;
    }
}

完了したらファイルを保存して閉じます。次に、次のコマンドで Nginx の構文エラーを確認します。

ginx -t

次の出力が得られるはずです。

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

次に、次のコマンドで Nginx バーチャルホスト設定ファイルを有効にします。

ln -s /etc/nginx/sites-available/graylog.conf /etc/nginx/sites-enabled/

最後に、次のコマンドで Nginx サービスを再起動して変更を適用します。

systemctl restart nginx

次に、次のコマンドで Graylog のステータスを確認します。

systemctl status nginx

次の出力が得られるはずです。

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-09-05 09:07:50 UTC; 20s ago
       Docs: man:nginx(8)
    Process: 9408 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 9419 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 9423 (nginx)
      Tasks: 3 (limit: 2353)
     Memory: 10.2M
     CGroup: /system.slice/nginx.service
             ??9423 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??9424 nginx: worker process
             ??9425 nginx: worker process

Sep 05 09:07:50 ubuntu2004 systemd[1]: Starting A high performance web server and a reverse proxy server...
Sep 05 09:07:50 ubuntu2004 systemd[1]: Started A high performance web server and a reverse proxy server.

Graylog Web インターフェースにアクセスする

今、ウェブブラウザを開いて URL http://graylog.example.com を入力します。次のように Graylog ログインページにリダイレクトされます。

Graylog ログイン

管理者ユーザー名、パスワードを入力し、ログインボタンをクリックします。次のページに Graylog ダッシュボードが表示されるはずです。

Graylog の使い方

次に、システム >> 概要をクリックします。次のページに Graylog サーバーのステータスが表示されるはずです。

Graylog

結論

おめでとうございます! Nginx をリバースプロキシとして使用して、Ubuntu 20.04 に Graylog サーバーを正常にインストールして設定しました。これで Graylog を探索し、外部ソースから Rsyslog ログを受信するための入力を作成できます。質問があればお気軽にお尋ねください。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。