elasticsearchラーニング(ファイブ) - 分散ログ収集ELK(ElasticSearch + Logstash + Kibana)

A、ELK紹介

1.1、伝統的なログ収集問題

注:DOは、データベース内部に格納されてログインできないデータベースが永続的にデータを格納することであるため、ログがmongDBに保存することができ、それほど重要ではありません、Redisの。どのような支払指図書は何に加えて、コールバックパラメータ、文書やその他の重要なログはデータベースに格納することができます

- あなたは、ログのバグを見つけたい場合は、サーバの数百数十の管理は、各マシンのログを確認するために、伝統的な方法にログオンする場合>、ログは通常、異なる記憶装置に広がっています。

- >その後、中央集中型のログ管理にアップグレードしますが、統計やログを取得面倒なこと、の一般的な使用であり、Linuxのコマンドのgrep、awkは、とトイレとその達成できる検索や統計が、より厳しいクエリのために、ソートや統計非常に長い時間またはサーバが便利ではありません。

- >最後に、ELK分散ログ収集がありました。

例えば:

 

ELK分散ログ収集システムは何1.2

:ELKのelasticsearch + + Kibana Logstash組成物。

(1)ElasticSearchはじめに: Luceneのオープンソースの検索および分析サービスに基づいて配布されます。これは、分散、ゼロコンフィギュレーション、自動検出、自動インデックス紙、特徴RESTfulなスタイルのインターフェイスを、

(2)Logstash概要:パイプラインは通常ESデータを行い、ログは、収集し、濾過し、分析することができ、パイプラインを処理するオープンソースのデータです。ことが可能にデータをロード elasticsearch logstash 、Webインタフェースを検索し、すべてのログを表示します。C / S アーキテクチャは、クライアント収集ログにホスト必要に設置された端末は、サーバ側は、受信したログ等のフィルタは、変更各ノードの責任とに送られるelasticsearch アップ

(3)Kibana:ESベースのフロントエンドプレゼンテーションツールのブラウザは、 ES + Logstashインターフェイスのために行うことができます

1.3、分散ログ収集のELK原理

(1)各サーバノードのクラスタインストールLogstashログ収集システムプラグイン;

(4)Logstashがログインサーバノードへの各入力と、

(2)LogstashログフォーマットJSON形式を日ElasticSearchに異なるインデックス出力を作成し、その日の形で;

(3)ブラウザ Kibanaクエリーログ情報を。

回路図:

 1.4、ELKのビルド手順

一連のステップを構築する:ESを- > Logstash - > Kibana

二、Logstash原則と環境の構造

2.1、Logstash原則

Logstash事件处理有三个阶段:inputs (接收)→ filters (处理)→ outputs(转发日志)。支持系统日志、错误日志、应用日志、webserver日志等可以抛出去的所有日志类型。

2.2、三个阶段了解

(1)Input:输入数据到logstash

  • 一些常用的输入为:
  • file:从文件系统的文件中读取,类似于tial -f命令
  • syslog:在514端口上监听系统日志消息,并根据RFC3164标准进行解析
  • redis:从redis service中读取
  • beats:从filebeat中读取


(2)Filters:数据中间处理,对数据进行操作:

  • 一些常用的过滤器为:
  • grok:解析任意文本数据,Grok 是 Logstash 最重要的插件。它的主要作用就是将文本格式的字符串,转换成为具体的结构化的数据,配合正则表达式使用。内置120多个解析语法。
  • mutate:对字段进行转换。例如对字段进行删除、替换、修改、重命名等。
  • drop:丢弃一部分events不进行处理。
  • clone:拷贝 event,这个过程中也可以添加或移除字段。
  • geoip:添加地理信息(为前台kibana图形化展示使用)
  • Outputs:outputs是logstash处理管道的最末端组件。一个event可以在处理过程中经过多重输出,但是一旦所有的outputs都执行结束,这个event也就完成生命周期。

(3)一些常见的outputs为

  • elasticsearch:可以高效的保存数据,并且能够方便和简单的进行查询。
  • file:将event数据保存到文件中。
  • graphite:将event数据发送到图形化组件中,一个很流行的开源存储图形化展示的组件。
  • Codecs:codecs 是基于数据流的过滤器,它可以作为input,output的一部分配置。Codecs可以帮助你轻松的分割发送过来已经被序列化的数据。
  • 一些常见的codecs:
  • json:使用json格式对数据进行编码/解码。
  • multiline:将汇多个事件中数据汇总为一个单一的行。比如:java异常信息和堆栈信息。

2.3、Logstash环境搭建

Logstash环境安装:

  • 1、上传logstash安装包(资料)
  • 2、解压tar –zxvf  logstash-6.4.3.tar.gz
  • 3、在config目录下放入mayikt01.conf 读入并且读出日志信息
GET /mymayikt/user/_search
{
  "from": 0,
  "size": 2, 
  "query": {
    "match": {
      
        "car": "奥迪"
      }
  }
}

 

 

 

发布了52 篇原创文章 · 获赞 116 · 访问量 5万+

おすすめ

転載: blog.csdn.net/RuiKe1400360107/article/details/103916811