Graylog(旧称Graylog2)は、オープンソースのログ管理プラットフォームであり、一元化された場所でマシンログを収集、インデックス作成、分析するのに役立ちます。このガイドは、Ubuntu 15.04にGraylog2をインストールするのに役立ちます。また、Graylog2を強力なログ管理ツールにする他の4つのコンポーネントのインストールにも焦点を当てています。
コンポーネント:
1. MongoDB –構成とメタ情報を保存します。
2. Elasticsearch –ログメッセージを保存し、検索機能を提供します。すべてのI / O操作がここで行われるため、ノードには高いメモリが必要です。
3. GrayLog –ログパーサー。さまざまな入力からログを収集します。
4.GrayLogWebインターフェイス=ログを管理するためのWebベースのポータルを提供します。
前提条件:
ElasticsearchはJavaに基づいているため、openJDKまたはOracleJDKのいずれかをインストールする必要があります。 Oracle JDKをインストールし、次のコマンドを使用してJavaのバージョンを確認することをお勧めします。
$ java -version java version "1.8.0_60" Java(TM) SE Runtime Environment (build 1.8.0_60-b27) Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)>
Elasticsearchのインストール:
Elasticsearchはオープンソースの検索サーバーであり、RESTfulWebインターフェースを使用してリアルタイムの分散検索と分析を提供します。 Elasticsearchは、Graylogサーバーによって送信されたすべてのログを保存し、GraylogWebインターフェイスがWebインターフェイスを介して完全なユーザー要求を要求したときにメッセージを表示します。このトピックでは、Graylogに必要な構成設定について説明します。詳細な手順については、CentOS 7 / Ubuntu 14.10 / LinuxMint17.1へのElasticsearchのインストールも参照してください。
Elasticsearchをインストールしましょう。公式ウェブサイトからダウンロードできます。
GPG署名キーをダウンロードしてインストールします。
$ sudo wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
リポジトリ定義を/etc/apt/sources.list.d/elasticsearch.list
に保存します$ echo "deb http://packages.elastic.co/elasticsearch/1.7/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch.list
リポジトリキャッシュを更新します。
$ sudo apt-get update
Elasticsearchをインストールします。
$ sudo apt-get install elasticsearch
システムの起動中に開始するようにElasticsearchを構成します。
$ sudo systemctl start elasticsearch $ sudo systemctl enable elasticsearch
唯一重要なことは、クラスター名を「 graylog2」として設定することです。 「、それはgraylogによって使用されています。次に、Elasticsearchの構成ファイルを編集します。
$ sudo nano /etc/elasticsearch/elasticsearch.yml cluster.name: graylog2
動的スクリプトを無効にして、リモート実行を回避します。これは、上記のファイルの最後に次の行を追加することで実行できます。
script.disable_dynamic: true
それが終わったら、私たちは行ってもいいです。その前に、Elasticsearchサービスを再起動して、変更された構成をロードします。
$ sudo systemctl restart elasticsearch
Elasticsearchが完全に再起動するまで、少なくとも1分待ちます。そうしないと、テストが失敗します。 ElastisearchはHTTPリクエストを処理するために9200をリッスンする必要があります。CURLを使用してレスポンスを取得できます。クラスタ名が「graylog2」で返されることを確認します 」
$ curl -X GET http://localhost:9200 { "status" : 200, "name" : "Pistol", "cluster_name" : "graylog2", "version" : { "number" : "1.7.1", "build_hash" : "b88f43fc40b0bcd7f173a1f9ee2e97816de80b19", "build_timestamp" : "2015-07-29T09:54:16Z", "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はdep形式で利用でき、公式Webサイトからダウンロードできます。システムに次のリポジトリ情報を追加して、MongoDBをインストールします。その前に、公開鍵をインポートする必要があります。
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
コマンドを使用して/etc/apt/sources.list.d/mongodb-org-3.0.listリストファイルを作成し、リポジトリを追加します。
### Ubuntu 15.04 / 14.10 ### $ echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
リポジトリキャッシュを更新します。
$ sudo apt-get update
次のコマンドを使用してMongoDBをインストールします。
$ sudo apt-get install mongodb-org
MongoDBサービスを開始し、システムの起動時に自動的に開始できるようにします。
$ sudo systemctl start mongod $ sudo systemctl enable mongod
Graylog2をインストールします:
Graylog-serverはログメッセージを受け入れて処理し、graylog-web-interfaceからのリクエストに対してRESTAPIも生成します。グレイログの最新バージョンをgraylog.orgからダウンロードし、次のコマンドを使用してターミナルを使用してダウンロードします。
$ wget https://packages.graylog2.org/releases/graylog2-server/graylog-1.1.6.tgz
抽出して/optに移動します。
$ sudo tar -zxvf graylog-1.1.6.tgz $ sudo mv graylog-1.1.6/ /opt/graylog
サンプル構成ファイルを/etc/ graylog / serverにコピーし、ディレクトリが存在しない場合は作成します。
$ sudo mkdir -p /etc/graylog/server $ sudo cp /opt/graylog/graylog.conf.example /etc/graylog/server/server.conf
server.confファイルを編集します。
$ sudo nano /etc/graylog/server/server.conf
上記のファイルで次の変数を構成します。
シークレットを設定してユーザーパスワードを保護し、次のコマンドを使用してシークレットを生成し、64文字以上を使用します。
$ pwgen -N 1 -s 96 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP
「pwgen:コマンドが見つかりません 「、次のコマンドを使用してpwgenをインストールします。
$ sudo apt-get install pwgen
秘密を置く。
password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP
次に、rootユーザーのハッシュパスワードを設定します(システムユーザーと混同しないでください。graylogのrootユーザーはadminです)。このパスワードを使用してWebインターフェースにログインします。管理者のパスワードは、Webインターフェースを使用して変更することはできません。設定するには、この変数を編集する必要があります。
「yourpassword」を置き換えます 」を選択してください。
# echo -n yourpassword | sha256sum e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951
ハッシュパスワードを入力します。
root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951
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
次のコマンドを使用してgraylogサーバーを起動します。
$ sudo cp /opt/graylog/bin/graylogctl /etc/init.d/graylog2
次の2つのsedコマンドを実行して、起動スクリプトを更新し、Graylog2ログを/ var / logに配置し、Graylog2サーバーJARファイルを/ opt/graylogで検索します。
$ sudo sed -i -e 's/\=graylog.jar/\=\/opt\/graylog\/graylog.jar/g' /etc/init.d/graylog2 $ sudo sed -i -e 's/\=log/\=\/var\/log/g' /etc/init.d/graylog2
起動スクリプトをインストールします。
$ sudo update-rc.d graylog2 defaults
グレイログサービスを開始します。
$ sudo service graylog2 start
graylog-serverが正常に起動すると、ログファイル(/var/log/graylog-server.log)に次のメッセージが表示されます。
2015-09-07 17:41:21,407 INFO : org.graylog2.shared.initializers.RestApiService - Started REST API at <http://127.0.0.1:12900/>
Graylog Webインターフェイスをインストールします:
graylog-web-interfaceを設定するには、少なくとも1つのgraylog-serverノードが必要です。同じバージョン番号をダウンロードして、互換性があることを確認してください
$ wget https://packages.graylog2.org/releases/graylog2-web-interface/graylog-web-interface-1.1.6.tgz
アーカイブを抽出して/optに移動します。
$ sudo tar -zxvf graylog-web-interface-1.1.6.tgz $ sudo mv graylog-web-interface-1.1.6 /opt/graylog-web-interface
構成ファイルを編集し、次のパラメーターを設定します。
$ sudo nano /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"
GitHubからgraylog-web-interfaceinitスクリプトをダウンロードします。
$ wget https://gist.githubusercontent.com/stojg/d1cbb8536e5a447e1f3a/raw/32b95a7909fa8fa42991600dbbb4d871bd86486b/graylog2-web-interface
ファイルをinitディレクトリに移動し、ファイルのアクセス許可を変更します。
$ sudo mv graylog2-web-interface /etc/init.d/graylog2-web $ sudo chown root:root /etc/init.d/graylog2-web $ sudo chmod 755 /etc/init.d/graylog2-web
initスクリプトを編集して、Webインターフェイスディレクトリを変更します。
$ sudo sed -i -e 's/graylog2-web-interface/graylog-web-interface/g' /etc/init.d/graylog2-web
起動スクリプトをインストールします。
$ sudo update-rc.d graylog2-web defaults
グレイログサービスを開始します。
$ sudo service graylog2-web start
Webインターフェイスはポート80でリッスンします。ブラウザでポート80を指定します。ユーザー名adminとroot_password_sha2で構成したパスワードを使用してログインします on server.conf 。
ログインすると、次の検索ページが表示されます。
これですべてです。Ubuntu15.04にGraylog2が正常にインストールされました。