GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS 7 /RHEL7にGraylog3.0をインストールする方法

Graylogは、マシンログを一元的に収集、インデックス作成、分析するのに役立つオープンソースのログ管理ツールです。このガイドは、CentOS 7 /RHEL7にGraylogをインストールするのに役立ちます。

コンポーネント

  1. MongoDB –構成とメタ情報を保存するためのデータベースであること。
  2. Elasticsearch – Graylogサーバーから受信したログメッセージを保存し、必要に応じてそれらを検索する機能を提供します。 Elasticsearchは、データのインデックス作成を行うのと同じようにリソース管理者であるため、より多くのメモリを割り当て、SASまたはSANディスクを使用します。
  3. Graylogサーバー–これは、さまざまな入力からのログの解析を行い、それらのログを処理するための組み込みのWebインターフェイスを提供します。

前提条件

システムがEPELリポジトリで構成されていることを確認してください。

Graylogのインストールに必要なパッケージをインストールします。

 yum -y install wget pwgen 

Elasticsearchでは、Javaがマシンにインストールされている必要があります。したがって、OpenJDKまたはOracleJDKのいずれかをインストールします。

 yum install -y java-1.8.0-openjdk-headless 

Javaのバージョンを確認してください。

 java -version 

出力:

openjdkバージョン"1.8.0_191"OpenJDKランタイム環境(ビルド1.8.0_191-b12)OpenJDK 64ビットサーバーVM(ビルド25.191-b12、混合モード)

Elasticsearchをインストールする

Elasticsearchは、Graylogセットアップの重要なコンポーネントの1つです。これは、Graylog入力からのデータを保存し、ユーザーがGraylog組み込みWebインターフェイスを介して要求するたびにメッセージを表示します。

Elasticseachは主に、データ/ログのインデックスを作成し、GraylogWebインターフェイスが情報を要求したときに検索機能を提供するために使用されます。

このガイドでは、Graylogに必要な基本構成について説明します。

インストール前にGPG署名キーをインポートします。

 rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch 

リポジトリファイルを作成して、公式リポジトリから最新バージョンのElasticsearchパッケージを取得します。

 vi /etc/yum.repos.d/elasticsearch.repo 

以下のコンテンツを上記のファイルに追加します。

 [elasticsearch-6.x] name=6.xのElasticsearchリポジトリpackagesbaseurl=https://artifacts.elastic.co/packages/6.x/yumgpgcheck=1gpgkey=https://artifacts.elastic.co/ GPG-KEY-elasticsearchenabled =1autorefresh =1type =rpm-md 

次に、yumコマンドを使用してElasticsearchパッケージをインストールします。

 yum install -y Elasticsearch 

systemctlデーモンをリロードし、Elasticsearchがシステムの起動時に自動的に開始できるようにします。

systemctldaemon-reloadsystemctlはelasticsearchを有効にします

ElasticsearchをGraylogセットアップで機能させるには、クラスター名を graylogに設定する必要があります 。 Elasticsearch.ymlファイルを編集します。

 vi /etc/elasticsearch/elasticsearch.yml 

以下のように更新してください。

 cluster.name: graylog  

Elasticsearchを再起動します。

 systemctl restart Elasticsearch 

Elasticsearchが完全に再起動するまでしばらくお待ちください。 Elastisearchは、HTTPリクエストを処理するために9200をリッスンしているはずです。 CURLコマンドを使用して応答を確認します。

 curl -X GET http:// localhost:9200 

クラスタ名は灰色のログである必要があります。

 {"name": "DF8QK3-"、 "cluster_name": "graylog"、 "cluster_uuid": "_ wAgUfN9RJeQ0npCKBswVA"、 "version":{"number": "6.6.0"、 "build_flavor": "default "、" build_type ":" rpm "、" build_hash ":" a9861f4 "、" build_date ":" 2019-01-24T11:27:09.439740Z "、" build_snapshot ":false、" lucene_version ":" 7.6.0 " 、"minimum_wire_compatibility_version": "5.6.0"、 "minimum_index_compatibility_version": "5.0.0"}、 "tagline": "You Know、for Search"} 

Elasticsearchクラスターのヘルスチェックを実行します。

 curl -XGET'http:// localhost:9200 / _cluster / health?pretty =true' 

クラスタのステータスがになっていることを確認してください 。

 {"cluster_name": "graylog"、 "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、 "task_max_waiting_in_queue_millis":0、 "task_max_waiting_in_queue_millis":0、 "task_max_waiting_in_queue_millis":0 pre> 

MongoDBをインストールします

MongoDBは、構成とメタ情報を格納するデータベースとして機能します。 MongoDBの公式リポジトリを使用して、MongoDBの最新バージョンを取得します。

 vi /etc/yum.repos.d/mongodb-org-4.0.repo 

上記のファイルにリポジトリ情報を追加します。

 [mongodb-org-4.0] name =MongoDB Repositorybaseurl =https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/gpgcheck=1enabled=1gpgkey=https:// www.mongodb.org/static/pgp/server-4.0.asc 

次のコマンドを使用して、MongoDBのコミュニティエディションをインストールします。

 yum install -y mongodb-org 

MongoDBサービスを開始し、システムの起動時に有効にします。

 systemctl start mongodsystemctl enable mongod 

Graylogをインストールする

Graylogサーバーは、さまざまな入力からのログメッセージを受け入れて処理し、graylogWebインターフェイスからのリクエストにデータを表示します。

graylog3.xリポジトリをダウンロードしてインストールします。

 rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-3.0-repository_latest.rpm 

次のコマンドを使用してGraylogサーバーをインストールします。

 yum -y install graylog-server 

server.confファイルを編集して、graylog構成を開始します。

 vi /etc/graylog/server/server.conf 

次のコマンドを使用してシークレットを作成します

 pwgen -N 1 -s 96 

出力:

 OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP 

以下のような秘密をserver.confに配置します

 password_secret = OH9wXpsNZVBA8R5vJQSnkhTB1qDOjCxAh3aE3LvXddtfDlZlKYEyGS24BJAiIxI0sbSTSPovTTnhLkkrUvhSSxodTlzDi5gP  

rootユーザー、つまり、graylogの管理者のハッシュパスワードを設定します。グレイログWebにログインするには、このパスワードが必要です。

adminの忘れたパスワードを変更/リセットしたい場合は、 server.confを編集/更新できます。 ハッシュ化されたパスワードを使用します。

以下のコマンドを使用して、ハッシュ化されたパスワードを生成します。 yourpasswordを置き換えます あなたの選択で。

 echo -n yourpassword | sha256sum 

出力:

 e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951 

ハッシュパスワードを入力します。

 root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951  

管理者ユーザーのメールアドレスを設定できます。

 root_email =" [email protected]  "

ルート(管理者)ユーザーのタイムゾーンを設定します。

 root_timezone = UTC  

以下の変数を定義して、マスターノードを1つだけ設定します。デフォルト設定はtrueです。

このサーバーが環境内の2番目のGraylogノードである場合は、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  

GraylogWebインターフェイスをインストールする

Graylogバージョン2.xから、WebインターフェイスはGraylogサーバーによって直接提供されます。 server.confファイルを編集してGraylogWebインターフェイスを有効にします。

 vi /etc/graylog/server/server.conf 

エントリを変更して、GraylogWebインターフェイスがGraylogサーバーに接続できるようにします。 192.168.1.10をシステムのIPアドレスに置き換えます。

 http_bind_address = 192.168.1.10  :9000 

Graylogサービスを再起動します。

 systemctl daemon-reloadsystemctl restart graylog-server 

システムの起動時にGraylogサーバーが自動的に起動するようにします。

 systemctl enable graylog-server 

サーバーの起動ログを確認できます。問題が発生した場合にGraylogのトラブルシューティングを行うと便利です。

 tailf /var/log/graylog-server/server.log 

すべてがうまくいけば、server.logファイルに以下のメッセージが表示されます。

 2019-02-25T21:00:23.157 + 05:30 INFO[ServerBootstrap]Graylogサーバーが稼働しています。

ファイアウォール

CentOS 7 / RHEL 7では、ファイアウォールルールは、デフォルトで外部マシンからのほとんどのトラフィックをブロックするように設定されています。 Graylogが正しく機能するための許可ルールを追加する必要があります。

 Firewall-cmd --permanent --add-port =9000 / tcp 

新しいルールを有効にするには、firewalldをリロードします。

 Firewall-cmd --reload 

GraylogWebインターフェースにアクセス

これで、Webインターフェイスはポート9000でリッスンします。ブラウザをポイントします。

http://ip.add.re.ss:9000

ユーザー名adminでログインします およびroot_password_sha2で構成したパスワード server.conf

ログインすると、スタートページが表示されます。

システムをクリックします>>概要 グレイログサーバーのステータスを知るため。

グレイログ入力の作成

グレイログ入力は、外部ソース、つまり、syslogまたは任意のログシステムからログを受信するように構成する必要があります。この例では、ポート番号UDP514でsyslogからログを受信するための入力を設定します。

しかし問題がある。特権ポートの1つ(1024未満のTCP / UDPポート番号)で入力を試行し始めると、Graylogログに許可拒否エラーが表示されます。

この問題を解決するために、ポート1514で開始する入力を作成し、ファイアウォールルールを使用してトラフィックを514から1514にリダイレクトします。

システムをクリックします>>入力>> Syslog UDPを選択します 次に、[新しい入力の起動]をクリックします。

以下に示す値を入力してください。

ノード: グレイログノードを選択

タイトル: 入力に名前を付けます

バインドアドレス: 0.0.0.0(デフォルトのままにします)

ポート: 1514

作成されたSyslog入力が実行状態にあることを確認してください。

Rsyslogの構成

入力を作成したら、Rsyslogを構成するか、システムログをGraylogサーバーに転送します。

Rsyslog構成ファイルを編集します。

 vi /etc/rsyslog.conf 

UDP 514でログを送信するための一般的なRsyslog構成は、次のようになります。

UDP 514を使用せず、ログを直接GraylogのUDP 1514に送信する場合は、Rsyslog構成ファイル
*。info;mail.none;authpriv.none;cronでポート番号を変更できます。なし@192.168.1.10:514 

Rsyslogサービスを再起動して、ログを送信します。

 systemctl restart rsyslog 

ファイアウォール

前の手順で行ったRsyslog構成に基づいてファイアウォールを構成します。

ポート514

Graylogサーバーで以下のコマンドを実行して、ポートUDP514から来るトラフィックをGraylog入力のUDP1514にリダイレクトします。

 Firewall-cmd --add-masquerade --permanentfirewall-cmd --add-forward-port =port =514:proto =udp:toport =1514 --permanentfirewall-cmd --reload 

ポート1514

Graylogサーバーで以下のコマンドを実行して、ファイアウォールのポート番号UDP1514がRsyslogからログを受信できるようにします。

 Firewall-cmd --permanent --add-port =1514 / udpfirewall-cmd --reload 

Graylogを使用してログを表示

数分待ちます。イベントが生成されたら、クライアントマシンからログメッセージの受信を開始する必要があります。

次のスクリーンショットは、Graylog(Graylogコンソール)が受信したログを示しています。>> Searc h

結論

これで、Graylog3.0がCentOS7 / RHEL 7に正常にインストールされ、外部ソースからRsyslogログを受信するようにGraylogが構成されました。さらに読むと、NginxまたはApacheをリバースプロキシとして構成し、GraylogWebインターフェイスにHTTPSを設定してみることができます。


Cent OS
  1. CentOS 7 / RHEL 7にGraylog2をインストールする方法–ソースの使用

  2. CentOS 7 /RHEL7にGraylog2をインストールする方法

  3. CentOS /RHEL8にElasticsearchをインストールする方法

  1. RHEL 8 /CentOS8にphpMyAdminをインストールする方法

  2. RHEL 8 /CentOS8にP7Zipをインストールする方法

  3. CentOS 8 /RHEL8にElasticsearchをインストールする方法

  1. RHEL 8 /CentOS8にntfs-3gをインストールする方法

  2. PHP-mbstringをRHEL8/CentOS8にインストールする方法

  3. RHEL 8 /CentOS8にphantomjsをインストールする方法