ELK 分散アプリケーション用のエンタープライズレベルのログ分析システム

 1. ELK に関する知識
1.1 ELK の概念とコンポーネント
ELK プラットフォームは、集中ログ処理のための完全なソリューションであり、3 つのオープン ソース ツール、ElasticSearch、Logstash、および Kiabana を使用して、より強力なユーザー クエリ、並べ替え、ログのロギングを実行します。統計的なニーズ。

 ElasticSearch:
Lucene (全文検索エンジン アーキテクチャ) に基づいて開発された分散ストレージおよび検索エンジンであり、さまざまなログを保存するために使用されます。
Elasticsearch は Java で開発されており、ブラウザを介して RESTful Web インターフェイスを通じて Elasticsearch と通信できます。
Elasticsearch は、フルテキストの構造化検索を可能にする、リアルタイムの分散型スケーラブルな検索エンジンです。通常、大量のログ データのインデックス作成と検索に使用され、さまざまな種類のドキュメントの検索にも使用できます。


Kiabana:
Kibana は通常、Elasticsearch と一緒にデプロイされます。Kibana は、Elasticsearch の強力なデータ視覚化ダッシュボードです。Kibana は、重要なデータの要約、分析、検索に使用できる Elasticsearch ログ データを参照するためのグラフィカル Web インターフェイスを提供します。


Logstash:
データ収集エンジンとして。さまざまなデータ ソースからのデータの動的な収集をサポートし、データのフィルタリング、分析、強化、形式の統一などの操作を実行して、ユーザーが指定した場所に保存し、通常は Elasticsearch に送信します。
Logstash は Ruby 言語で記述され、Java Virtual Machine (JVM) 上で動作し、データ送信、フォーマット処理、フォーマット出力を実現できる強力なデータ処理ツールです。Logstash は強力なプラグイン機能を備えており、ログ処理によく使用されます

フィルタリング モジュールは、logstash のコア機能です。

1.2 追加できるその他のコンポーネント 

Filebeat:
軽量のオープンソース ログ ファイル データ コレクター。通常、Filebeat はデータを収集する必要があるクライアントにインストールされ、ディレクトリとログ形式が指定されます。Filebeat はデータを迅速に収集し、分析のために logstash に送信したり、Elasticsearch ストレージに直接送信したりできます。JVM 上で実行されている logstash との比較パフォーマンスの点で、これには明らかな利点があり、それに代わるものです。EFLK アーキテクチャでよく使用されます。(フィルタリング機能を使用したい場合、Filebeat は logstash を完全に置き換えることはできません。Filebeat にはフィルタリング機能がありません。データを収集した後、処理のために logstash に送信する必要があります)


Filebeat と Logstash を組み合わせると、次のような利点が得られます。

Logstash には、受信スループットを吸収する適応型ディスクベースのバッファリング システムがあり、Elasticsearch によるデータの連続書き込みのプレッシャーから解放されます。
データベース、S3 オブジェクト ストレージ、メッセージング キューなどの他のデータ ソースから抽出します。
S3、HDFS (Hadoop Distributed File System) などの複数の宛先にデータを送信したり、ファイルに書き込んだりできます。
条件付きデータフロー ロジックを使用して、より複雑な処理パイプラインを構成します。


キャッシュ/メッセージ キュー (redis、kafka、RabbitMQ など):
トラフィックのピーク クリッピングとバッファリングは、高度に同時実行されるログ データに対して実行できます。このようなバッファリングにより、データをある程度損失から保護でき、またアプリケーション全体を分離することもできます。建築。


Fluentd:
人気のあるオープンソース データ コレクターです。Logstash は重すぎる、パフォーマンスが低い、リソース消費が多いという欠点があったため、後に Fluentd が登場しました。logstash と比較すると、Fluentd は使いやすく、リソース消費が少なく、パフォーマンスが高く、データ処理の効率性と信頼性が高いため、企業に歓迎され、logstash の代替となり、EFK アーキテクチャでよく使用されます。EFK は、Kubernetes クラスターでのログ データ収集のソリューションとしてもよく使用されます。
Fluentd は通常、Kubernetes クラスター内の DaemonSet を通じて実行されるため、各 Kubernetes ワーカー ノードでポッドを実行できます。これは、コンテナーのログ ファイルを取得し、ログ データをフィルター処理して変換し、そのデータを Elasticsearch クラスターに渡し、そこでインデックス付けおよび保存されることで機能します。
 

1.3 ELK を使用した ELK 拡張コンポーネント
: ES+logstash+kibana

ELFK: ES+logstash+filebeat+kibana

ELFK: ES+filebeat+logstash+kafka+kibana

1.4 大規模クラスタにおける ELK の利点
 
ログには主にシステム ログ、アプリケーション ログ、セキュリティ ログが含まれます。システムの運用と保守および開発者は、ログを使用してサーバー ソフトウェアとハ​​ードウェアの情報を理解し、構成プロセスのエラーとエラーの理由を確認できます。ログを頻繁に分析すると、サーバーの負荷、パフォーマンスのセキュリティを理解し、エラーを修正するためのタイムリーな措置を講じることができます。

多くの場合、基本的に単一マシンのログを分析するには grep や awk などのツールを使用できますが、ログが分散して別のデバイスに保存されている場合があります。数十または数百のサーバーを管理している場合でも、各マシンに順番にログインする従来の方法を使用してログを表示することになります。これは面倒で非効率的だと思いませんか。最優先事項として、オープンソースの syslog などの集中ログ管理を使用して、すべてのサーバー上のログを収集して要約します。ログを集中管理するようになってから、ログの統計と取得はさらに面倒なものになりました。一般に、取得と統計を実現するには、grep、awk、wc などの Linux コマンドを使用できますが、より要求の厳しいクエリ、並べ替え、統計の場合は、など。そして、膨大な数のマシンでは、この方法を使用するにはまだ少し無力です。

一般に、大規模システムは分散配置アーキテクチャであり、異なるサービスモジュールが異なるサーバに配置されているため、問題が発生した場合、ほとんどの場合、公開されているキー情報を基に、特定のサーバおよびサービスモジュールを特定する必要があります。問題を特定し、集中管理されたログ システムのセットを構築すると、問題の特定の効率が向上します。
 

1.5 ログシステムでの各種情報の収集 
:複数のソースからログデータを収集できます。

送信: ログデータを安定して分析、フィルタリングし、ストレージシステムに送信できます。

ストレージ: ログ データを保存します。

分析: UI 分析をサポートします。

警告: エラー報告、監視メカニズムを提供する機能。

1.6 ELK の動作原理
(1) ログを収集する必要があるすべてのサーバーに Logstash をデプロイするか、最初にログ サーバーでログを集中管理してからログ サーバーに Logstash をデプロイします。
(2) Logstash はログを収集し、フォーマットして Elasticsearch クラスターに出力します。
(3) Elasticsearch は、フォーマットされたデータにインデックスを付けて保存します。
(4) Kibana は ES クラスターからデータをクエリしてグラフを生成し、フロントエンド データを表示します

 概要: logstash はログ コレクターとして、データ ソースからデータを収集し、データをフィルター処理してフォーマットして Elasticsearch に保存し、kibana はログを視覚化します。

 2. ELKクラスタ導入
実験コンポーネント
サーバタイプ システムIP インストールするコンポーネント ハードウェア側面
Apacheノード CentOS7.4(64bit) 192.168.50.24 Logstash、Apache 2コア4G
ノード01ノード CentOS7.4(64bit) 192.168.50.25 Elasticsearch、 Kibana 2 コア 4G
ノード 02 ノード CentOS7.4 (64 ビット) 192.168.50.26 Elasticsearch 2 コア 4G
 

具体的な実験手順 
 ステップ 1: ELK Elasticsearch クラスターのデプロイメント

Node1 および Node2 ノードで動作する 

1. 環境整備

#Java 環境を設定します
 
java -version #インストールされていない場合は、yum -y をインストールします java
openjdk バージョン "1.8.0_131"
OpenJDK ランタイム環境 (ビルド 1.8.0_131-b12)
OpenJDK 64 ビット サーバー VM (ビルド 25.131-b12、混合モード)

2. Elasticsearch ソフトウェアの導入
(1) elasticsearch—rpm パッケージのインストール


#elasticsearch-6.7.2.rpm を /opt ディレクトリにアップロードします
cd /opt
rpm -ivh elasticsearch-6.7.2.rpm
 

(2) elasticsearch メイン設定ファイルを変更する


cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
vim /etc/elasticsearch/elasticsearch.yml
--17--コメントを解除し、クラスター名を指定します
。cluster.name: my-elk-cluster
-- 23 -- コメントを解除し、ノード名を指定します: Node1 ノードはノード 1、ノード 2 ノード

ノード
2データ ノード、false は no
--33--コメントを解除し、データ ストレージ パスを指定します。
path.data: /var/lib/elasticsearch
--37--コメントを解除し、ログ ストレージ パスを指定します。 path.logs
: /var/log/elasticsearch
--43--キャンセル 注、スワップ パーティションの使用は避けてください
bootstrap.memory_lock: true
--55--コメント解除、リスニング アドレスを設定します、0.0.0.0 はすべてのアドレスを表します
network.host: 0.0.0.0
--59--コメント解除、 ES サービスのデフォルト リスニング ポートは 9200
http.port: 9200 # 外部アクセス インターフェイスを提供する es クラスターを指定します
Transport.tcp.port: 9300 #es クラスターの内部通信インターフェイスを指定します
--68--コメント解除、クラスター検出はユニキャストを通じて実現され、検出されるノードを指定します
Discovery.zen.ping.unicast.hosts: [" 192.168.80.10:9300"、"192.168.80.11:9300"]

grep -v "^#" /etc/elasticsearch/elasticsearch.yml

(3) esパフォーマンスチューニングパラメータ


#最大メモリ サイズとファイル記述子の最大数を最適化する
vim /etc/security/limits.conf
......
* ソフト nofile 65536
* ハード nofile 65536
* ソフト nproc 32000
* ハード nproc 32000
* ソフト memlock unlimited
* ハードメモリロック無制限

vim /etc/systemd/system.conf
DefaultLimitNOFILE=65536
DefaultLimitNPROC=32000
DefaultLimitMEMLOCK=infinity


有効にするには再起動する必要があります
 
#elasticsearch ユーザーが所有するメモリ権限を最適化
する ES は lucene に基づいて構築されているため、lucene 設計の強みは、lucene がオペレーティング システムのメモリを有効活用してインデックス データをキャッシュし、高速なクエリを提供できることです。パフォーマンス。Lucene のインデックス ファイル セグメントは 1 つのファイルに保存され、不変です。OS にとって、インデックス ファイルをキャッシュに保持しておくと、迅速にアクセスできるため、物理メモリの半分を確保する必要があります。lucene の場合; 物理メモリの残りの半分は ES (JVM ヒープ) 用に予約されています。したがって、ES メモリ設定に関しては、次の原則に従うことができます。
1. マシンのメモリが 64G 未満の場合は、ES に 50%、オペレーティング システムに 50%、lucene の使用に 50% という一般原則に従います
。マシンのメモリは 64G を超えています。原則に従ってください: 4 ~ 32G のメモリを ES に割り当て、他のメモリは lucene が使用するオペレーティング システムに任せておくことが推奨されます。 vim /etc/sysctl.conf #メモリ マッピングの
 
最大
数プロセスが持つことができる領域、参照データ (割り当て 2g/262144、4g/4194304、8g/8388608)
vm.max_map_count=262144
 
sysctl -p
sysctl -a | grep vm.max_map_count
 

(4) elasticsearchが正常に起動するかどうか

systemctl start elasticsearch.service
systemctlenable elasticsearch.service
netstat -antp | systemctl start elasticsearch.service グレップ9200

(5) ノード情報の表示


ブラウザで http://192.168.80.10:9200、http://192.168.80.11:9200 にアクセスし、Node1、Node2 の情報を確認します。

ブラウザ アクセス http://192.168.80.10:9200/_cluster/health?pretty、http://192.168.80.11:9200/_cluster/health?pretty  

クラスターの正常性ステータスを表示すると、ステータス値が緑色 (緑色) であり、ノードが正常に実行されていることを示していることがわかります。

ブラウザで http://192.168.80.10:9200/_cluster/state?pretty にアクセスして、クラスターのステータス情報を確認します。

#上記の方法でクラスタの状態を確認するのは使いにくいですが、Elasticsearch-headプラグインをインストールするとより便利にクラスタを管理できるようになります。

注: elasticsearch サービスは以前のサービスとは異なります。メモリと CPU の要件が比較的高くなります。サービスが開始されると、パフォーマンスが不十分な仮想マシンはしばらく待機する必要があります。ポート 9200 とサービスのステータスに注意してください。サービス。


3. Elasticsearch-head プラグ
インのインストール Elasticsearch バージョン 5.0 以降、Elasticsearch-head プラグインは独立したサービスとしてインストールする必要があり、npm ツール (NodeJS のパッケージ管理ツール) を使用してインストールする必要があります。
Elasticsearch-headをインストールするには、依存するソフトウェアノードとphantomjsを事前にインストールする必要があります。
node: は、Chrome V8 エンジンに基づく JavaScript ランタイム環境です。
phantomjs: は Webkit ベースの JavaScript API であり、目に見えないブラウザとして理解でき、Webkit ベースのブラウザで実行できることはすべて実行できます。

(1) ノードのコンパイルとインストール
#ソフトウェア パッケージ node-v8.2.1.tar.gz を /opt にアップロードします
yum install gcc gcc-c++ make -y

cd /opt
tar zxvf ノード v8.2.1.tar.gz

cd node-v8.2.1/
./configure
make && make install

(2) phantomjs のインストール
# パッケージ phantomjs-2.1.1-linux-x86_64.tar.bz2 を
cd /opt
tar jxvf にアップロードします phantomjs-2.1.1-linux-x86_64.tar.bz2
cd /opt/phantomjs-2.1.1 -linux-x86_64/bin
cp phantomjs /usr/local/bin


(3) Elasticsearch-head データ可視化ツールのインストール
#ソフトウェア パッケージ elasticsearch-head-master.zip を /opt
cd /opt
unzip elasticsearch-head-master.zip
cd /opt/elasticsearch-head/
npm install //Install にアップロードします依存関係パッケージ

(4) メインの Elasticsearch 設定ファイルを変更します
vim /etc/elasticsearch/elasticsearch.yml
......
--最後に次の内容を追加します--
http.cors.enabled: true #クロスドメイン アクセス サポートを有効にする、デフォルトは false
http.cors.allow-origin: "*" #クロスドメイン アクセスが許可されるドメイン名アドレスがすべてであることを指定します。

systemctlはelasticsearchを再起動します
 

(5) elasticsearch-headサービスの起動


#サービスは解凍された elasticsearch-head ディレクトリで開始する必要があり、プロセスはこのディレクトリの gruntfile.js ファイルを読み取ります。そうしないと、開始に失敗する可能性があります。
cd /opt/elasticsearch-head-master
npm run start &

 (6) Elasticsearch-headによるElasticsearch情報の表示


ブラウザーから http://192.168.50.25:9100/ アドレスにアクセスし、クラスターに接続します。クラスターの健全性の値が緑色である場合は、クラスターが健全であることを意味します。
 


(7) インデックスの挿入
#コマンドを使用してテスト インデックスを挿入します。インデックスはindex-demo、タイプはtestです。
 

curl -X PUT 'localhost:9200/index-demo/test/1?pretty&pretty' -H 'content-Type: application/json' -d '{"user":"zhangsan","mesg":"hello world" }'
//出力は次のようになります。

{ "_index" : "index-demo", "_type" : "test", "_id" : "1", "_version" : 1, "result" : "created", "_shards" : { "total" : 2、「成功」: 2、「失敗」: 0 }、「作成」: true }












 

ブラウザで http://192.168.50.25:9100/ にアクセスしてインデックス情報を表示すると、デフォルトでインデックスが 5 つのフラグメントに分割されており、コピーがあることがわかります。

「データ参照」をクリックすると、node1にindex-demoとして作成されたインデックスと、type testの関連情報が表示されます。

このテスト用に挿入したデータも削除したい

curl -X DELETE 'localhost:9200/index-demo/test/1?pretty&pretty' -H 'content-Type: application/json' -d '{"user":"zhangsan","mesg":"hello world" }'
 


ELK Logstash デプロイメント (Apache ノード上で動作) -------------------
Logstash は通常、ログを監視する必要があるサーバーにデプロイされます。この場合、Logstash は Apache サーバーにデプロイされ、Apache サーバーのログ情報を収集し、Elasticsearch に送信します。 

1. ホスト名を変更します。
hostnamectl set-hostname apache

それは

2. Apache サービス (httpd) をインストールします
yum -y install httpd
systemctl start httpd

3. Java 環境をインストールします
yum -y install java
java -version

4. logstash のインストール
# ソフトウェア パッケージ logstash-6.7.2.rpm を /opt ディレクトリにアップロードします
cd /opt
rpm -ivh logstash-6.7.2.rpm                          
systemctl start logstash.service                      
systemctl enable logstash.service

ln -s /usr/share/logstash/bin/logstash /usr/local/bin/

 5. Logstash をテストする

Logstash コマンドの共通オプション:
-f: このオプションにより、Logstash の構成ファイルを指定し、その構成ファイルに従って Logstash の入力ストリームと出力ストリームを構成できます。
-e: コマンド ラインから取得され、入力と出力の後に Logstash の構成として使用できる文字列が続きます (空の場合、デフォルトで stdin が入力として使用され、stdout が出力として使用されます)。
-t: 構成ファイルが正しいかどうかをテストして終了します。


入力ストリームと出力ストリームを定義します。
#入力は標準入力を使用し、出力は標準出力を使用します (パイプラインと同様)
logstash -e 'input { stdin{} } Output { stdout{} }' //
 
 
ctrl+c を実行して終了します
 
#Use Rubydebug to出力の詳細な形式 表示、コーデックはコーデックです
logstash -e 'input { stdin{} } Output { stdout{ codec=>rubydebug } }'
 
 
#Logstash を使用して Elasticsearch に情報を書き込みます
logstash -e 'input { stdin{} } Output { elasticsearch { hosts=>["192.168.50.25:9200"] } }'

www.baidu.com #Type コンテンツ (標準入力)

www.sina.com.cn #Type コンテンツ (標準入力)

www.google.com # 何かを入力します (標準入力)

//結果は標準出力には表示されませんが、Elasticsearch に送信されます。ブラウザで http://192.168.50.25:9100/ にアクセスすると、インデックス情報やデータの閲覧が可能です。

6. logstash 構成ファイルを定義する

Logstash 構成ファイルは基本的に、入力、出力、フィルター (オプション、必要に応じて使用) の 3 つの部分で構成されます。
input: データ ソース、Kafka などの一般的なデータ ソース、ログ ファイルなどからデータを収集することを示します。
filter: データ フォーマット、データ型変換、データ フィルタリングなどを含むデータ処理層が正規表現をサポートすることを示します
。 Logstash によって収集されたデータはフィルターによって処理され、Elasticsearch に出力されます。
 

#形式は次のとおりです:
入力 {...}
フィルタ {...}
出力 {...}

※各セクションでは複数のアクセス方法を指定することも可能です。たとえば、2 つのログ ソース ファイルを指定する場合、形式は次のようになります。
input {     file { path => "/var/log/messages" type => "syslog"}     file { path => "/var/log/httpd /access.log" タイプ => "apache"}


 


#Logstash 設定ファイルを変更して、システム ログ /var/log/messages を収集し、elasticsearch に出力します。
chmod +r /var/log/messages #Logstash にログを読み取らせる


vim /etc/logstash/conf.d/system.conf
input {     file{         path => "/var/log/messages" #収集するログの場所を指定します         type => "system" #カスタムログタイプ識別         start_position = >"beginning" #最初からのコレクションを示します     } } Output {     elasticsearch { #elasticsearch         ホストに出力 => ["192.168.50.25:9200","192.168.50.26:9200"] #elasticsearch のアドレスとポートを指定server         Index = >"system-%{+YYYY.MM.dd}" #elasticsearch に出力するインデックス形式を指定します     } } systemctl restart logstash ブラウザ アクセス http://192.168.50.25:9100/ インデックス情報の表示












 

 

 

#path は、収集するログのファイルの場所を示します。
#type は、ES に入るときに結果に type という属性フィールドを追加します。
#start_position は、開始または終了に設定できます。開始はファイルを先頭から読み取ることを意味し、終了はファイルを読み取ることを意味します最新のものを読み取るには、これをignore_olderと一緒に使用します。
#ignore_olderは、ファイルが監視される期間を示します。デフォルトは1日で、単位は秒です。自分でカスタマイズできます。たとえば、デフォルトでは、次のファイルのみを読み取ります。 1 日以内に変更された #sincedb_path は
ファイルの読み取り進行状況の記録を示します。各行はファイルを表します。各行には 2 つの数字が含まれます。最初の番号はファイルの i ノードを表し、2 番目の番号はファイルが保存されている位置 (バイトオフセット) を表します。読まれます。デフォルトは $HOME/.sincedb*
#add_field 属性を追加します。ここでは、ローカル環境変数である ${HOSTNAME} を使用しています。ローカル環境変数を使用したい場合は、起動コマンドに --allow-env を追加する必要があります
 

cd /etc/logstash/conf.d/
vim system.conf
input {     file{         path =>"/var/log/messages"         type =>"system"         start_position =>"beginning"         #ignore_older => 604800         Becausedb_path => " /etc/logstash/sincedb_path/log_progress"         add_field => {"log_hostname"=>"${HOSTNAME}"} }     } Output {     elasticsearch {                                                         hosts => ["192.168.80.10:9200","192.168.80.11:9200" ]             インデックス =>"システム-%{+YYYY.MM.                            dd}"     } }









 





mkdir /etc/logstash/sincedb_path/
touch /etc/logstash/sincedb_path/log_progress
chown logstash:logstash /etc/logstash/sincedb_path/log_progress

logstash -f system.conf

ブラウザで http://192.168.50.25:9100/ にアクセスしてインデックス情報を表示します

ステップ3:ELK Kiabanaの導入(Node1ノードでの操作)
1.Kiabana をインストールします
# パッケージ kibana-6.7.2-x86_64.rpm を /opt ディレクトリにアップロードします
cd /opt
rpm -ivh kibana-6.7.2-x86_64.rpm

2. Kibana のメイン構成ファイルを設定します
vim /etc/kibana/kibana.yml
--2--uncomment、Kiabana サービスのデフォルトのリスニング ポートは 5601 です
。server.port: 5601
--7--uncomment、Kiabana のリスニング アドレス、0.0.0.0 を設定します。すべてのアドレスを表します
。server.host: "0.0.0.0"
--28-- コメントを解除し、ES サーバーの IP を構成します。クラスタの場合は、クラスタ内のマスター ノードの IP を構成します
elasticsearch.url: ["http :/ /192.168.80.10:9200", "http://192.168.80.11:9200"] 
--37--コメントを解除し、.kibana インデックスを追加するように設定します
kibana.index: ".kibana" in elasticsearch
--96--キャンセル 注: kibana のログ ファイル パスを設定します (手動で作成する必要があります)。それ以外の場合、デフォルトではログがメッセージ
logging.dest: /var/log/kibana.logに記録されます。

3. ログファイルを作成し、Kibana サービスを開始します
touch /var/log/kibana.log
chown kibana:kibana /var/log/kibana.log

systemctl kibana.service を開始
systemctl kibana.service を有効にする

netstat -natp | グリップ 5601

4. Kibana
ブラウザが http://192.168.50.25:5601 にアクセスしていることを確認します。
最初のログインでは、Elasticsearch インデックスを追加する必要があります: [
管理] -> [インデックス パターン] -> [インデックス パターンの作成]
インデックス パターンの入力: system-* #以前の内容を入力します。設定されたインデックス名 出力プレフィックス「system」

次のステップ -> タイム フィルター フィールド名 选择 @timestamp -> インデックス パターンの作成

「検出」ボタンをクリックすると、チャート情報とログ情報が表示されます。
データ表示は、「Available Fields」の「host」でカテゴリ別に表示でき、「追加」ボタンをクリックすると、「host」でフィルタリングされた結果が表示されます。

5. Apache サーバーのログ (アクセス、エラー) を Elasticsearch に追加し、Kibana 経由で表示します。


vim /etc/logstash/conf.d/apache_log.conf
input {     file{         path => "/etc/httpd/logs/access_log"         type => "access"         start_position => "beginning"     }     file{         path => "/ etc/httpd/logs/error_log"         type => "error"         start_position => "beginning"     } } Output {     if [type] == "access" {         elasticsearch {             hosts => ["192.168.80.10:9200","192.168 .80.11:9200"]             インデックス => "apache_access-%{+YYYY.MM.dd}"         }     }     if [タイプ] == "エラー" {         elasticsearch {




















            ホスト => ["192.168.80.10:9200","192.168.80.11:9200"]
            インデックス => "apache_error-%{+YYYY.MM.dd}"
        }
    }
}
 

cd /etc/logstash/conf.d/
/usr/share/logstash/bin/logstash -f apache_log.conf

ブラウザで http://192.168.50.25:9100 にアクセスし、インデックスが作成されているかどうかを確認します。

ブラウザで http://192.168.50.25:5601 にアクセスして Kibana にログインし、「インデックス パターン -> インデックス パターンの作成」ボタンをクリックしてインデックスを追加し、インデックス名に以前設定した出力プレフィックス apache_access-* を入力し、そして「作成」ボタンをクリックします。同様に apache_error-* インデックスを追加します。
[検出] タブを選択し、中央のドロップダウン リストで新しく追加された apache_access-* インデックスと apache_error-* インデックスを選択すると、対応するグラフとログ情報が表示されます。

おすすめ

転載: blog.csdn.net/zl965230/article/details/131043320