ELK(十)ELK其他组件FileBeat MetricBeat Kibana Logstash

1. Nginx日志分析系统

1.1 项目需求

  Nginx是一款非常优秀的Web服务器, 往往Nginx服务会作为项目的访问入口, 那么, Nginx的性能保障就变得非常重要了, 如果Nginx的运行出现了问题就会对项目有较大的影响, 所以, 我们需要对Nginx的运行有监控措施, 实时掌握Nginx的运行情况, 那就需要手机Nginx的运行指标和分析Nginx 的运行日志了

1.2 业务流程

在这里插入图片描述

2. 部署安装Nginx

tar -xvf nginx-1.11.6.tar.gz
yum -y install pcre-devel zlib-devel
yum -y install gcc
yum -y install gcc-c++
cd nginx-1.11.6
./configure
make install
# 启动
cd /usr/local/nginx/sbin/
./nginx

# 通过浏览器访问页面并且查看日志
# 访问地址: http://ip即可
tail -f /usr/local/nginx/logs/access.log

3. Beats简介

官网: https://www.elastic.co/cn/products/beats

4. Filebeat

4.1 架构

在这里插入图片描述
收集到指定目录下的log日志文件, 通过Harvester(收割器)不断采集日志文件内容, spooler(卷轴)把收割来的数据传输到下游的一些应用中, 可以配置成ES, Logstash等

4.2 部署与运行

下载https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.5.4-linux-x86_64.tar.gz

mkdir /mystudy/beats
上传压缩包到上边的目录中
tar -xvf filebeat-6.5.4-linux-x86_64.tar.gz
cd filebeat-6.5.4-linux-x86_64

# 创建如下配置文件 myfilebeat.yml 这个配置文件是一个测试配置文件, 输入方式是控制台输入, 并不是文件输入
filebeat.inputs:
- type: stdin
  enabled: true
setup.template.settings:
  index.number_of_shards: 3
output.console:
  pretty: true
  enable: true

# 启动filebeat -e代表标准启动 -c代表指定配置文件
./filebeat -e -c myfilebeat.yml


# 输入hello运行结果如下
hello

在这里插入图片描述

4.3 读取日志文件

设置读取日志文件的配置myfilebeat-log.yml

filebeat.inputs:
- type: log  # 定义输入类型为log日志
  enabled: true
  paths:
    - /mystudy/beats/logs/*.log   # 配置日志文件路径
setup.template.settings:
  index.number_of_shards: 3  # 设置在es中存储的分片数
output.console: # 输出方式控制台
  pretty: true  # 美化输出
  enable: true

启动filebeat
./filebeat -e -c myfilebeat-log.yml

在/mystudy/beats/logs下创建a.log, 并输入如下内容
hello
world

观察filbeat输出

4.4 自定义filebeat字段

修改myfilebeat-log.yml

filebeat.inputs:
- type: log  # 定义输入类型为log日志
  enabled: true
  paths:
    - /mystudy/beats/logs/*.log   # 配置日志文件路径
  tags: ["web","test"] # 添加自定义tag, 便于后续的处理
  fields: # 添加自定义字段
    from: test-web # 如果不设置下面的那个参数的话from字段会在fields(fields字段与message等字段同级)字段内部, 如果设置了下面的参数from就会与message等字段同一级别下
  fields_under_root: true # true为添加到跟节点, false为添加到子节点
setup.template.settings:
  index.number_of_shards: 3  # 设置在es中存储的分片数
output.console: # 输出方式控制台
  pretty: true  # 美化输出
  enable: true

启动filebeat
./filebeat -e -c myfilebeat-log.yml

在/mystudy/beats/logs下创建a.log, 并输入如下内容
123
未设置fields_under_root: true时, from字段在fields内部
在这里插入图片描述
设置了fields_under_root: true时, from字段根节点下
在这里插入图片描述

4.5 输出到Elasticsearch

filebeat.inputs:
- type: log  # 定义输入类型为log日志
  enabled: true
  paths:
    - /mystudy/beats/logs/*.log   
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。该课程从ELK组件的两大组件和常用的应用日志收集进行剖析讲解。(1)ElasticSearch:从单台的安装到集群的搭建、从基础的入门使用到高级的搜索和聚合都进行了较好的阐述。(2) Logstash:通过收集apache日志,使用grok插件和geoip插件先让学习人员对整体框架做到了了解于胸。然后再深入的对LogStash重要的知识点进行了剖析。(3)应用日志收集:对常见的Apache、Nginx、MySQL、Syslog进行日志收集和分析。虽说没有讲解太多,但是我想应该能做到让大家对应用日志收集了解的更加深入。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值