博客
关于我
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/

    你可能感兴趣的文章
    MySQLIntegrityConstraintViolationException异常处理
    查看>>
    mysqlreport分析工具详解
    查看>>
    MySQLSyntaxErrorException: Unknown error 1146和SQLSyntaxErrorException: Unknown error 1146
    查看>>
    Mysql_Postgresql中_geometry数据操作_st_astext_GeomFromEWKT函数_在java中转换geometry的16进制数据---PostgreSQL工作笔记007
    查看>>
    mysql_real_connect 参数注意
    查看>>
    mysql_secure_installation初始化数据库报Access denied
    查看>>
    MySQL_西安11月销售昨日未上架的产品_20161212
    查看>>
    Mysql——深入浅出InnoDB底层原理
    查看>>
    MySQL“被动”性能优化汇总
    查看>>
    MySQL、HBase 和 Elasticsearch:特点与区别详解
    查看>>
    MySQL、Redis高频面试题汇总
    查看>>
    MYSQL、SQL Server、Oracle数据库排序空值null问题及其解决办法
    查看>>
    mysql一个字段为空时使用另一个字段排序
    查看>>
    MySQL一个表A中多个字段关联了表B的ID,如何关联查询?
    查看>>
    MYSQL一直显示正在启动
    查看>>
    MySQL一站到底!华为首发MySQL进阶宝典,基础+优化+源码+架构+实战五飞
    查看>>
    MySQL万字总结!超详细!
    查看>>
    Mysql下载以及安装(新手入门,超详细)
    查看>>
    MySQL不会性能调优?看看这份清华架构师编写的MySQL性能优化手册吧
    查看>>
    MySQL不同字符集及排序规则详解:业务场景下的最佳选
    查看>>