博客
关于我
logstash使用
阅读量:764 次
发布时间:2019-03-21

本文共 1720 字,大约阅读时间需要 5 分钟。

Logstash 是一个开源数据收集引擎,专注于实时数据管道功能。它能够将来自不同数据源的数据动态聚合并标准化,输出到指定目标。

使用说明

Logstash 的核心功能基于其管道结构,包括输入、过滤和输出三个主要模块。

1.1 输入配置

输入模块主要负责数据源的接收。常用输入方式包括:

  • 文件输入:通过配置指定文件路径(如访问日志)来读取数据。注意事先安装并启动Nginx,确保对应日志文件的可访问性。
  • Filebeat 插件:使用Filebeat进行文件收集(推荐使用,如果需要更强的日志管理和扩展功能),在filebeat.yml中设置输出到Logstash的配置,此处不详细展开。

1.2 过滤配置

过滤器用于对收集到的数据进行后处理。常用工具包括Grok、Regex等,供开发者根据需求定义数据格式转换规则。例如,使用Grok对Apache访问日志进行解析。

1.3 输出配置

输出模块定义数据处理后的存储目标。常见场景:

  • 标准输出(如示例所示):适用于简单的命令行执行。
  • Elasticsearch:将处理后的数据存储至Elasticsearch实例。需确保Elasticsearch服务已启动,配置中需设定对应的端口和索引名称(如logstash-%{+YYYY.MM.dd})。

命令行使用示例

通过命令行执行Logstash处理功能:

  • 在Logstash所在路径的\bin文件夹打开命令提示符。
  • 使用以下命令启动Logstash:
    logstash -e "input { stdin { } } output { stdout { codec => rubydebug } }"
  • 输入数据(如"Hello Tom"),Logstash会输出解析后的日志信息。
  • 配置文件使用方法

    创建或定位Logstash配置文件(路径可根据系统调整):

  • 新建config/logstash.conf文件。
  • 填写配置内容:
    input {    file {        path => ["D:\nginx\nginx-1.16.1\logs\access.log"]        type => "nginx_access"        start_position => "beginning"    }    beats {        port => "5044"    }}filter {    grok {        match => {             "message" => "%{COMBINEDAPACHELOG}"        }    }}output {    stdout {        codec => "rubydebug"    }    elasticsearch {        hosts => ["localhost:9200"]        index => "logstash-%{+YYYY.MM.dd}"    }}
  • 3.启动Logstash:

    logstash -f config/logstash.conf --config.test_and_exit --config.reload.automatic

    使用参数:

    • -f:指定配置文件或目录。
    • --config.test_and_exit:在配置文件解析前进行验证。
    • --config.reload.automatic:启动后自动重载配置。

    运行完成后,Logstash会实时接收并处理访问日志,并将结果输出至命令窗口和Elasticsearch。

    输出示例

    Logstash处理示例输入,显示输出到命令窗口和Elasticsearch的结果。命令窗口结果:

    {    "@timestamp" => "2020-11-07T05:44:03.379Z",    "message" => "Hello Tom\r",    "host" => "LAPTOP-7PMRBJTK",    "@version" => "1"}

    Elasticsearch中数据将按日期索引存储,易于日后检索和分析。

    转载地址:http://ohsgz.baihongyu.com/

    你可能感兴趣的文章
    Neo私链
    查看>>
    nessus快速安装使用指南(非常详细)零基础入门到精通,收藏这一篇就够了
    查看>>
    Nessus漏洞扫描教程之配置Nessus
    查看>>
    Nest.js 6.0.0 正式版发布,基于 TypeScript 的 Node.js 框架
    查看>>
    nestJS学习
    查看>>
    NetApp凭借领先的混合云数据与服务把握数字化转型机遇
    查看>>
    NetBeans IDE8.0需要JDK1.7及以上版本
    查看>>
    netbeans生成的maven工程没有web.xml文件 如何新建
    查看>>
    netcat的端口转发功能的实现
    查看>>
    netfilter应用场景
    查看>>
    netlink2.6.32内核实现源码
    查看>>
    Netpas:不一样的SD-WAN+ 保障网络通讯品质
    查看>>
    NetScaler的常用配置
    查看>>
    netsh advfirewall
    查看>>
    NETSH WINSOCK RESET这条命令的含义和作用?
    查看>>
    Netstat端口占用情况
    查看>>
    Netty WebSocket客户端
    查看>>
    netty 主要组件+黏包半包+rpc框架+源码透析
    查看>>
    Netty 异步任务调度与异步线程池
    查看>>
    Netty中集成Protobuf实现Java对象数据传递
    查看>>