このリポジトリでは、Graylogのログ管理システムをDocker Composeを使用して構築する方法を提供します。
このシステムは以下の4つの主要なサービスで構成されています。
- MongoDB (
mongo
) - Graylogのメタデータを保存するデータベース - Elasticsearch (
elasticsearch
) - Graylogのログデータを保存・検索するエンジン - Graylog (
graylog
) - ログを収集、解析、可視化するメインアプリケーション - Filebeat (
filebeat
) - ログをGraylogに転送するためのエージェント
- MongoDB 4.4.18
- Elasticsearch 7.10.2 (OSS版)
- Graylog 4.1
- Filebeat
Graylogのコンテナは以下の環境変数を使用します。
GRAYLOG_PASSWORD_SECRET
- パスワード暗号化のための秘密キー(任意の長い文字列を設定)GRAYLOG_ROOT_PASSWORD_SHA2
- SHA2でハッシュ化された管理者パスワードGRAYLOG_HTTP_EXTERNAL_URI
- Graylog Webインターフェースの外部URL
以下のポートがホストマシンに公開されます。
9000:9000
- Graylog Web UI5044:5044
- Filebeatログ転送用ポート12201:12201/udp
- Syslog UDP入力用ポート
.env
ファイルを作成し、必要な環境変数(GRAYLOG_PASSWORD_SECRET
とGRAYLOG_ROOT_PASSWORD_SHA2
)を設定します。GRAYLOG_PASSWORD_SECRET
を生成するには、次のコマンドを実行してください:出力された文字列をpwgen -N 1 -s 96
.env
ファイルにメモします。GRAYLOG_ROOT_PASSWORD_SHA2
を生成するには、次のコマンドを実行してください:echo -n <yourPassword> | shasum -a 256
<yourPassword>
を自分の管理者パスワードに置き換え、出力されたSHA-256ハッシュを.env
ファイルにメモします。
docker-compose up -d
を実行し、すべてのサービスを起動します。- ブラウザで http://127.0.0.1:9000 にアクセスします。
- 管理者アカウントでログイン(デフォルトは
admin
/ 設定したGRAYLOG_ROOT_PASSWORD_SHA2
) - 必要に応じてGraylogの設定をカスタマイズします。
.
├── docker-compose.yml # Docker Compose定義ファイル
├── filebeat/ # FilebeatのDockerビルド用ディレクトリ
│ ├── Dockerfile # FilebeatのDockerfile
│ ├── filebeat.yml # Filebeatの設定ファイル
システムを停止するには、以下のコマンドを実行してください。
docker-compose down
GRAYLOG_ROOT_PASSWORD_SHA2
にはSHA2でハッシュ化したパスワードを設定してください。- Elasticsearch 7.10.2を使用しているため、それ以外のバージョンでは互換性に注意してください。
filebeat
はcloudflared.log
のログをGraylogに転送するよう設定されています。必要に応じて変更してください。