ELK 005学習実験:いくつかのビートのプレゼンテーションツール

I.背景需要

nginxのは非常に良いのWebサーバで、nginxのは、多くの場合、アクセスポータルプロジェクトとしての役割を果たすので、nginxのは、プロジェクトに大きな影響を持つことになります実行している問題がある場合、その後、nginxの性能保証は、非常に重要になるだろう、となります我々は、リアルタイムnginxの対策を実行してnginxの動作を把握する必要があり、それはのnginxのnginxのの運用パフォーマンス指標のログを収集し、分析する必要があるだろう

業務プロセス

説明

ビートとログデータが収集nginxのインデックスデータ

収集されたデータはElasticsearchに送られるビート

kibana読み出されたデータの分析

Kibana別に表示、ユーザー分析レポート

それをインストールするには、nginxの、実験的使用、シンプルをインストールします。

[ルート@ノード4〜]#のCDは/ usr / local / srcに/

[ルート@ノード4 SRC]#wgetのhttp://nginx.org/download/nginx-1.16.1.tar.gz

[ルート@ノード4 SRC]#yumを-y PCRE-develのZLIB-develのインストール

[ルート@ノード4 SRC]#タール-xfのnginx-1.16.1.tar.gz

[ルート@ノード4 SRC]#のCDのnginxの-1.16.1

[ルート@ノード4のnginx-1.16.1]#./configureを

[ルート@ノード4のnginx-1.16.1]#メイク&& make installを

[ルート@ノード4のnginx-1.16.1]#LLは/ usr / local / nginxの/

[ルート@ノード4のnginx-1.16.1]#LN -sは/ usr / local / nginxの/ sbinに/ nginxのは/ usr / binに/

スタートnginxの
[ノード4のnginx-1.16.1 @ルート]#nginxの

[ルート@ノード4のnginx-1.16.1]#netstatの-ntlp

TCP         0       0  0.00.080               0.00.0:* LISTEN       14721マスター:/ nginxのを

アクセス

 

 

 

リアルタイムのログを見ます

[ルート@ノード4〜]#テール-f /usr/local/nginx/logs/access.log

192.168.132.1 - - [24/11月/ 2019:03:15:12 -0500] "GET / HTTP / 1.1" 304 0 " - "の「Mozilla / 5.0(Windows NTの10.0; Win64の、のx64)のAppleWebKit / 537.36(KHTML 、ヤモリ等)クローム/ 78.0.3904.108サファリ/ 537.36"
192.168.132.1 - - [24/11月/ 2019:03:15:13 -0500] "GET / HTTP / 1.1" 304 0 " - "の「Mozilla / 5.0( Windows NTの10.0; Win64の、ヤモリのようなx64の)のAppleWebKit / 537.36(KHTML、)クローム/ 78.0.3904.108サファリ/ 537.36"

2拍について

加速度データの可視化の経験によって、モジュール2.1

そして内部Filebeat Metricbeatは、共通ログフォーマット(例えばNginxは、アパッチ等又はRedisのドッカーシステムメトリック)、解析プロセス可視化のコレクションを簡単にするために、モジュールを統合します。ただ、コマンドラインを実行して、あなたが探索を開始することができます。

2.2トラックデータリネージ

ビートは、このようなKubernetesドッカーや他のコンテナだけでなく、ホストからのコンテンツによって、これらの記録のために必要なメタデータのクラウドプラットフォームサービスプロバイダとして、そして、あなたのユニークな環境のログと統計から収集し、その後、弾性スタックに転送します。アーキテクチャからの転送データを必要とせずに、サーバーからコンテナを監視するために、我々はあなたが必要なコンテキストを持っていることを確認します。

2.3ビートシリーズ

 

 

三filebeat

3.1ログ取得軽量

あなたは、顔の数百あるいは数千台のサーバー、仮想マシンとコンテナ生成されたログを持っている場合は、SSHは、それに別れを告げます。Filebeatはシンプルなものが複雑されていないのでこと、軽量タイプの方法では、と要約ログファイルを転送するためにあなたを提供します。

filebeat利点

  1. どのような環境でも、常にアプリケーションの中断のリスクを潜んでいます。中断がある場合は、ログ行を読んで転送することができFilebeatは、すべての後に正常に戻ってなり、中断前の停止位置から続けています。
  2. Filebeatが大幅共通ログ形式、単一のコマンドの収集、分析および視覚化プロセスを簡素化することができ、モジュールの様々な(auditdは、Apacheのは、nginxの、システム、MySQLの、など)を構築しました。それは自動的にデフォルトのパス(依存オペレーティングシステムに依存)になると一緒にElasticsearch取得ノードとKibanaダッシュボードを定義コンジットので、これを達成することができました。また、Filebeat機械学習モジュールの数はまた、事前構成タスクを含みます。
  3. 正在对所有内容进行容器化,或者正在云端环境中运行?通过 Elastic Stack,可以轻松地监测容器和云服务。在 Kubernetes、Docker 或云端部署中部署 Filebeat,即可获得所有的日志流:信息十分完整,包括日志流的 pod、容器、节点、VM、主机以及自动关联时用到的其他元数据。此外,Beats Autodiscover 功能可检测到新容器,并使用恰当的 Filebeat 模块对这些容器进行自适应监测。
  4. 当将数据发送到 Logstash 或 Elasticsearch 时,Filebeat 使用背压敏感协议,以应对更多的数据量。如果 Logstash 正在忙于处理数据,则会告诉 Filebeat 减慢读取速度。一旦拥堵得到解决,Filebeat 就会恢复到原来的步伐并继续传输数据。
  5. Filebeat 是 Elastic Stack 的一部分,因此能够与 Logstash、Elasticsearch 和 Kibana 无缝协作。无论您要使用 Logstash 转换或充实日志和文件,还是在 Elasticsearch 中随意处理一些数据分析,亦或在 Kibana 中构建和分享仪表板,Filebeat 都能轻松地将您的数据发送至最关键的地方。

3.1 架构

3.2 部署filebeat

[root@node4 ~]# cd /usr/local/src/

[root@node4 src]# wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.4.2-linux-x86_64.tar.gz

[root@node4 src]# tar -xf filebeat-7.4.2-linux-x86_64.tar.gz

[root@node4 src]# mv filebeat-7.4.2-linux-x86_64 /usr/local/filebeat

[root@node4 src]# cd /usr/local/filebeat

[root@node4 filebeat]# vi darrentest.yml

filebeat.inputs:
- type: stdin
  enabled: true
setup.template.settings:
  index.number_of_shards: 3
output.console:                  #表示输出到控制台
  pretty: true
  enable: true

3.3 启动

[root@node4 filebeat]# ./filebeat -e -c darrentest.yml

输入一个hello

hello
{
  "@timestamp": "2019-11-24T08:41:55.256Z",
  "@metadata": {
    "beat": "filebeat",
    "type": "_doc",
    "version": "7.4.2"
  },
  "host": {
    "name": "node4"
  },
  "agent": {
    "ephemeral_id": "615a3c81-396c-49db-a322-3d2c94446500",
    "hostname": "node4",
    "id": "e4d0d55f-9fd7-45bc-8443-606c9ac55552",
    "version": "7.4.2",
    "type": "filebeat"
  },
  "log": {
    "file": {
      "path": ""
    },
    "offset": 0
  },
  "message": "hello",
  "input": {
    "type": "stdin"
  },
  "ecs": {
    "version": "1.1.0"
  }
}

四 filebeat读取文件

4.1 控制台简单输出日志文件

配置一个yml文件

[root@node4 filebeat]# cp darrentest.yml darren-log.yml

[root@node4 filebeat]# vi darren-log.yml

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /opt/logs/*.log
setup.template.settings:
  index.number_of_shards: 3
output.console:
  pretty: true
  enable: true

[root@node4 filebeat]# ./filebeat -e -c darrent-log.yml

[root@node4 ~]# mkdir /opt/logs

[root@node4 ~]# touch /opt/logs/a.log

[root@node4 ~]# echo "hello.I'm darren" > /opt/logs/a.log

{
  "@timestamp": "2019-11-24T09:03:31.027Z",
  "@metadata": {
    "beat": "filebeat",
    "type": "_doc",
    "version": "7.4.2"
  },
  "log": {
    "offset": 0,
    "file": {
      "path": "/opt/logs/a.log"
    }
  },
  "message": "hello.I'm darren",
  "input": {
    "type": "log"
  },
  "host": {
    "name": "node4"
  },
  "agent": {
    "id": "2832793b-3bb6-4081-b05f-1955815440d0",
    "version": "7.4.2",
    "type": "filebeat",
    "ephemeral_id": "40c00976-1a62-4db5-9ead-876a28aad6a6",
    "hostname": "node4"
  },
  "ecs": {
    "version": "1.1.0"
  }
}

[root@node4 ~]# echo "345" > /opt/logs/a.log

{
  "@timestamp": "2019-11-24T09:22:41.161Z",
  "@metadata": {
    "beat": "filebeat",
    "type": "_doc",
    "version": "7.4.2"
  },
  "agent": {
    "id": "2832793b-3bb6-4081-b05f-1955815440d0",
    "version": "7.4.2",
    "type": "filebeat",
    "ephemeral_id": "40c00976-1a62-4db5-9ead-876a28aad6a6",
    "hostname": "node4"
  },
  "log": {
    "file": {
      "path": "/opt/logs/a.log"
    },
    "offset": 0
  },
  "message": "345",
  "input": {
    "type": "log"
  },
  "ecs": {
    "version": "1.1.0"
  },
  "host": {
    "name": "node4"
  }
}

4.2 添加一个tag,输出日志

[root@node4 filebeat]# vi darren-log.yml

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /opt/logs/a.log
  tags: ["web","test"]
setup.template.settings:
  index.number_of_shards: 3
output.console:
  pretty: true
  enable: true

[root@node4 filebeat]# ./filebeat -e -c darren-log.yml

[root@node4 ~]# echo "34567" > /opt/logs/a.log

输出

{
  "@timestamp": "2019-11-24T09:27:29.553Z",
  "@metadata": {
    "beat": "filebeat",
    "type": "_doc",
    "version": "7.4.2"
  },
  "input": {
    "type": "log"
  },
  "agent": {
    "type": "filebeat",
    "ephemeral_id": "5f74afa4-42a5-47de-a3c6-82c1563ed44d",
    "hostname": "node4",
    "id": "2832793b-3bb6-4081-b05f-1955815440d0",
    "version": "7.4.2"
  },
  "ecs": {
    "version": "1.1.0"
  },
  "host": {
    "name": "node4"
  },
  "log": {
    "offset": 0,
    "file": {
      "path": "/opt/logs/a.log"
    }
  },
  "message": "34567",
  "tags": [
    "web",
    "test"
  ]
}

4.3 添加自定义字段输出日志

[root@node4 filebeat]# vi darren-log.yml

ilebeat.inputs:
- type: log
  enabled: true
  paths:
    - /opt/logs/a.log
  tags: ["web","test"]                #添加tag
  fields:                             #自定义字段
    from: test-web
  fields_under_root: true             #设为true为添加到根节点
setup.template.settings:
  index.number_of_shards: 3
output.console:
  pretty: true
  enable: true

[root@node4 filebeat]# ./filebeat -e -c darren-log.yml

[root@node4 ~]# echo "345678910"  > /opt/logs/a.log

输出

{
  "@timestamp": "2019-11-24T09:40:27.804Z",
  "@metadata": {
    "beat": "filebeat",
    "type": "_doc",
    "version": "7.4.2"
  },
  "message": "34567891011",
  "tags": [
    "web",
    "test"
  ],
  "input": {
    "type": "log"
  },
  "from": "test-web",
  "ecs": {
    "version": "1.1.0"
  },
  "host": {
    "name": "node4"
  },
  "agent": {
    "ephemeral_id": "28e91024-d253-4f8f-b4e6-0b26db1a1087",
    "hostname": "node4",
    "id": "2832793b-3bb6-4081-b05f-1955815440d0",
    "version": "7.4.2",
    "type": "filebeat"
  },
  "log": {
    "file": {
      "path": "/opt/logs/a.log"
    },
    "offset": 12
  }
}

4.4 输出到elasticsearch

修改yml文件

[root@node4 filebeat]# vi darren-log.yml

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /opt/logs/a.log
  tags: ["web","test"]
  fields:
    from: test-web
  fields_under_root: true
setup.template.settings:
  index.number_of_shards: 3
output.elasticsearch:
  hosts: ["192.168.132.131","192.168.132.132","192.168.132.133"]
#output.console:
#  pretty: true
#  enable: true

启动

[root@node4 filebeat]# ./filebeat -e -c darren-log.yml

输入三个数据

[root@node4 ~]# echo "123" >> /opt/logs/a.log
[root@node4 ~]# echo "345" >> /opt/logs/a.log
[root@node4 ~]# echo "4456" >> /opt/logs/a.log

4.5 Elasticsearch输出

查看elasticsearch

查看数据

数据已经读取到

filebeat的简单使用实验先做到这里

おすすめ

転載: www.cnblogs.com/zyxnhr/p/11923038.html
おすすめ