GNU/Linux >> Linux の 問題 >  >> Debian

Debian9でGraylog2を使用してログファイルを監視する方法

Graylogは、Java、Elasticsearch、MongoDBに基づく無料のオープンソースのログ管理ツールであり、一元化された場所からサーバーログを収集、インデックス作成、分析するために使用できます。 Graylogを使用して、アプリケーションとログをデバッグするためのSSHログインと異常なアクティビティを簡単に監視できます。 Graylogは、強力なクエリ言語、アラート機能、データ変換用の処理パイプラインなどを提供します。 RESTAPIとアドオンを介してGraylogの機能を拡張できます。

グレイログは3つのコンポーネントで構成されています:

  1. Elasticsearch:すべての受信メッセージを保存し、検索機能を提供します。
  2. MongoDB:データベースに使用され、構成とメタ情報を保存します。
  3. Graylogサーバー:さまざまな入力からメッセージを受信して​​処理し、分析と監視のためのWebインターフェイスを提供します。

このチュートリアルでは、Debian9サーバーにGraylog2をインストールする方法を説明します。

前提条件
  • Debian9を実行しているサーバー。
  • 最低4GBのRAM。
  • サーバーに設定された静的IPアドレス192.168.0.187。

1必要なパッケージをインストールする

開始する前に、Java8およびその他の必要なパッケージをシステムにインストールする必要があります。必要なすべてのパッケージがDebian9標準リポジトリで利用できるわけではないため、パッケージソースのリストにDebianバックポートを追加する必要があります。まず、rootユーザーでログインし、backport.listファイルを作成します。

 nano /etc/apt/sources.list.d/backport.list 

次の行を追加します:

 deb http://ftp.debian.org/debian Stretch-backports main 

終了したらファイルを保存し、次のコマンドでシステムを更新します。

 apt-get update -y 
apt-get upgrade -y

システムが最新の状態になったら、次のコマンドを使用してすべてのパッケージをインストールします。

 apt-get install apt-transport-https openjdk-8-jre-headless uuid-runtime pwgen -y 

必要なパッケージがすべてインストールされたら、MongoDBのインストールに進むことができます。

2MongoDBをインストールします

構成およびメタ情報を保存するには、MongoDBが必要です。 MongoDBはDebian9のデフォルトリポジトリで利用できるため、次のコマンドを実行するだけでMongoDBをインストールできます。

 apt-get install mongodb-server -y 

MongoDBをインストールしたら、Elasticsearchのインストールに進むことができます。

3Elasticsearchをインストールします

Elasticsearchは、Graylogサーバーによって送信されたすべてのログを保存し、要求するたびにメッセージを表示する検索サーバーとして機能します。 Elasticsearchは、Debian9のデフォルトリポジトリでは利用できません。 ElasticsearchリポジトリをDebianパッケージソースに追加する必要があります。

まず、次のコマンドを使用してElasticsearchGPGキーをダウンロードして追加します。

 wget -qO-https://packages.elastic.co/GPG-KEY-elasticsearch | apt-key add-

次に、次のコマンドを使用してElasticsearchリポジトリファイルを作成します。

 nano /etc/apt/sources.list.d/elasticsearch.list 

次の行を追加します:

 deb https://packages.elastic.co/elasticsearch/2.x/debian stable main 

終了したらファイルを保存し、次のコマンドを実行してリポジトリを更新します。

 apt-get update -y 

次に、次のコマンドを実行してElasticsearchをインストールします。

 apt-get install Elasticsearch -y 

Elasticsearchをインストールしたら、Elasticsearchのメイン構成ファイルを変更する必要があります。

 nano /etc/elasticsearch/elasticsearch.yml 

次の変更を行います:

 cluster.name:graylognetwork.host:192.168.0.187discovery.zen.ping.timeout:10sdiscovery.zen.ping.multicast.enabled:falsediscovery.zen.ping.unicast.hosts:["192.168.0.187:9300" ] 

終了したらファイルを保存して閉じ、Elasticsearchサービスを開始して、起動時に開始できるようにします。

 systemctl start Elasticsearch 
systemctl enable Elasticsearch

数秒後、以下を実行して、Elasticsearchが正しく実行されていることをテストします。

 curl -XGET'http://192.168.0.187: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":1、 "active_shards":1 "relocating_shards":0、 "initializing_shards":0、 "unassigned_shards":1、 "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 pre> 

Elasticsearchがインストールされて正常に機能したら、次のステップに進むことができます。

4Graylogをインストール

GraylogはDebian9のデフォルトリポジトリでは利用できないため、最初にGraylog2リポジトリをダウンロードしてインストールする必要があります。これを行うには、次のコマンドを実行します。

 wget https://packages.graylog2.org/repo/packages/graylog-2.2-repository_latest.deb 
dpkg -i graylog-2.2-repository_latest.deb

リポジトリがインストールされたら、リポジトリを更新し、次のコマンドを使用してGraylogサーバーをインストールします。

 apt-get update -y 
apt-get install graylog-server -y

Graylogをインストールした後、ユーザーパスワードを保護するためのシークレットを設定し、rootユーザーのハッシュ(sha256)パスワードも設定する必要があります。

まず、次のコマンドを使用してpassword_secretを生成します。

 pwgen -N 1 -s 96 

次の出力が表示されます。

 TRXbNPoW4gGC8BN8Gzl4wH3jtfLoi06WCJqia18UtYyPaNLx4r8U7jUPRlIJHoGGxrCjZVqAvW2DcueI6N1zHoy2bKEWLyyC 

次に、次のコマンドを使用してrootユーザーのハッシュパスワードを生成します。

 echo -n youradminpassword | sha256sum 

次の出力が表示されます。

 e3c5925aa22abdfa18cf197a7b218fcad31acb6409d2e2dbebae807d3a9750ee 

注:両方のパスワードキーをserver.confで構成する必要があるため、両方のパスワードキーを覚えておいてください。

次に、/ etc / graylog /server/ディレクトリにあるGraylogサーバーのメイン構成ファイルを変更する必要があります。

 nano /etc/graylog/server/server.conf 

次の変更を行います:

 is_master =truenode_id_file =/ etc / graylog / server / node-id ####### past-your-password-secret-here ######### password_secret =TRXbNPoW4gGC8BN8Gzl4wH3jtfLoi06WCJqia18UtYyPaNLx4r8U7jUPRlIJ ##### past-your-root-hash-password-here ########## root_password_sha2 =e3c5925aa22abdfa18cf197a7b218fcad31acb6409d2e2dbebae807d3a9750eeroot_timezone =UTCplugin_dir =/usr/share/graylog-server/pluginrest_listen_uri =:9000 / API / rest_enable_cors =trueweb_listen_uri =http://0.0.0.0:9000/rotation_strategy =countelasticsearch_max_docs_per_index =20000000elasticsearch_max_number_of_indices =7retention_strategy =deleteelasticsearch_shards =4elasticsearch_replicas =1elasticsearch_index_prefix =graylogallow_leading_wildcard_searches =trueallow_highlighting =falseelasticsearch_cluster_name =graylogelasticsearch_discovery_zen_ping_unicast_hosts =192.168.0.187:9300elasticsearch_http_enabled =falseelasticsearch_network_host =0.0 。 00elasticsearch_discovery_initial_state_timeout =3selasticsearch_analyzer =standardoutput_batch_size =500output_flush_interval =1output_fault_count_threshold =5output_fault_penalty_seconds =30processbuffer_processors =5outputbuffer_processors =3processor_wait_strategy =blockingring_size =65536inputbuffer_ring_size =65536inputbuffer_processors =2inputbuffer_wait_strategy =blockingmessage_journal_enabled =truemessage_journal_dir =の/ var / libに/ graylogサーバ/ journalasync_eventbus_processors =2lb_recognition_period_seconds =3alert_check_interval =60mongodb_uri =MongoDBの:/ / localhost / graylogmongodb_max_connections =1000mongodb_threads_allowed_to_block_multiplier =5content_packs_dir =/usr/share/graylog-server/contentpackscontent_packs_auto_load =grok-patterns.jsonproxied_requests_thread_pool_size =32 

終了したらファイルを保存して閉じ、Graylogサービスを開始して、起動時に開始できるようにします。

 systemctl start graylog-server 
systemctl enable graylog-server

終了したら、次のステップに進むことができます

5ファイアウォールの構成

デフォルトでは、Graylog Webインターフェースはポート9000でリッスンしているため、UFWファイアウォールを介してポート9000を許可する必要があります。 UFWファイアウォールはDebian9にインストールされていないため、最初にインストールする必要があります。次のコマンドを実行してインストールできます:

 apt-get install ufw -y 

UFWをインストールしたら、次のコマンドを実行して有効にします。

 ufw enable 

次に、次のコマンドを実行して、UFWファイアウォールを通過するポート9000を許可します。

 ufw allow 9000 

次のコマンドを実行すると、UFWファイアウォールのステータスをいつでも確認できます。

ufwステータス

ファイアウォールを構成したら、次の手順に進むことができます。

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

Graylog Webインターフェースはポート9000でリッスンしています。次に、Webブラウザーを開き、URL http://192.168.0.187:9000を入力します。 、次の画面が表示されます:

ユーザー名「admin」でログインします "とserver.confのroot_password_sha2で設定したパスワード。次の画面が表示されます。

次に、UDPを使用してsyslogメッセージを受信するための入力を追加する必要があります。入力を追加するには、[システム]->[入力]->[Syslog UDP]-> [新しい入力の起動]ボタンをクリックすると、次の画面が表示されます。

タイトル、ポート、バインドアドレスなどの詳細をすべて入力し、最後に[保存]ボタンをクリックすると、次の画面が表示されます。

これで、Graylogサーバーは、クライアントまたはサーバーからポート8514を使用してシステムログを受信します。

クライアントシステムでは、システムログメッセージをGraylogサーバーに送信するようにrsyslogを構成する必要があります。これを行うには、rsyslog.confファイルを編集します。

 nano /etc/rsyslog.conf 

次の行を追加します:

#はUDPsyslog受信を提供します$ModLoadimudp $ UDPServerRun 8514 $ template GRAYLOGRFC5424、 "%protocol-version%%timestamp :::date-rfc3339%%HOSTNAME%%app-name%%procid%%msg%\ n" *。*@192.168.0.187:8514; GRAYLOGRFC5424 

ファイルを保存し、rsyslogサービスを再起動して、これらの変更を適用します。

 systemctl restart rsyslog 

次に、Graylogサーバーで[Graylog Sources]をクリックすると、次の画面にログイン試行に失敗したsshログが表示されます。

結論

おめでとう!これで、Debian 9にGraylogサーバーが正常にインストールおよび構成されました。これで、中央の場所からログとシステムログの分析を簡単に確認できます。必要に応じて、Graylogをカスタマイズし、別のタイプのログを送信することもできます。詳細については、Graylogのドキュメントページhttp://docs.graylog.org/en/2.2/pages/getting_started.htmlをご覧ください。ご不明な点がございましたら、お気軽にコメントしてください。


Debian
  1. DebianLinuxにElasticsearchをインストールする方法

  2. Ubuntu14.04にGraylog2をインストールする方法

  3. Ubuntu 15.04/14.10にGraylog2をインストールする方法

  1. Debian10BusterにSteamPlayでSteamをインストールする方法

  2. Debian9にRをインストールする方法

  3. Debian11にNginxを使用してWonderCMSをインストールする方法

  1. Debian9にElasticsearchをインストールする方法

  2. Debian10にElasticsearchをインストールする方法

  3. Debian10にRをインストールする方法