Graylog(旧称Graylog2)は、オープンソースのログ管理プラットフォームであり、一元化された場所でマシンログを収集、インデックス作成、分析するのに役立ちます。このガイドは、ソースを使用してCentOS 7 / RHEL 7にGraylog2をインストールするのに役立ちます。また、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のいずれかをインストールする必要があります。 Oracle JDKをインストールし、次のコマンドを使用して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をインストールしましょう。公式ウェブサイトからダウンロードできます。次のコマンドを使用して、ターミナルからダウンロードしてインストールできます。
# wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.4.4.noarch.rpm # rpm -Uvh elasticsearch-1.4.4.noarch.rpm
システムの起動時に起動するように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" : "Sinister", "cluster_name" : "graylog2", "version" : { "number" : "1.4.4", "build_hash" : "c88f77ffc81301dfa9dfd81ca2232f09588bd512", "build_timestamp" : "2015-02-19T13:05:36Z", "build_snapshot" : false, "lucene_version" : "4.10.3" }, "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 }
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 install -y mongodb-org
次のコマンドを実行して、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からダウンロードし、次のコマンドを使用してターミナルを使用してダウンロードします。
# wget https://packages.graylog2.org/releases/graylog2-server/graylog-1.0.1.tgz
抽出して/optに移動します。
# tar -zxvf graylog-1.0.1.tgz # mv graylog-1.0.1 /opt/graylog
サンプル構成ファイルを/etc/ graylog / serverにコピーし、ディレクトリが存在しない場合は作成します。
# mkdir -p /etc/graylog/server # cp /opt/graylog/graylog.conf.example /etc/graylog/server/server.conf
server.confファイルを編集します。
# vi /etc/graylog/server/server.conf
上記のファイルで次の変数を構成します。
シークレットを設定してユーザーパスワードを保護し、次のコマンドを使用してシークレットを生成し、64文字以上を使用します。
# pwgen -N 1 -s 96 5uxJaeL4vgP9uKQ1VFdbS5hpAXMXLq0KDvRgARmlI7oxKWQbH9tElSSKTzxmj4PUGlHIpOkoMMwjICYZubUGc9we5tY1FjLB
「pwgen:コマンドが見つかりません 「、次のコマンドを使用してpwgenをインストールします。
# yum -y install pwgen
秘密を置く。
password_secret = 5uxJaeL4vgP9uKQ1VFdbS5hpAXMXLq0KDvRgARmlI7oxKWQbH9tElSSKTzxmj4PUGlHIpOkoMMwjICYZubUGc9we5tY1FjLB
次に、rootユーザーのハッシュパスワードを設定します(システムユーザーと混同しないでください。graylogのrootユーザーはadminです)。このパスワードを使用してWebインターフェースにログインします。管理者のパスワードは、Webインターフェースを使用して変更することはできません。設定するには、この変数を編集する必要があります。
「yourpassword」を置き換えます 」を選択してください。
# echo -n yourpassword | sha256sum e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951
ハッシュパスワードを入力します。
root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951
Graylogは、Elasticsearchノードを自動的に見つけようとします。これには、マルチキャストモードが使用されます。ただし、大規模なネットワークの場合は、本番環境のセットアップに最適なユニキャストモードを使用することをお勧めします。したがって、次の2つのエントリをgraylogserver.confファイルに追加します。IPアドレスを置き換えます ライブホスト名または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 Configuration mongodb_useauth = false #If this is set to false, you do not need to enter the authentication information #mongodb_user = grayloguser #mongodb_password = 123 mongodb_host = 127.0.0.1 #mongodb_replica_set = localhost:27017,localhost:27018,localhost:27019 mongodb_database = graylog2 mongodb_port = 27017
次のコマンドを使用してgraylogサーバーを起動します。
# /opt/graylog/bin/graylogctl start
サーバーの起動ログを確認できます。問題が発生した場合にグレーログのトラブルシューティングを行うと便利です。
# tailf /opt/graylog/log/graylog-server.log
graylog-serverが正常に起動すると、ログファイルに次のメッセージが表示されます。
2015-03-23 16:28:15,825 INFO : org.graylog2.shared.initializers.RestApiService - Started REST API at <http://127.0.0.1:12900/>
また、Graylogサーバーの初期化スクリプトを構成することもできます。
Graylog Webインターフェイスをインストールします:
graylog-web-interfaceを設定するには、少なくとも1つのgraylog-serverノードが必要です。同じバージョン番号をダウンロードして、互換性があることを確認してください
# wget https://packages.graylog2.org/releases/graylog2-web-interface/graylog-web-interface-1.0.1.tgz
アーカイブを抽出して/optに移動します。
# tar -zxvf graylog-web-interface-1.0.1.tgz # mv graylog-web-interface-1.0.1 /opt/graylog-web-interface
構成ファイルを編集し、次のパラメーターを設定します。
# vi /opt/graylog-web-interface/conf/graylog-web-interface.conf
これはgraylog-serverノードのリストです。コンマで区切って複数のノードを追加できます。
graylog2-server.uris="http://127.0.0.1:12900/"
アプリケーションスクレットを設定し、pwgen -N 1-s96を使用して生成できます。
application.secret="sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z"
次のコマンドを使用して、バックグラウンドでgralog-web-interfaceを起動します。
# nohup /opt/graylog-web-interface/bin/graylog-web-interface &
また、Graylog-Web-InterfaceのInitスクリプトを構成することもできます。
Webインターフェイスはポート9000でリッスンします。ブラウザでポート9000を指定します。ユーザー名adminとroot_password_sha2で構成したパスワードを使用してログインします on server.conf 。
ポート9000でのトラフィックを許可するようにファイアウォールを構成します。
firewall-cmd --permanent --zone=public --add-port=9000/tcp firewall-cmd --reload
ログインすると、次の検索ページが表示されます。
これですべてです。CentOS7/RHEL7にGraylog2が正常にインストールされました。
このチュートリアルは、Graylog2の古いバージョンを対象としています。新しいバージョンはこちらから入手できます:CentOS 7 /RHEL7にGraylogをインストールする方法。