Filebeat轻量级日志采集工具

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: Beats 平台集合了多种单一用途数据采集器。这些采集器安装后可用作轻量型代理,从成百上千或成千上万台机器向 Logstash 或 Elasticsearch 发送数据。一、架构图此次试验基于前几篇文章,需要先基于前几篇文章搭建基础环境。

img_64ccfbc0baaa17fa8df91207d9cfbb64.png

Beats 平台集合了多种单一用途数据采集器。这些采集器安装后可用作轻量型代理,从成百上千或成千上万台机器向 Logstash 或 Elasticsearch 发送数据。

一、架构图

此次试验基于前几篇文章,需要先基于前几篇文章搭建基础环境。
img_f2cdfaf51e5d8afd6fed16785efa6ebc.png

二、安装Filebeat

  • 下载并安装Filebeat

    wget  https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.0.1-x86_64.rpm
    yum install ./filebeat-6.0.1-x86_64.rpm
  • 修改Filebeat配置文件

    vim /etc/filebeat/filebeat.yml                          # 主配置文件
    \- type: log                                            # 文档类型
    paths:
    \- /var/log/httpd/access.log*                       # 从哪里读入数据
    # 输出在elasticsearch与logstash二选一即可
    output.elasticsearch:                               #将数据输出到Elasticsearch。与下面的logstash二者选一
      hosts: ["localhost:9200"]
    output.logstash:                                    # 将数据传送到logstash,要配置logstash使用beats接收
      hosts: ["172.18.68.14:5044"]
  • 启动Filebeat

    systemctl start filebeat

    三、配置Filebeat

  • 配置Logstash接收来自Filebeat采集的数据

    vim /etc/logstash/conf.d/test.conf
    input {
        beats {
                port => 5044                                            # 监听5044用于接收Filebeat传来数据
        }
    }
    filter {
      grok {
    match => {
      "message" => "%{COMBINEDAPACHELOG}"                               # 匹配HTTP的日志
    }
    remove_field => "message"                                           # 不显示原信息,仅显示匹配后
      }
    }
    output {
     elasticsearch {
     hosts => ["http://172.18.68.11:9200","http://172.18.68.12:9200","http://172.18.68.13:9200"]    # 集群IP
     index => "logstash-%{+YYYY.MM.dd}"
     action => "index"
     document_type => "apache_logs"
     }
    }
  • 启动Logstash

     /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/test.conf

四、模拟日志访问

通过curl命令来模拟客户访问,生成访问日志

curl 127.0.0.1
curl 172.18.68.51
curl 172.18.68.52
curl 172.18.68.53

五、验证信息

清除之前实验的旧数据(删除时要在对话框中输入删除),然后可以看到filebeat采集数据经过Logtash过滤再送给Elasticsearch的数据。
img_a858a4da2b8c4d3005de54d96b9a51b9.png

扩展

随着ELK日志系统逐渐升级,现在已经能基于Filebeat采集各节点日志,Logstash过滤、修剪数据,最后到ELasticsearch中进行索引构建、分词、构建搜索引擎。现在可以基于Elasticsearch的Head查看在浏览器中查看,但是Head仅仅能简单查看并不能有效进行数据分析、有好展示。要想进行数据分析、有好展示那就需要用到Kibana,Kibana依然放在下一篇文章中讲解,这里先放上架构图。

img_f149458da75e9a410e62ba71745eb55b.png

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
1月前
|
运维 Prometheus 监控
特定用途的日志分析工具
【10月更文挑战第20天】
55 5
|
1月前
|
存储 机器学习/深度学习 传感器
商业日志分析工具
【10月更文挑战第20天】
48 5
|
1月前
|
存储 运维 监控
开源日志分析工具
【10月更文挑战第20天】
73 3
|
2月前
|
存储 数据采集 分布式计算
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
52 1
|
2月前
|
开发工具 git
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
39 1
|
3月前
|
Kubernetes API Docker
跟着iLogtail学习容器运行时与K8s下日志采集方案
iLogtail 作为开源可观测数据采集器,对 Kubernetes 环境下日志采集有着非常好的支持,本文跟随 iLogtail 的脚步,了解容器运行时与 K8s 下日志数据采集原理。
|
3月前
|
运维 NoSQL Java
SpringBoot接入轻量级分布式日志框架GrayLog技术分享
在当今的软件开发环境中,日志管理扮演着至关重要的角色,尤其是在微服务架构下,分布式日志的统一收集、分析和展示成为了开发者和运维人员必须面对的问题。GrayLog作为一个轻量级的分布式日志框架,以其简洁、高效和易部署的特性,逐渐受到广大开发者的青睐。本文将详细介绍如何在SpringBoot项目中接入GrayLog,以实现日志的集中管理和分析。
277 1
|
4月前
|
Prometheus 监控 安全
|
4月前
|
存储 监控 数据可视化
在Linux中,有哪些日志管理和分析工具?
在Linux中,有哪些日志管理和分析工具?
|
4月前
|
存储 Kubernetes Java
在k8S中,容器内日志是怎么采集的?
在k8S中,容器内日志是怎么采集的?