Graylogは、中央の場所でマシンログを収集、保存、分析するのに役立つオープンソースのログ管理ツールです。
ご使用の環境でGraylogを設定するには、以下のソフトウェアが必要です。
- MongoDB –構成とメタ情報を保存します。
- Elasticsearch – Graylogサーバーから受信したログメッセージを保存し、必要なときにいつでもそれらを検索する機能を提供します。 Elasticsearchは、データのインデックス作成を行うのと同じようにリソース管理者であるため、より多くのメモリを割り当て、SASまたはSANディスクを使用します。
- Graylogサーバー–さまざまな入力からのログを解析し、それらのログを処理するための組み込みのWebインターフェイスを提供します。
このガイドは、CentOS 8 /RHEL8にGraylogをインストールするのに役立ちます。
EPELリポジトリ
EPELリポジトリを有効にして、必要なユーティリティをダウンロードしてインストールする必要があります。
Graylogをインストールするには、以下のパッケージをインストールする必要があります。
dnf install -y wget pwgen perl-Digest-SHA
Elasticsearchでは、Javaがマシンにインストールされている必要があります。したがって、OpenJDKまたはOracleJDKのいずれかをインストールします。
dnf install -y java-1.8.0-openjdk-headless
Javaのバージョンを確認してください。
java -version
出力:
openjdk version "1.8.0_242" OpenJDK Runtime Environment (build 1.8.0_242-b08) OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)
Elasticsearchは、Graylogセットアップの重要なソフトウェアの1つです。 Elasticsearhの目的は、Graylog入力からのデータを保存し、要求に応じてGraylog組み込みWebインターフェイスを介して表示することです。
GraylogはEleasticsearchv6.xをサポートしています。
インストール前にGPG署名キーをインポートします。
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
公式リポジトリからElasticsearchv6.xパッケージを取得するようにリポジトリを設定します。
cat << EOF > /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/oss-6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
次に、dnfコマンドを使用してElasticsearchパッケージをインストールします。
dnf install -y elasticsearch-oss
ElasticsearchをGraylogセットアップで機能させるには、クラスター名をgraylogに設定する必要があります。
Elasticsearch.ymlファイルを編集します。
vi /etc/elasticsearch/elasticsearch.yml
以下に示すように、更新してください。
cluster.name: graylog action.auto_create_index: false
systemctlデーモンをリロードし、Elasticsearchがシステムの起動時に自動的に開始できるようにします。
systemctl daemon-reload
systemctl enable elasticsearch
Elasticsearchを再起動します。
systemctl restart elasticsearch
Elasticsearchを完全に開始するには、1〜2分かかります。
Elastisearchは、HTTPリクエストを処理するために9200をリッスンする必要があります。 CURLコマンドを使用して応答を確認します。
curl -X GET http://localhost:9200
クラスタ名はgraylogである必要があります。
{ "name" : "eaTfFg6", "cluster_name" : "graylog", "cluster_uuid" : "u-ageNH-RHGIzpfxDtNsgQ", "version" : { "number" : "6.8.6", "build_flavor" : "oss", "build_type" : "rpm", "build_hash" : "3d9f765", "build_date" : "2019-12-13T17:11:52.013738Z", "build_snapshot" : false, "lucene_version" : "7.7.2", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" }
MongoDBをインストールする
MongoDBは、構成とメタ情報を格納するデータベースとして機能します。
GraylogはMongoDBv4.0のみをサポートします。MongoDBの公式リポジトリを使用して、必要なバージョンを取得します。
cat << EOF > /etc/yum.repos.d/mongodb-org-4.0.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8Server/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
EOF
次のコマンドを使用して、MongoDBのコミュニティエディションをインストールします。
dnf install -y mongodb-org
MongoDBサービスを開始し、システムの起動時に有効にします。
systemctl start mongod
systemctl enable mongod
Graylogサーバーは、さまざまな入力からのログメッセージを受け入れて処理し、Elasticsearchを使用してgraylogWebインターフェイスからのリクエストにデータを表示します。
Graylogリポジトリrpmをインストールして、リポジトリ構成を自動セットアップします。
dnf install -y https://packages.graylog2.org/repo/packages/graylog-3.2-repository_latest.rpm
次のコマンドを使用してGraylogサーバーをインストールします。
dnf install -y graylog-server
server.confファイルを編集して、graylog構成を開始します。
vi /etc/graylog/server/server.conf
次のコマンドを使用してシークレットを作成します
pwgen -N 1 -s 96
出力:
1dcw10Snsvk1bKgkARGNaalO3QeZqkPG8pUcbJO3oF5ktYvDUeqRTaErFixOR95Nrv40FCFRClXIdnxwknGtl4HDrTspWmom
server.confファイルにシークレットを配置します。
password_secret = 1dcw10Snsvk1bKgkARGNaalO3QeZqkPG8pUcbJO3oF5ktYvDUeqRTaErFixOR95Nrv40FCFRClXIdnxwknGtl4HDrTspWmom
rootユーザー、つまり、graylogの管理者のハッシュパスワードを設定します。 Graylog Webインターフェイスにログインするには、このパスワードが必要です。
Gralog adminの忘れたパスワードを変更/リセットしたい場合は、ハッシュ化されたパスワードを使用してserver.confを編集/更新できます。以下のコマンドを使用して、ハッシュ化されたパスワードを生成します。あなたのパスワードをあなたの選択したものに置き換えてください。
echo -n yourpassword | shasum -a 256
出力:
e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951
ハッシュパスワードを入力します。
root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951
管理者ユーザーのメールアドレスを設定できます。
root_email = "[email protected]"
ルート(管理者)ユーザーのタイムゾーンを設定します。
root_timezone = UTC
GraylogWebインターフェイスを構成します
Graylogバージョン2.xから、WebインターフェイスはGraylogサーバーによって直接提供されます。 server.confファイルを編集してGraylogWebインターフェイスを有効にします。
vi /etc/graylog/server/server.conf
エントリを変更して、GraylogWebインターフェイスがGraylogサーバーに接続できるようにします。 192.168.0.10をシステムのIPアドレスに置き換えます。
http_bind_address = 192.168.0.10:9000NATが原因でパブリックIPアドレスを使用してGraylogにアクセスした場合は、以下の値を更新してください。それ以外の場合はスキップします。
http_external_uri = http://public_ip:9000/
Graylogサービスを再起動します。
systemctl daemon-reload
systemctl restart graylog-server
システムの起動時にGraylogサーバーが自動的に起動するようにします。
systemctl enable graylog-server
サーバーの起動ログをチェックして、Graylogの問題のトラブルシューティングを行うことができます。
tail -f /var/log/graylog-server/server.log
すべてがうまくいけば、server.logファイルにサーバーが稼働しているというメッセージが表示されます。
2020-02-08T10:26:54.484-05:00 INFO [ServerBootstrap] Graylog server up and running.
CentOS 8 / RHEL 8では、ファイアウォールルールは、デフォルトで外部マシンからのほとんどのトラフィックをブロックするように設定されています。
外部マシンからアクセスできるように、GraylogWebインターフェイスの許可ルールを追加します。
firewall-cmd --permanent --add-port=9000/tcp
firewall-cmd --reload
以下のURLにアクセスしてWebインターフェースにアクセスしてください。
http://ip.add.re.ss:9000ユーザー名adminと、server.confのroot_password_sha2で構成したパスワードを使用してログインします。
ログインすると、スタートページが表示されます。
システムをクリックします »概要 グレイログサーバーのステータスを知るため。
それで全部です。 CentOS 8 / RHEL 8にGraylogが正常にインストールされました。次の記事では、外部ソースからRsyslogログを受信するようにGraylogを構成します。さらに読むと、NginxまたはApacheをリバースプロキシとして構成し、GraylogWebインターフェイスにHTTPSを設定してみることができます。