Graylog(旧称Graylog2)は、オープンソースのログ管理プラットフォームであり、一元化された場所でマシンログを収集、インデックス作成、分析するのに役立ちます。このガイドは、Graylog2をCentOS 7 / RHEL 7にインストールするのに役立ちます。また、Graylog2を強力なログ管理ツールにする他の4つのコンポーネントのインストールにも焦点を当てています。
このチュートリアルは、Graylog2の古いバージョンを対象としています。新しいバージョンはこちらから入手できます:CentOS 7 /RHEL7にGraylogをインストールする方法。Graylogは2つの方法でインストールできます
1.ソースパッケージを使用する。
2.公式のバイナリパッケージを使用する(推奨)。
このチュートリアルでは、バイナリパッケージを使用したグレイログのインストールを示します。
コンポーネント:
1. MongoDB –構成とメタ情報を保存します。
2. Elasticsearch –ログメッセージを保存し、検索機能を提供します。すべてのI / O操作がここで行われるため、ノードには高いメモリが必要です。
3. GrayLog –ログパーサー。さまざまな入力からログを収集します。
4.GrayLogWebインターフェイス=ログを管理するためのWebベースのポータルを提供します。
前提条件:
1. ElasticsearchはJavaに基づいているため、openJDKまたはOracleJDKのいずれかをインストールする必要があります。 OracleJDKをインストールすることをお勧めします。
openJDKを使用するには、以下のコマンドを使用してインストールします。
# yum install java
次のコマンドを使用して、Javaのバージョンを確認します。
# java -version java version "1.8.0_11" Java(TM) SE Runtime Environment (build 1.8.0_11-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)>
2. CentOS 7 /RHEL7でEPELリポジトリを構成します。
Elasticsearchのインストール:
Elasticsearchはオープンソースの検索サーバーであり、RESTfulWebインターフェースを使用してリアルタイムの分散検索と分析を提供します。 Elasticsearchは、Graylogサーバーによって送信されたすべてのログを保存し、GraylogWebインターフェイスがWebインターフェイスを介して完全なユーザー要求を要求したときにメッセージを表示します。
このトピックでは、Graylogに必要な構成設定について説明します。詳細な手順については、CentOS 7 / Ubuntu 14.10 / LinuxMint17.1へのElasticsearchのインストールも参照してください。
Elasticsearchをインストールしましょう。公式ウェブサイトからダウンロードできます。
GPGキーをインポートします。
# rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
Elasticsearchリポジトリを追加します。
# vi /etc/yum.repos.d/elasticsearch.repo [elasticsearch-1.7] name=Elasticsearch repository for 1.7.x packages baseurl=http://packages.elastic.co/elasticsearch/1.7/centos gpgcheck=1 gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch enabled=1
yumコマンドを使用して最新バージョンをインストールします
# yum -y install elasticsearch
システムの起動時に起動するようにElasticseachを構成します。
# systemctl daemon-reload # systemctl enable elasticsearch.service
唯一重要なことは、クラスター名を「 graylog2」として設定することです。 「、それはgraylogによって使用されています。次に、Elasticsearchの構成ファイルを編集します。
# vi /etc/elasticsearch/elasticsearch.yml cluster.name: graylog2
動的スクリプトを無効にして、リモート実行を回避します。これは、上記のファイルの最後に次の行を追加することで実行できます。
script.disable_dynamic: true
それが終わったら、私たちは行ってもいいです。その前に、Elasticsearchサービスを再起動して、変更された構成をロードします。
# systemctl restart elasticsearch.service
Elasticsearchが完全に再起動するまで、少なくとも1分待ちます。そうしないと、テストが失敗します。 ElastisearchはHTTPリクエストを処理するために9200をリッスンする必要があります。CURLを使用してレスポンスを取得できます。クラスタ名が「graylog2」で返されることを確認します 」
# curl -X GET http://localhost:9200 { "status" : 200, "name" : "Silver Fox", "cluster_name" : "graylog2", "version" : { "number" : "1.7.2", "build_hash" : "e43676b1385b8125d647f593f7202acbd816e8ec", "build_timestamp" : "2015-09-14T09:49:53Z", "build_snapshot" : false, "lucene_version" : "4.10.4" }, "tagline" : "You Know, for Search" }
オプション: 次のコマンドを使用してElasticsearchクラスターの状態を確認します。グレーログを機能させるには、クラスターのステータスを「緑」にする必要があります。
# curl -XGET 'http://localhost:9200/_cluster/health?pretty=true' { "cluster_name" : "graylog2", "status" : "green", "timed_out" : false, "number_of_nodes" : 1, "number_of_data_nodes" : 1, "active_primary_shards" : 0, "active_shards" : 0, "relocating_shards" : 0, "initializing_shards" : 0, "unassigned_shards" : 0, "delayed_unassigned_shards" : 0, "number_of_pending_tasks" : 0, "number_of_in_flight_fetch" : 0 }
MongoDBのインストール:
MongoDBはRPM形式で利用でき、公式Webサイトからダウンロードできます。システムに次のリポジトリ情報を追加して、yumを使用してMongoDBをインストールします。
# vi /etc/yum.repos.d/mongodb-org-3.0.repo [mongodb-org-3.0] name=MongoDB Repository baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/ gpgcheck=0 enabled=1
次のコマンドを使用してMongoDBをインストールします。
# yum -y install mongodb-org
SELinuxを使用する場合、SELinuxポリシーの特定の要素を構成するには、以下のパッケージをインストールする必要があります。
# yum -y install policycoreutils-python
次のコマンドを実行して、MongoDBを開始できるようにSELinuxを構成します。
# semanage port -a -t mongod_port_t -p tcp 27017
または、システムでSELinuxを使用したくない場合は、SELinuxを無効にすることを検討してください。
MongoDBサービスを開始し、システムの起動時に自動的に開始できるようにします。
# service mongod start # chkconfig mongod on
上記の手順でgraylog2を構成できます。詳細な構成については、こちらをご覧ください。
Graylog2をインストールします:
Graylog-serverはログメッセージを受け入れて処理し、graylog-web-interfaceからのリクエストに対してRESTAPIも生成します。 graylog.orgからgraylogの最新バージョンをダウンロードします。
次のコマンドを使用して、graylog2リポジトリをインストールします。
# rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-1.2-repository-el7_latest.rpm
最新のgraylogサーバーをインストールします。
# yum -y install graylog-server
server.confファイルを編集します。
# vi /etc/graylog/server/server.conf
上記のファイルで次の変数を構成します。
シークレットを設定してユーザーパスワードを保護し、次のコマンドを使用してシークレットを生成し、64文字以上を使用します。
# pwgen -N 1 -s 96 5uxJaeL4vgP9uKQ1VFdbS5hpAXMXLq0KDvRgARmlI7oxKWQbH9tElSSKTzxmj4PUGlHIpOkoMMwjICYZubUGc9we5tY1FjLB
「pwgen:コマンドが見つかりません 「、次のコマンドを使用してpwgenをインストールします。
注:CentOS 7 /RHEL7でEPELrespoitoryを構成することを忘れないでください。
# yum -y install pwgen
秘密を置く。
password_secret = 5uxJaeL4vgP9uKQ1VFdbS5hpAXMXLq0KDvRgARmlI7oxKWQbH9tElSSKTzxmj4PUGlHIpOkoMMwjICYZubUGc9we5tY1FjLB
次に、rootユーザーのハッシュパスワードを設定します(システムユーザーと混同しないでください。graylogのrootユーザーはadminです)。このパスワードを使用してWebインターフェースにログインします。管理者のパスワードは、Webインターフェースを使用して変更することはできません。設定するには、この変数を編集する必要があります。
「yourpassword」を置き換えます 」を選択してください。
# echo -n yourpassword | sha256sum e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951
ハッシュパスワードを入力します。
root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951
メールアドレスのルート(管理者)ユーザーを設定できます。
root_email = "[email protected]"
ルート(管理者)ユーザーのタイムゾーンを設定します。
root_timezone = UTC
Graylogは、Elasticsearchノードを自動的に見つけようとします。これには、マルチキャストモードが使用されます。ただし、大規模なネットワークの場合は、本番環境のセットアップに最適なユニキャストモードを使用することをお勧めします。したがって、次の2つのエントリをgraylog server.confファイルに追加し、 ipaddressを置き換えます。 ライブホスト名またはIPアドレスを使用すると、コンマで区切って複数のホストを追加できます。
elasticsearch_http_enabled = false elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300
以下の変数を定義してマスターノードを1つだけ設定します。デフォルト設定はtrueです。特定のノードをスレーブにするには、マスターノードをfalseに設定する必要があります。マスターノードは、スレーブが実行しないいくつかの定期的なタスクを実行します。
is_master = true
次の変数は、インデックスごとに保持するログメッセージの数を設定します。大きなインデックスではなく、いくつかの小さなインデックスを使用することをお勧めします。
elasticsearch_max_docs_per_index = 20000000
次のパラメータは、インデックスの総数を定義します。この数に達すると、古いインデックスが削除されます。
elasticsearch_max_number_of_indices = 20
シャードの設定は、実際にはElasticsearchクラスター内のノードの数に依存します。ノードが1つしかない場合は、1に設定してください。
elasticsearch_shards = 1
Elasticsearchクラスターにノードが1つしかない場合の、インデックスのレプリカの数。 0に設定します。
elasticsearch_replicas = 0
MongoDB認証情報を追加します。
mongodb_useauth = false
次のコマンドを使用してgraylogサーバーを起動します。
# systemctl restart graylog-server
サーバーの起動ログを確認できます。問題が発生した場合にグレーログのトラブルシューティングを行うと便利です。
# tailf /var/log/graylog-server/server.log
graylog-serverが正常に起動すると、ログファイルに次のメッセージが表示されます。
2015-09-16T21:26:05.689-04:00 INFO [ServerBootstrap] Graylog server up and running.
Graylog Webインターフェイスをインストールします:
graylog-web-interfaceを設定するには、少なくとも1つのgraylog-serverノードが必要です。以下のコマンドを使用してWebインターフェースをインストールします。
# yum -y install graylog-web
構成ファイルを編集し、次のパラメーターを設定します。
# vi /etc/graylog/web/web.conf
これはgraylog-serverノードのリストです。コンマで区切って複数のノードを追加できます。
graylog2-server.uris="http://127.0.0.1:12900/"
アプリケーションスクレットを設定します。pwgen-N1-s96を使用して生成できます。
application.secret="sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z"
次のコマンドを使用して、gralog-web-interfaceを再起動します。
# systemctl restart graylog-web
Graylog Webインターフェイスへのアクセス:
Webインターフェイスはポート9000でリッスンし、ポート9000でのトラフィックを許可するようにファイアウォールを構成します。
# firewall-cmd --permanent --zone=public --add-port=9000/tcp # firewall-cmd --reload
ブラウザでhttp:// ip-add-ress:9000を指定します 。ユーザー名「admin」とroot_password_sha2で構成したパスワードを使用してログインします on server.conf 。
ログインすると、次の検索ページが表示されます。
これですべてです。CentOS7/RHEL7にGraylog2が正常にインストールされました。
このガイドは、Graylog2の古いバージョンを対象としています。新しいバージョンはこちらから入手できます:CentOS 7 /RHEL7にGraylogをインストールする方法。