ログ管理 · 2 min read · Dec 09, 2025

Debian 11でGraylogを使用した集中ログシステムの設定方法

Graylogは、データとログのキャプチャ、保存、リアルタイム分析を可能にする無料のオープンソースのログ管理プラットフォームです。Javaで書かれており、MongoDBやElasticsearchなどの他のオープンソースソフトウェアの上に構築されています。Graylogは、最も効率的で迅速かつ柔軟な集中ログ管理プラットフォームの1つを提供します。

Graylogを使用すると、ほぼすべてのデータソースから構造化データと非構造化データの両方を送信および分析できます。

このチュートリアルでは、Debian 11システムにGraylogを集中ログシステムとしてインストールおよび構成する方法を示します。また、GraylogサーバーのリバースプロキシとしてNginxウェブサーバーを設定する方法も示します。

前提条件

  • 4GBのRAMを搭載したLinux Debian 11サーバー。
  • sudoまたは管理者権限を持つ非rootユーザー。

基本パッケージ依存関係のインストール

このチュートリアルの最初の段階では、JavaやGnuPGを含むいくつかの基本的なパッケージ依存関係をインストールします。

パッケージのインストールを開始する前に、以下のaptコマンドを実行して現在のDebianリポジトリを更新およびリフレッシュします。

sudo apt update

次に、以下のコマンドを使用してGraylogのためのいくつかのパッケージ依存関係をインストールします。

sudo apt install apt-transport-https openjdk-11-jre-headless uuid-runtime pwgen dirmngr gnupg wget

インストールを確認するためにYを入力し、ENTERを押して続行します。

基本依存関係のインストール

インストールが完了したら、次のステップに進み、Graylogの別の依存関係であるMongoDBとElasticsearchをインストールします。

MongoDBのインストール

Graylogは、NoSQL MongoDBデータベースを使用して、Graylogの設定、ストリーム、アラート、ユーザー、キャッシュされたストリームなどのすべての情報を保存します。GraylogのWebインターフェースで見るすべての情報は、ログ自体を除いてMongoDB NoSQLデータベースに保存されます。現在のGraylogのバージョンでは、MongoDB v4からv4.4が必要です。

以下のコマンドを実行して、MongoDBのGPGキーとリポジトリをDebianサーバーに追加します。

wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -  
echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list

次のコマンドを使用してDebianリポジトリをリフレッシュします。

sudo apt update

以下のスクリーンショットのように、MongoDBリポジトリがDebianサーバーに追加されました。

mongodbリポジトリの追加

次に、以下のaptコマンドを使用してMongoDBパッケージをインストールします。

sudo apt install -y mongodb-org

MongoDBデータベースのインストールが始まります。

mongodbのインストール

MongoDBのインストールが完了したら、以下のコマンドを実行してsystemdマネージャーをリロードします。これはMongoDBサービスを開始する前に必要です。

sudo systemctl daemon-reload

次に、以下のコマンドを実行してMongoDBサービスを有効にし、再起動します。MongoDBサービスは起動し、システム起動時に自動的に実行されます。

sudo systemctl enable mongod.service  
sudo systemctl restart mongod.service

以下のコマンドを使用してMongoDBサービスを確認します。

sudo systemctl status mongod

以下のスクリーンショットのように、MongoDBサービスが実行中であり、有効になっています。

mongodbの開始と確認

次のステージに進み、Elasticsearchをインストールします。

Elasticsearchのインストール

MongoDB NoSQLデータベースのインストールが完了したら、次にElasticsearchをインストールする必要があります。Graylogサーバーは、ログを検索するための検索エンジンとしてElasticsearchを使用します。現在のバージョンでは、GraylogはElasticsearch v6.8またはv7.xからv7.10が必要です。

Elasticsearchをインストールする前に、以下のコマンドを実行してElasticsearchのGPGキーとリポジトリをDebianシステムに追加します。

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

次に、Debianリポジトリを更新およびリフレッシュします。

sudo apt update

以下のスクリーンショットのように、ElasticsearchリポジトリがDebianサーバーに追加されました。

elasticsearchリポジトリの追加

次に、以下のaptコマンドを使用してElasticsearchパッケージをインストールします。

sudo apt install elasticsearch-oss

Elasticsearchのインストールが始まります。

elasticsearchのインストール

インストールが完了したら、以下のコマンドを実行してElasticsearchの設定ファイル/etc/elasticsearch/elasticsearch.ymlに設定を追加します。以下の設定は、”graylog“という名前の新しいElasticsearchクラスターを作成し、Elasticsearchでのインデックスの自動作成を無効にします。

sudo tee -a /etc/elasticsearch/elasticsearch.yml > /dev/null << EOT  
cluster.name: graylog  
action.auto_create_index: false  
EOT

Elasticsearchサービスを開始する前に、以下のコマンドを実行してsystemdマネージャーをリロードします。

sudo systemctl daemon-reload

次に、以下のコマンドを実行してElasticsearchサービスを有効にし、再起動します。これにより、Elasticsearchがシステム起動時に追加され、サービスが開始されます。

sudo systemctl enable elasticsearch.service  
sudo systemctl restart elasticsearch.service

最後に、以下のコマンドを使用してElasticsearchサービスを確認します。

sudo systemctl status elasticsearch.service

以下のスクリーンショットのように、Elasticsearchサービスが実行中であり、有効になっています。

elasticsearchの開始と確認

さらに、curlを使用してElasticsearchのインストールを確認することもできます。Elasticsearchはデフォルトのポート9200で実行されているため、以下のcurlコマンドを実行します。

curl http://localhost:9200/

以下のような出力メッセージが表示されます。クラスター名graylogのElasticsearch v7.xがDebianサーバーにインストールされています。

elasticsearchの確認

これで、GraylogサーバーをDebianサーバーにインストールする準備が整いました。

Graylogサーバーのインストールと構成

Graylogのインストールを開始するには、Graylogリポジトリの.debファイルをダウンロードし、以下のコマンドを使用してインストールする必要があります。

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

次に、Debianリポジトリを更新およびリフレッシュします。

sudo apt update

以下のように、GraylogリポジトリがDebianサーバーに追加されました。

graylogリポジトリの追加

次に、以下のaptコマンドを使用してGraylogパッケージをDebianサーバーにインストールします。

sudo apt install graylog-server graylog-enterprise-plugins graylog-integrations-plugins graylog-enterprise-integrations-plugins

Graylogのインストールが始まります。

インストールが完了したら、以下のコマンドを実行して、パスワードの暗号化とソルトに使用されるGraylogのpassword_secretを生成します。Graylogのpassword_secretは、複数のノードでGraylogクラスターを実行している場合は同じでなければなりません。また、Graylogのpassword_secretには、ランダムな文字列と数字が最小65必要です。

pwgen -N 1 -s 96

生成されたランダム文字列をGraylogのpassword_secretとしてメモします。

次に、以下のコマンドを実行してsha256で暗号化されたパスワードを生成します。このパスワードはGraylogの管理者パスワードとして使用されます。

echo -n "Enter Password: " && head -1 

Graylogの管理者パスワードのためにパスワードを入力します。生成された暗号化されたパスワードsha256が表示されます。暗号化されたパスワードをメモします。

次に、nanoエディタを使用してGraylogサーバーの設定/etc/graylog/server/server.confを編集します。

sudo nano /etc/graylog/server/server.conf

生成されたGraylogのpassword_secretとGraylogの管理者パスワードをroot_password_sha2にコピー&ペーストします。

password_secret = Eqq4M8EHpKbGfgi6C05t19hJ5WmF3nkVS8yjwclYHtvwsTXRulNHEsaWuy85QUTNIUc6b2ovfRjvR7yD5kwNTPAJCCw39T3d  
root_password_sha2 = 05a181f00c157f70413d33701778a6ee7d2747ac18b9c0fbb8bd71a62dd7a223

完了したら、ファイルを保存して閉じます。

次に、Graylogサーバーサービスを開始する前に、以下のコマンドを実行してsystemdマネージャーをリロードします。

sudo systemctl daemon-reload

次に、以下のコマンドを使用してGraylogサーバーサービスを有効にし、開始します。

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

Graylogサーバーが稼働しているか確認するには、以下のコマンドを使用します。

sudo systemctl status graylog-server.service

以下のスクリーンショットのように、Graylogサーバーサービスが実行中であり、有効になっています。

graylogサービスの確認

これでGraylogのインストールが完了し、デフォルトのlocalhostでポート9000で実行されています。

Nginxをリバースプロキシとして設定

Graylogサーバーのインストールと構成が完了したら、NginxウェブサーバーをGraylogサーバーのリバースプロキシとしてインストールおよび構成します。これにより、ドメイン名でGraylogを実行できるようになります。

以下のコマンドを使用して、DebianサーバーにNginxパッケージをインストールします。

sudo apt install nginx -y

インストールが始まります。

インストールが完了したら、nanoエディタを使用して新しいNginx仮想ホストまたはサーバーブロック/etc/nginx/sites-available/graylog.confを作成します。

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

以下のNginx設定を追加します。これにより、http://127.0.0.1:9000/で実行されているGraylogサーバーのリバースプロキシとしてNginxが有効になります。

server  
{  
    listen 80 default_server;  
    listen [::]:80 default_server ipv6only=on;  
    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;  
    }  
}

完了したら、ファイルを保存して閉じます。

次に、以下のコマンドを実行してgraylog.confの設定を有効にします。その後、nginxの設定を確認します。

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

テストが成功したという出力メッセージが表示されることを確認してください。

最後に、以下のコマンドを使用してNginxサービスを再起動し、新しい仮想ホスト設定を適用します。

sudo systemctl restart nginx

今、ウェブブラウザを開いてGraylogインストールURLのドメイン名にアクセスします。

http://graylog.howtoforge.local/

以下のGraylogログインページが表示されます。デフォルトの管理ユーザーとパスワード(root_password_sha2)を入力し、ログインボタンをクリックします。

graylogログインページ

ログインすると、以下のGraylogダッシュボードが表示されます。

graylogダッシュボード

これで、Nginxリバースプロキシの下でGraylogを実行する準備が整いました。

結論

おめでとうございます!Debian 11サーバーのGraylogサーバーのインストールと構成が完了しました。また、GraylogサーバーのリバースプロキシとしてNginxの設定も完了しました。

Share: X/Twitter LinkedIn

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

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