Graylogは、中央サーバーからネットワークシステムのログを監視するために使用できる無料のオープンソースログ管理ソフトウェアツールです。 Elasticsearchを使用してログデータを保存して検索機能を提供し、MongoDBを使用してメタ情報を保存します。大量のデータを監視、検索、分析して、簡単に読み取れる形式にするのに役立ちます。
このチュートリアルでは、GraylogをUbuntu20.04サーバーにインストールする方法を説明します。
- 4GB以上のRAMを搭載したUbuntu20.04を実行しているサーバー
- rootパスワードが設定されています。
まず、システムパッケージを最新バージョンに更新する必要があります。次のコマンドですべてを更新できます:
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バージョン"11.0.8"2020-07-14OpenJDKランタイム環境(ビルド11.0.8 + 10-post-Ubuntu-0ubuntu120.04)OpenJDK 64ビットサーバーVM(ビルド11.0.8 + 10-post-Ubuntu -0ubuntu120.04、混合モード、共有)
終了したら、次のステップに進むことができます。
GraylogはElasticsearchを使用して、外部リソースからのログを保存します。そのため、システムにElasticsearchをインストールする必要があります。
デフォルトでは、Elasticsearchの最新バージョンはUbuntuのデフォルトリポジトリでは利用できません。そのため、システムにElasticsearchリポジトリを追加する必要があります。
まず、次のコマンドを使用してElasticsearchGPGキーをダウンロードして追加します。
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:graylogaction.auto_create_index:false
終了したら、ファイルを保存して閉じます。次に、Elasticsearchサービスを開始し、次のコマンドを使用して起動時に開始できるようにします。
systemctlデーモン-リロード
systemctlstart Elasticsearch
systemctl enable Elasticsearch
次のコマンドを使用して、Elasticsearchサービスのステータスを確認することもできます。
systemctl status Elasticsearch
次の出力が得られるはずです:
? Elasticsearch.service-Elasticsearchロード済み:ロード済み(/lib/systemd/system/elasticsearch.service;無効;ベンダープリセット:有効)アクティブ:アクティブ(実行中)Sat 2020-09-05 08:41:18 UTC; 9秒前ドキュメント:http://www.elastic.coメインPID:7085(java)タスク:17(制限:2353)メモリ: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]:Elasticsearchを開始しました。
次に、次のコマンドを使用してElasticcsearchの応答を確認します。
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 =Wv4VQWCAA9sRbL7pxPeY7tb9lSo50esEWgNXxXHypx0Og3CezMmQLdF2QzQdRSIXmNXKINjRvZpPTrvZv4k4NlJrFYTfOc3croot_password_sha2 =5e884次に、以下に示すように、サーバーにバインドアドレスを定義する必要もあります。
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サーバーロード済み:ロード済み(/lib/systemd/system/graylog-server.service;無効;ベンダープリセット:有効)アクティブ:アクティブ(実行中)(土2020-09-05 08:50:16以降) UTC; 15分前ドキュメント:http://docs.graylog.org/メインPID:8693(graylog-server)タスク:156(制限:2353)メモリ: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]:Graylogサーバーを開始しました。次のコマンドを使用して、Graylogサーバーログを確認することもできます。
tail -f /var/log/graylog-server/server.logGraylogサーバーが正常に起動すると、次の出力が表示されます。
2020-09-05T08:51:36.473Z INFO [ServerBootstrap]サービスが開始され、起動時間(ミリ秒):{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.477ZINFO[ServerBootstrap]グレイログサーバーが稼働中。この時点で、Graylogサーバーが起動し、ポート9000でリッスンしています。
NginxをGraylogのリバースプロキシとして構成する
次に、Graylogサーバーにアクセスするために、Nginxをリバースプロキシとしてインストールして構成する必要があります。
まず、次のコマンドを使用してNginxサーバーをインストールします。
apt-get install nginx -yNginxサーバーをインストールした後、次のコマンドを使用して新しいNginx仮想ホスト構成ファイルを作成します。
nano /etc/nginx/sites-available/graylog.conf次の行を追加します:
server {listen 80; server_name graylog.example.org;場所/{proxy_set_headerホスト$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を確認します。
nginx -t次の出力が得られるはずです:
nginx:構成ファイル/etc/nginx/nginx.conf構文はoknginx:構成ファイル/etc/nginx/nginx.confテストは成功しました次に、次のコマンドを使用してNginx仮想ホスト構成ファイルを有効にします。
ln -s /etc/nginx/sites-available/graylog.conf /etc/nginx/sites-enabled/最後に、Nginxサービスを再起動して、変更を適用します。
systemctl restart nginx次に、次のコマンドを使用して、Graylogのステータスを確認します。
systemctl status nginx次の出力が得られるはずです:
? nginx.service-高性能Webサーバーとリバースプロキシサーバーロード済み:ロード済み(/lib/systemd/system/nginx.service;有効;ベンダープリセット:有効)アクティブ:アクティブ(実行中)(土曜日2020-09-05 09以降) :07:50 UTC; 20秒前ドキュメント:man:nginx(8)プロセス:9408 ExecStartPre =/ usr / sbin / nginx -t-q-gデーモンオン; master_process on; (code =exited、status =0 / SUCCESS)プロセス:9419 ExecStart =/ usr / sbin /nginx-gデーモンオン; master_process on; (code =exited、status =0 / SUCCESS)メインPID:9423(nginx)タスク:3(制限:2353)メモリ:10.2M CGroup:/system.slice/nginx.service ?? 9423 nginx:マスタープロセス/ usr / sbin /nginx-gデーモンオン; master_process on; ?? 9424 nginx:ワーカープロセス?? 9425 nginx:ワーカープロセスSep 05 09:07:50 ubuntu2004 systemd [1]:高性能Webサーバーとリバースプロキシサーバーを起動しています... Sep 05 09:07:50 ubuntu2004 systemd [ 1]:高性能Webサーバーとリバースプロキシサーバーを開始しました。アクセスGraylogWebインターフェイス 次に、Webブラウザーを開き、URLhttp://graylog.example.comを入力します。以下に示すように、Graylogログインページにリダイレクトされます。
![]()
管理者のユーザー名とパスワードを入力し、ログインをクリックします ボタン。次のページにGraylogダッシュボードが表示されます。
![]()
次に、システム>>概要をクリックします。 。次のページにGraylogサーバーのステータスが表示されます。
![]()
結論 おめでとう!これで、Ubuntu20.04にリバースプロキシとしてNginxを使用してGraylogサーバーが正常にインストールおよび構成されました。これで、Graylogを調べて、外部ソースからRsyslogログを受信するための入力を作成できます。ご不明な点がございましたら、お気軽にお問い合わせください。
Ubuntu