前書き
このチュートリアルでは、Ubuntu 14.04、つまりElasticsearch 2.2.x、Logstash 2.2.x、およびKibana 4.5.xへのElasticsearch ELKスタックのインストールについて説明します。 また、Filebeat 1.1.xを使用して、中央の場所にあるシステムのsyslogを収集して視覚化するように構成する方法も示します。 Logstashは、将来の使用に備えてログを収集、解析、保存するためのオープンソースツールです。 Kibanaは、Logstashがインデックス付けしたログを検索および表示するために使用できるWebインターフェイスです。 これらのツールは両方とも、ログの保存に使用されるElasticsearchに基づいています。
一元化されたログは、サーバーまたはアプリケーションの問題を特定するときに非常に便利です。1つの場所ですべてのログを検索できるからです。 また、特定の時間枠でログを相互に関連付けることにより、複数のサーバーにまたがる問題を特定できるため便利です。
Logstashを使用してすべてのタイプのログを収集することは可能ですが、このチュートリアルの範囲をsyslog収集に限定します。
私たちの目標
チュートリアルの目的は、Logstashをセットアップして複数のサーバーのsyslogを収集し、収集されたログを視覚化するためにKibanaをセットアップすることです。
ELKスタックのセットアップには、4つの主要なコンポーネントがあります。
-
Logstash:受信ログを処理するLogstashのサーバーコンポーネント
-
Elasticsearch:すべてのログを保存します
-
Kibana:ログを検索および視覚化するためのWebインターフェイス。Nginxを介してプロキシされます。
-
Filebeat:ログをLogstashに送信するクライアントサーバーにインストールされたFilebeatは、lumberjackネットワークプロトコルを利用してLogstashと通信するログ配布エージェントとして機能します。
最初の3つのコンポーネントを単一のサーバーにインストールします。これをELK Serverと呼びます。 Filebeatは、ログを収集するすべてのクライアントサーバーにインストールされます。これをまとめてClient Serversと呼びます。
前提条件
このチュートリアルを完了するには、Ubuntu 14.04 VPSへのルートアクセスが必要です。 それを設定する手順はここにあります(ステップ3と4):Initial Server Setup with Ubuntu 14.04。
代わりにCentOSを使用したい場合は、次のチュートリアルを確認してください:How To Install ELK on CentOS 7。
ELKサーバーに必要なCPU、RAM、およびストレージの量は、収集するログの量によって異なります。 このチュートリアルでは、ELKサーバーに次の仕様のVPSを使用します。
-
OS:Ubuntu 14.04
-
RAM:4GB
-
CPU:2
ELKサーバーに加えて、ログを収集するいくつかの他のサーバーが必要になります。
ELKサーバーのセットアップを始めましょう!
Java 8をインストールする
ElasticsearchとLogstashにはJavaが必要なので、今すぐインストールします。 Elasticsearchが推奨しているので、Oracle Java 8の最新バージョンをインストールします。 ただし、そのルートに進むことにした場合、OpenJDKで正常に動作するはずです。
aptにOracle Java PPAを追加します。
sudo add-apt-repository -y ppa:webupd8team/java
aptパッケージデータベースを更新します。
sudo apt-get update
次のコマンドを使用して、Oracle Java 8の最新の安定バージョンをインストールします(ポップアップ表示されるライセンス契約に同意します)。
sudo apt-get -y install oracle-java8-installer
Java 8がインストールされたので、ElasticSearchをインストールしましょう。
Elasticsearchをインストールする
Elasticsearchは、Elasticのパッケージソースリストを追加することにより、パッケージマネージャーと共にインストールできます。
次のコマンドを実行して、Elasticsearch GPG公開キーをaptにインポートします。
wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
プロンプトがちょうどそこにぶら下がっている場合は、おそらくユーザーのパスワードを待っています(sudo
コマンドを承認するため)。 その場合は、パスワードを入力してください。
Elasticsearchソースリストを作成します。
echo "deb http://packages.elastic.co/elasticsearch/2.x/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list
aptパッケージデータベースを更新します。
sudo apt-get update
次のコマンドでElasticsearchをインストールします。
sudo apt-get -y install elasticsearch
Elasticsearchがインストールされました。 設定を編集しましょう:
sudo vi /etc/elasticsearch/elasticsearch.yml
Elasticsearchインスタンス(ポート9200)への外部アクセスを制限すると、HTTP APIを介して部外者がデータを読み取ったり、Elasticsearchクラスターをシャットダウンしたりできなくなります。 network.host
を指定する行を見つけてコメントを外し、その値を「localhost」に置き換えて、次のようにします。
elasticsearch.yml excerpt (updated)
network.host: localhost
elasticsearch.yml
を保存して終了します。
次に、Elasticsearchを開始します。
sudo service elasticsearch restart
次に、次のコマンドを実行して、起動時にElasticsearchを開始します。
sudo update-rc.d elasticsearch defaults 95 10
Elasticsearchが実行されたら、Kibanaをインストールしましょう。
Kibanaをインストールする
Kibanaは、Elasticのパッケージソースリストを追加することにより、パッケージマネージャーでインストールできます。
Kibanaソースリストを作成します。
echo "deb http://packages.elastic.co/kibana/4.5/debian stable main" | sudo tee -a /etc/apt/sources.list.d/kibana-4.5.x.list
aptパッケージデータベースを更新します。
sudo apt-get update
次のコマンドでKibanaをインストールします。
sudo apt-get -y install kibana
Kibanaがインストールされました。
Kibana構成ファイルを編集用に開きます。
sudo vi /opt/kibana/config/kibana.yml
Kibana構成ファイルで、server.host
を指定する行を見つけ、IPアドレス(デフォルトでは「0.0.0.0」)を「localhost」に置き換えます。
kibana.yml excerpt (updated)
server.host: "localhost"
保存して終了。 この設定により、Kibanaはローカルホストのみがアクセスできるようになります。 Nginxリバースプロキシを使用して外部アクセスを許可するため、これは問題ありません。
次に、Kibanaサービスを有効にして開始します。
sudo update-rc.d kibana defaults 96 9
sudo service kibana start
Kibana Webインターフェイスを使用する前に、リバースプロキシを設定する必要があります。 それでは、Nginxを使用してみましょう。
Nginxをインストールする
localhost
をリッスンするようにKibanaを構成したため、リバースプロキシを設定して外部アクセスを許可する必要があります。 この目的のためにNginxを使用します。
Note:使用したいNginxインスタンスがすでにある場合は、代わりにそれを自由に使用してください。 Nginxサーバーから到達できるようにKibanaを構成してください(/opt/kibana/config/kibana.yml
単位のhost
値をKibanaサーバーのプライベートIPアドレスまたはホスト名に変更することをお勧めします)。 また、SSL / TLSを有効にすることをお勧めします。
aptを使用してNginxとApache2-utilsをインストールします。
sudo apt-get install nginx apache2-utils
htpasswdを使用して、Kibana Webインターフェイスにアクセスできる「kibanaadmin」と呼ばれる管理ユーザー(別の名前を使用する必要があります)を作成します。
sudo htpasswd -c /etc/nginx/htpasswd.users kibanaadmin
プロンプトでパスワードを入力します。 Kibana Webインターフェースにアクセスするために必要になるため、このログインを忘れないでください。
ここで、お気に入りのエディターでNginxのデフォルトサーバーブロックを開きます。 viを使用します。
sudo vi /etc/nginx/sites-available/default
ファイルの内容を削除し、次のコードブロックをファイルに貼り付けます。 サーバーの名前と一致するようにserver_name
を必ず更新してください。
/etc/nginx/sites-available/default
server {
listen 80;
server_name example.com;
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/htpasswd.users;
location / {
proxy_pass http://localhost:5601;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
保存して終了。 これにより、サーバーのHTTPトラフィックをlocalhost:5601
をリッスンしているKibanaアプリケーションに転送するようにNginxが構成されます。 また、Nginxは以前に作成したhtpasswd.users
ファイルを使用し、基本認証を必要とします。
Nginxを再起動して、変更を有効にします。
sudo service nginx restart
Kibanaは、FQDNまたはELKサーバーのパブリックIPアドレスを介してアクセスできるようになりました。 http://elk-server-public-ip/. Webブラウザで「kibanaadmin」の資格情報を入力すると、インデックスパターンを設定するよう求めるKibanaのようこそページが表示されます。 他のすべてのコンポーネントをインストールした後、後で戻りましょう。
Logstashをインストールする
LogstashパッケージはElasticsearchと同じリポジトリから入手でき、その公開キーは既にインストールされているため、Logstashソースリストを作成しましょう。
echo 'deb http://packages.elastic.co/logstash/2.2/debian stable main' | sudo tee /etc/apt/sources.list.d/logstash-2.2.x.list
aptパッケージデータベースを更新します。
sudo apt-get update
次のコマンドでLogstashをインストールします。
sudo apt-get install logstash
Logstashはインストールされていますが、まだ構成されていません。
SSL証明書を生成する
Filebeatを使用してクライアントサーバーからELKサーバーにログを送信するため、SSL証明書とキーペアを作成する必要があります。 この証明書は、FilebeatがELKサーバーの身元を確認するために使用します。 次のコマンドを使用して、証明書と秘密キーを保存するディレクトリを作成します。
sudo mkdir -p /etc/pki/tls/certs
sudo mkdir /etc/pki/tls/private
これで、SSL証明書を生成するための2つのオプションがあります。 クライアントサーバーがELKサーバーのIPアドレスを解決できるようにするDNS設定がある場合は、Option 2を使用します。 それ以外の場合、Option 1を使用するとIPアドレスを使用できます。
オプション1:IPアドレス
ELKサーバーのIPアドレスを解決するために、ログを収集するサーバーを許可するDNS設定がない場合は、ELKサーバーのプライベートIPアドレスをsubjectAltName
に追加する必要があります。 ■生成しようとしているSSL証明書の(SAN)フィールド。 これを行うには、OpenSSL構成ファイルを開きます。
sudo vi /etc/ssl/openssl.cnf
ファイル内の[ v3_ca ]
セクションを見つけて、その下に次の行を追加します(ELKサーバーのプライベートIPアドレスに置き換えます)。
openssl.cnf excerpt (updated)
subjectAltName = IP: ELK_server_private_IP
保存して終了。
次のコマンドを使用して、適切な場所(/ etc / pki / tls /)にSSL証明書と秘密鍵を生成します。
cd /etc/pki/tls
sudo openssl req -config /etc/ssl/openssl.cnf -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout private/logstash-forwarder.key -out certs/logstash-forwarder.crt
logstash-forwarder.crtファイルは、ログをLogstashに送信するすべてのサーバーにコピーされますが、少し後で行います。 Logstashの構成を完了しましょう。 このオプションを使用した場合は、オプション2をスキップして、Configure Logstashに進みます。
オプション2:FQDN(DNS)
プライベートネットワーキングでDNSをセットアップしている場合、ELKサーバーのプライベートIPアドレスを含むAレコードを作成する必要があります。このドメイン名は、SSL証明書を生成するために次のコマンドで使用されます。 または、サーバーのパブリックIPアドレスを指すレコードを使用できます。 サーバー(ログを収集するサーバー)がドメイン名をELKサーバーに解決できることを確認してください。
次のコマンドを使用して、適切な場所(/ etc / pki / tls /…)でSSL証明書と秘密キーを生成します(ELKサーバーのFQDNに置き換えます)。
cd /etc/pki/tls; sudo openssl req -subj '/CN=ELK_server_fqdn/' -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout private/logstash-forwarder.key -out certs/logstash-forwarder.crt
logstash-forwarder.crtファイルは、ログをLogstashに送信するすべてのサーバーにコピーされますが、少し後で行います。 Logstashの構成を完了しましょう。
Logstashを構成する
Logstash構成ファイルはJSON形式で、/ etc / logstash / conf.dにあります。 構成は、入力、フィルター、および出力の3つのセクションで構成されています。
02-beats-input.conf
という構成ファイルを作成し、「filebeat」入力を設定しましょう。
sudo vi /etc/logstash/conf.d/02-beats-input.conf
次のinput構成を挿入します。
02-beats-input.conf
input {
beats {
port => 5044
ssl => true
ssl_certificate => "/etc/pki/tls/certs/logstash-forwarder.crt"
ssl_key => "/etc/pki/tls/private/logstash-forwarder.key"
}
}
保存して終了します。 これは、tcpポート5044
でリッスンするbeats
入力を指定し、前に作成したSSL証明書と秘密鍵を使用します。
次に、10-syslog-filter.conf
という構成ファイルを作成します。ここで、syslogメッセージのフィルターを追加します。
sudo vi /etc/logstash/conf.d/10-syslog-filter.conf
次のsyslogfilter構成を挿入します。
10-syslog-filter.conf
filter {
if [type] == "syslog" {
grok {
match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
add_field => [ "received_at", "%{@timestamp}" ]
add_field => [ "received_from", "%{host}" ]
}
syslog_pri { }
date {
match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]
}
}
}
保存して終了します。 このフィルターは、(Filebeatによって)「syslog」タイプとしてラベル付けされたログを検索し、grok
を使用して受信syslogログを解析し、構造化およびクエリ可能にしようとします。
最後に、30-elasticsearch-output.conf
という構成ファイルを作成します。
sudo vi /etc/logstash/conf.d/30-elasticsearch-output.conf
次のoutput構成を挿入します。
/etc/logstash/conf.d/30-elasticsearch-output.conf
output {
elasticsearch {
hosts => ["localhost:9200"]
sniffing => true
manage_template => false
index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
document_type => "%{[@metadata][type]}"
}
}
保存して終了。 この出力は基本的に、使用されたビート(この場合はfilebeat)にちなんで名付けられたインデックスで、localhost:9200
で実行されているElasticsearchにビートデータを格納するようにLogstashを構成します。
Filebeat入力を使用する他のアプリケーションにフィルターを追加する場合は、ファイルに名前を付けて、入力構成と出力構成の間でソートされるようにしてください(つまり、 02から30の間)。
次のコマンドでLogstash構成をテストします。
sudo service logstash configtest
構文エラーがない場合は、Configuration OK
が表示されます。 そうでない場合は、エラー出力を読んで、Logstash構成の何が問題なのかを確認してください。
Logstashを再起動して有効にし、構成の変更を有効にします。
sudo service logstash restart
sudo update-rc.d logstash defaults 96 9
次に、サンプルのKibanaダッシュボードをロードします。
Kibanaダッシュボードをロードする
Elasticは、Kibanaを使い始めるのに役立ついくつかのサンプルKibanaダッシュボードとBeatsインデックスパターンを提供します。 このチュートリアルではダッシュボードを使用しませんが、それに含まれるFilebeatインデックスパターンを使用できるように、いずれにしてもダッシュボードをロードします。
最初に、サンプルダッシュボードアーカイブをホームディレクトリにダウンロードします。
cd ~
curl -L -O https://download.elastic.co/beats/dashboards/beats-dashboards-1.1.0.zip
次のコマンドでunzip
パッケージをインストールします。
sudo apt-get -y install unzip
次に、アーカイブの内容を抽出します。
unzip beats-dashboards-*.zip
次のコマンドを使用して、サンプルダッシュボード、視覚化、およびBeatsインデックスパターンをElasticsearchにロードします。
cd beats-dashboards-*
./load.sh
これらは、先ほどロードしたインデックスパターンです。
-
[packetbeat-] YYYY.MM.DD
-
[topbeat-] YYYY.MM.DD
-
[filebeat-] YYYY.MM.DD
-
[winlogbeat-] YYYY.MM.DD
Kibanaの使用を開始するとき、Filebeatインデックスパターンをデフォルトとして選択します。
ElasticsearchでFilebeatインデックステンプレートをロードする
Filebeatを使用してログをElasticsearchに送信することを計画しているため、Filebeatインデックステンプレートをロードする必要があります。 インデックステンプレートは、着信するFilebeatフィールドをインテリジェントな方法で分析するようにElasticsearchを構成します。
最初に、Filebeatインデックステンプレートをホームディレクトリにダウンロードします。
cd ~
curl -O https://gist.githubusercontent.com/thisismitch/3429023e8438cc25b86c/raw/d8c479e2a1adcea8b1fe86570e42abab0f10f364/filebeat-index-template.json
次に、次のコマンドでテンプレートをロードします。
curl -XPUT 'http://localhost:9200/_template/filebeat?pretty' [email protected]
テンプレートが適切にロードされると、次のようなメッセージが表示されます。
Output:{
"acknowledged" : true
}
ELKサーバーでFilebeatデータを受信する準備ができたので、次に各クライアントサーバーでFilebeatをセットアップすることに進みます。
Filebeatのセットアップ(クライアントサーバーの追加)
ELKサーバーのLogstashにログを送信するUbuntuまたはDebianサーバーごとにこれらの手順を実行します。 Red HatベースのLinuxディストリビューションにFilebeatをインストールする手順(例: RHEL、CentOSなど)、このチュートリアルのCentOSバリエーションのSet Up Filebeat (Add Client Servers) sectionを参照してください。
SSL証明書をコピー
ELK Serverで、前提条件のチュートリアルで作成したSSL証明書をClient Serverにコピーします(クライアントサーバーのアドレスと独自のログインに置き換えます)。
scp /etc/pki/tls/certs/logstash-forwarder.crt user@client_server_private_address:/tmp
ログインの資格情報を提供した後、証明書のコピーが成功したことを確認します。 クライアントサーバーとELKサーバー間の通信に必要です。
次に、Client Serverで、ELKサーバーのSSL証明書を適切な場所(/ etc / pki / tls / certs)にコピーします。
sudo mkdir -p /etc/pki/tls/certs
sudo cp /tmp/logstash-forwarder.crt /etc/pki/tls/certs/
次に、Topbeatパッケージをインストールします。
Filebeatパッケージをインストールする
Client Serverで、Beatsソースリストを作成します。
echo "deb https://packages.elastic.co/beats/apt stable main" | sudo tee -a /etc/apt/sources.list.d/beats.list
また、このコマンドでインストールできるElasticsearchと同じGPGキーを使用します。
wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
次に、Filebeatパッケージをインストールします。
sudo apt-get update
sudo apt-get install filebeat
Filebeatはインストールされていますが、まだ構成されていません。
Filebeatを構成する
ここで、ELKサーバーのLogstashに接続するようにFilebeatを構成します。 このセクションでは、Filebeatに付属のサンプル構成ファイルを変更する手順を説明します。 手順を完了すると、thisのようなファイルが作成されます。
Client Serverで、Filebeat構成ファイルを作成および編集します。
sudo vi /etc/filebeat/filebeat.yml
[.note]#Note: Filebeatの構成ファイルはYAML形式です。つまり、インデントが非常に重要です。 これらの手順に示されているのと同じ数のスペースを使用してください。
#
ファイルの上部近くに、prospectors
セクションが表示されます。このセクションでは、出荷するログファイルとその処理方法を指定するprospectorsを定義できます。 各プロスペクターは-
文字で示されます。
既存のプロスペクターを変更して、syslog
とauth.log
をLogstashに送信します。 paths
の下で、- /var/log/*.log
ファイルをコメントアウトします。 これにより、Filebeatがそのディレクトリ内のすべての.log
をLogstashに送信するのを防ぎます。 次に、syslog
とauth.log
の新しいエントリを追加します。 完了すると、次のようになります。
filebeat.yml excerpt 1 of 5
...
paths:
- /var/log/auth.log
- /var/log/syslog
# - /var/log/*.log
...
次に、document_type:
を指定する行を見つけ、コメントを外して、その値を「syslog」に変更します。 変更後は次のようになります。
filebeat.yml excerpt 2 of 5
...
document_type: syslog
...
これは、このプロスペクターのログがタイプsyslog(Logstashフィルターが探しているタイプ)であることを指定します。
ELKサーバーに他のファイルを送信する場合、またはFilebeatがログを処理する方法を変更する場合は、プロスペクターエントリを自由に変更または追加してください。
次に、output
セクションの下で、elasticsearch:
という行を見つけます。これは、Elasticsearch出力セクション(使用しません)を示します。 Delete or comment out the entire Elasticsearch output section(#logstash:
という行まで)。
#logstash:
という行で示されているコメントアウトされたLogstash出力セクションを見つけ、前の#
を削除してコメントを解除します。 このセクションでは、hosts: ["localhost:5044"]
行のコメントを解除します。 localhost
をELKサーバーのプライベートIPアドレス(または、そのオプションを選択した場合はホスト名)に変更します。
filebeat.yml excerpt 3 of 5
### Logstash as output
logstash:
# The Logstash hosts
hosts: ["ELK_server_private_IP:5044"]
これにより、ポート5044
(以前にLogstash入力を指定したポート)でELKサーバー上のLogstashに接続するようにFilebeatが構成されます。
hosts
エントリのすぐ下で、同じインデントを使用して、次の行を追加します。
filebeat.yml excerpt 4 of 5
bulk_max_size: 1024
次に、tls
セクションを見つけて、コメントを解除します。 次に、certificate_authorities
を指定する行のコメントを解除し、その値を["/etc/pki/tls/certs/logstash-forwarder.crt"]
に変更します。 これは次のようになります。
filebeat.yml excerpt 5 of 5
...
tls:
# List of root certificates for HTTPS server verifications
certificate_authorities: ["/etc/pki/tls/certs/logstash-forwarder.crt"]
これにより、ELKサーバーで作成したSSL証明書を使用するようにFilebeatが構成されます。
保存して終了します。
Filebeatを再起動して、変更を適切な場所に配置します。
sudo service filebeat restart
sudo update-rc.d filebeat defaults 95 10
繰り返しになりますが、Filebeatの構成が正しいかどうかわからない場合は、このexample Filebeat configurationと比較してください。
これで、Filebeatはsyslog
とauth.log
をELKサーバーのLogstashに送信します。 ログを収集する他のすべてのサーバーについて、このセクションを繰り返します。
Filebeatインストールのテスト
ELKスタックが適切にセットアップされている場合、Filebeat(クライアントサーバー上)はELKサーバーのLogstashにログを送信する必要があります。 Logstashは、Filebeatデータを日付スタンプ付きのインデックスfilebeat-YYYY.MM.DD
でElasticsearchにロードする必要があります。
ELK Serverで、次のコマンドを使用してFilebeatインデックスをクエリし、Elasticsearchが実際にデータを受信していることを確認します。
curl -XGET 'http://localhost:9200/filebeat-*/_search?pretty'
次のような出力が表示されます。
Sample Output:...
{
"_index" : "filebeat-2016.01.29",
"_type" : "log",
"_id" : "AVKO98yuaHvsHQLa53HE",
"_score" : 1.0,
"_source":{"message":"Feb 3 14:34:00 rails sshd[963]: Server listening on :: port 22.","@version":"1","@timestamp":"2016-01-29T19:59:09.145Z","beat":{"hostname":"topbeat-u-03","name":"topbeat-u-03"},"count":1,"fields":null,"input_type":"log","offset":70,"source":"/var/log/auth.log","type":"log","host":"topbeat-u-03"}
}
...
出力に合計ヒット数が0と表示される場合、Elasticsearchは検索したインデックスの下にログをロードしていないため、セットアップのエラーを確認する必要があります。 予想される出力を受け取った場合は、次の手順に進みます。
Kibanaに接続
ログを収集するすべてのサーバーでFilebeatのセットアップが終了したら、先ほどインストールしたWebインターフェースであるKibanaを見てみましょう。
Webブラウザーで、ELKサーバーのFQDNまたはパブリックIPアドレスに移動します。 「kibanaadmin」の資格情報を入力すると、デフォルトのインデックスパターンを設定するよう求めるページが表示されます。
先に進み、[インデックスパターン]メニュー(左側)から[filebeat]-YYY.MM.DDを選択し、[Star (Set as default index)]ボタンをクリックして、Filebeatインデックスをデフォルトとして設定します。
次に、上部のナビゲーションバーにあるDiscoverリンクをクリックします。 デフォルトでは、過去15分間のすべてのログデータが表示されます。 以下のログメッセージとともに、ログイベントのヒストグラムが表示されます。
クライアントサーバーからsyslogを収集しているだけなので、現時点ではそれほど多くはありません。 ここで、ログを検索および参照できます。 ダッシュボードをカスタマイズすることもできます。
次のことを試してください。
-
「ルート」を検索して、誰かがルートとしてサーバーにログインしようとしているかどうかを確認します
-
特定のホスト名を検索します(
host: "hostname"
を検索します) -
ヒストグラム上の領域を選択するか、上のメニューから時間枠を変更します
-
ヒストグラムの下のメッセージをクリックして、データがどのようにフィルタリングされているかを確認します
Kibanaには、グラフ作成やフィルタリングなど、他にも多くの機能がありますので、お気軽にご確認ください!
結論
syslogがElasticsearchとLogstashによって一元化され、Kibanaでそれらを視覚化できるようになったので、重要なログをすべて一元化することから始めましょう。 あらゆる種類のログまたはインデックス付きデータをLogstashに送信できることを忘れないでください。ただし、grokを使用して解析および構造化すると、データはさらに便利になります。
新しいELKスタックを改善するには、Logstashとcreating Kibana dashboardsを使用して他のログを収集およびフィルタリングすることを検討する必要があります。 ELKスタックでgather system metrics by using Topbeatを実行することもできます。 これらのトピックはすべて、このシリーズの他のチュートリアルで説明されています。
がんばろう!