ELKログファイル分析システム
1.ELKログファイルシステムの紹介
ELKは、ログシステム管理用のオープンソースアーキテクチャであり、Logstash、ElasticSearch、Kiabanaの3つのオープンソースソフトウェアで構成されています。統計を分析および視覚化し、あらゆるソースおよびあらゆるタイプのログファイルを表示できます。
2、ElasticSearchクラスターのインストールと構築
ElasticSearchクラスター構築アドレス:クリックして移動
パッケージインストールノードの概要
量 | CPU名 | 住所 | バージョン | インストールされているソフトウェア |
---|---|---|---|---|
最初 | node1 | 192.168.10.5 | Linux7.464ビット | ElasticSearchクラスター |
2番目の駅 | node2 | 192.168.10.6 | Linux7.464ビット | ElasticSearchクラスター、キアバナ |
3番目の駅 | apache | 192.168.10.7 | Linux7.464ビット | Logstash |
ELKは、前の記事で構築されたElasticSearchクラスターに基づいて構築されています
第三に、Logstashツールの導入とインストール
パッケージは次のアドレスからダウンロードする必要があります
ElasticSearchクラスター構築アドレス:クリックして移動
1.Logstashツールの概要
Logstashは、データ送信、フォーマット処理、フォーマットされた出力、およびログ処理によく使用される強力なプラグイン機能を実現できる強力なデータ処理ツールです。
- Logstashの哲学は非常に単純で、3つのことしか行いません。
- 収集:データ入力
- エンリッチ:フィルタリング、書き換えなどのデータ処理。
- トランスポート:データ出力
LogStashの主なコンポーネント:
- 配送業者:ログコレクター。ローカルログファイルの変更を監視し、ログファイルの最新のコンテンツを時間内に収集する責任があります。通常、リモートエージェント(エージェント)はこのコンポーネントを実行するだけで済みます。
- インデクサー:ログストア。ログの受信とローカルファイルへの書き込みを担当します。
- ブローカー:ログハブ。複数の荷送人と複数のインデクサーを接続する責任があります
- 検索と保存:イベントの検索と保存を可能にします。
- Webインターフェイス:Webベースの表示インターフェイス
- 上記のコンポーネントをLogStashアーキテクチャに個別にデプロイできるため、クラスターのスケーラビリティが向上します。
LogStashホストの分類:
1)エージェントホスト:イベントの配送者として、さまざまなログデータを中央ホストに送信します。Logstashエージェントプログラムを実行するだけで済みます
。2)中央ホスト:ブローカー、インデクサー、検索とストレージ、Webインターフェイスなどのさまざまなコンポーネントを実行して、ログデータの受信、処理、保存を実現できます。
2. Logstashツールをインストールして、apacheサービスログとシステムログを収集します
1)losgstashおよびapacheサービスをインストールして開始します
ファイアウォールとSelinuxをオフにします
[root@localhost ~]# hostnamectl set-hostname apache
[root@localhost ~]# su
[root@apache ~]# yum -y install httpd
[root@apache ~]# systemctl start httpd
[root@apache ~]# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
\\上传软件包
[root@apache ~]# rpm -ivh logstash-5.5.1.rpm
[root@apache ~]# systemctl start logstash.service
[root@apache ~]# systemctl enable logstash.service
[root@apache ~]# ln -s /usr/share/logstash/bin/logstash /usr/local/bin/
//链接logstash命令到环境变量中
2. Logstashコマンドテストを実行し、システムログとapacheログをElasticSearchクラスターにアップロードします
1)Logstashコマンドテスト
[root @ apache opt] #logstash -e'input {stdin {}} output {stdout {}} '
パラメータの説明:
- -fこのオプションを使用すると、logstash構成ファイルを指定し、構成ファイルに従ってlogstashサービスを再ロードできます。
- -eの後に文字列が続く場合、文字列はlogstashの構成として使用できます( ""の場合、stdinは入力として使用され、stdoutはデフォルトで出力として使用されます)
stdin {}およびstdout {}入力は標準入力を使用し、出力は標準出力を使用します
18:42:57.986 [Api Webserver] INFO logstash.agent-Logstash APIエンドポイントを正常に開始しました{:port => 9601}
www.wodejia.com //手動標準入力
2020-10-29T10:43:14.261Z apache www.wodejia .com //標準出力を変換する
[root @ apache〜] #logstash -e'input {stdin {}} output {stdout {codec => rubydebug}} '
·······················
18:46:34.205 [Api Webserver] INFO logstash.agent-Logstash APIエンドポイントを正常に開始しました{:port => 9601}
www.wodejia.com//手動標準入力
{ "@timestamp" => 2020-10-29T10:46 :41.844Z、“ @ version” =>“ 1”、“ host” =>“ apache”、//オープンプログラミング言語を変換して“ message” =>“ www.wodejia.com”を出力}
2)システムログとapacheログを収集し、ElasticSearchクラスターにアップロードします
[root@apache ~]# cd /etc/logstash/conf.d
[root@apache ~]# chown o+r /var/log/messages //允许其他用户读取
[root@apache conf.d]# vim system.conf //上传系统日志配置文件
input { //输入
file{ //类型为文件
path => "/var/log/messages" //路径
type => "system" //类型自定义
start_position => "beginning" //从开始得位置上传
}
}
output { //输出到
elasticsearch { //转换的服务类型
hosts => ["192.168.10.5:9200"] //服务得地址名
index => "system-%{+YYYY.MM.dd}" //创建的索引名和索引格式
}
}
[root@apache conf.d]# vim apache.conf //编辑apache服务上传日志
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.10.6:9200"]
index => "apache_access-%{+YYYY.MM.dd}"
}
}
if [type] == "error" {
elasticsearch{
hosts => ["192.168.10.6:9200"]
index => "apache_error-%{+YYYY.MM.dd}"
}
}
}
[root@apache conf.d]# systemctl restart logstash.service //重启服务
3)アップロードが成功したかどうかをテストします
- apacheログが成功しない場合は、ブラウザーでサーバーのhttpサービスにアクセスできます。または、httpdサービスを再起動し、ブラウザで1回サービスに正常にアクセスします。そうしないと、成功したapacheアクセスのログが空になり、アップロードされません。
- [root @ apache conf.d] #logstash -f /etc/logstash/conf.d/apache.conf//構成ファイルをリロードします
4、キアバナツールの紹介とインストール
1.キアバナツールの紹介
Kibanaは、Elasticsearchのオープンソース分析および視覚化プラットフォームであり、Elasticsearchインデックスに格納されているインタラクティブデータを検索および表示するために使用されます。
- Kibanaは、高度なデータ分析を実行し、さまざまなチャートを表示できます。
- Kibanaを使用すると、大量のデータを理解しやすくなります。操作は簡単で、ブラウザベースのユーザーインターフェイスはダッシュボード(ダッシュボード)をすばやく作成して、Elasticsearchクエリのダイナミクスをリアルタイムで表示できます。
Kibanaの主な機能:
1。シームレスなElasticsearch統合。Kibanaアーキテクチャは、Elasticsearch用にカスタマイズされており、Elasticsearchインデックスに構造化データと非構造化データを追加できます。Kibanaは、Elasticsearchの強力な検索および分析機能も最大限に活用しています。
2.データを統合します。Kibanaは、大量のデータをより適切に処理し、それに応じて縦棒グラフ、線グラフ、散布図、ヒストグラム、円グラフ、およびマップを作成できます。
3.複雑なデータ分析。Kibanaは、Elasticsearchの分析機能を改善し、データをよりインテリジェントに分析し、数学的な変換を実行し、必要に応じてデータをセグメント化できるようにしました。
4.より多くのチームメンバーに利益をもたらします。強力なデータベース視覚化インターフェースにより、すべてのビジネスポジションがデータ収集の恩恵を受けることができます。
5.柔軟なインターフェース。共有が簡単です。Kibanaを使用すると、データをより便利に作成、保存、共有し、視覚化されたデータをすばやく伝達できます。
6.シンプルな構成。Kibanaは設定と有効化が非常に簡単で、ユーザーエクスペリエンスは非常にフレンドリーです。Kibanaには、すばやく起動して実行できるWebサーバーが付属しています。
7.複数のデータソースを視覚化します。Kibanaは、Logstash、ES-Hadoop、Beats、またはサードパーティテクノロジーのデータをElasticsearchに簡単に統合できます。サポートされているサードパーティテクノロジーには、Apache Flume、Fluentdなどがあります。
8.単純なデータのエクスポート。Kibanaは、関心のあるデータを簡単にエクスポートし、他のデータコレクションとマージし、モデル化して分析して新しい結果を見つけることができます。
2.Kibanaのインストールと構成
//上传kibana-5.5.1-x86_64.rpm软件包
[root@node1 ~]# rpm -ivh kibana-5.5.1-x86_64.rpm
[root@node1 ~]# cd /etc/kibana/
[root@node1 kibana]# cp kibana.yml kibana.yml.bak //备份配置文件
[root@node1 kibana]# vi kibana.yml //修改配置文件
server.port: 5601 //kibana侦听的端口
server.host: "0.0.0.0" //kibana侦听的地址
elasticsearch.url: "http://192.168.100.5:9200” //和elasticsearch建立联系
kibana.index: ".kibana" //在elasticsearch中添加.kibana索引
[root@node1 kibana]# systemctl start kibana.service //启动kibana服务
[root@node1 kibana]# systemctl enable kibana.service //开机启动kibana服务
3.ブラウザを使用して、Kibanaが正常に作成されたかどうかを確認します
4.統計分析のためにElasticSearchのインデックスログをKiabanaに追加します
- 詳細な統計分析と表示情報を見る