Graylogは、Java、Elasticsearch、MongoDBに基づく無料のオープンソースのログ管理ツールであり、一元化された場所からサーバーログを収集、インデックス作成、分析するために使用できます。 Graylogを使用して、アプリケーションとログをデバッグするためのSSHログインと異常なアクティビティを簡単に監視できます。 Graylogは、強力なクエリ言語、アラート機能、データ変換用の処理パイプラインなどを提供します。 RESTAPIとアドオンを介してGraylogの機能を拡張できます。
グレイログは3つのコンポーネントで構成されています:
- Elasticsearch:すべての受信メッセージを保存し、検索機能を提供します。
- MongoDB:データベースに使用され、構成とメタ情報を保存します。
- 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 -yGraylogをインストールした後、ユーザーパスワードを保護するためのシークレットを設定し、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 -yUFWをインストールしたら、次のコマンドを実行して有効にします。
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