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": "奥迪"
}
}
}