`
arual
  • 浏览: 10786 次
社区版块
存档分类
最新评论

Logstash (一)

阅读更多

感觉它比flume要稍微强大一点. 最近研究了一下, 将一些小心得记录在这里.

话说最好的教程还是官网: https://www.elastic.co/guide/index.html

 

 

关于安装

logstash是用JRuby语言开发的. 解压安装包即可(前提是已装有jdk)

 

logstash基本上由三部分组成,inputoutput以及用户需要才添加的filter,因此标准的配置文件格式如下:

input {...}

filter {...}

output {...}

input 类似于flume 的source, output 类似flume 的sink. filter 类似interceptor

在每个部分中,也可以指定多个访问方式,例如想要指定两个日志来源文件,则可以这样写:

input {

 file { path =>"/var/log/messages" type =>"syslog"}

 file { path =>"/var/log/apache/access.log" type =>"apache"}

}

  类似的,如果在filter中添加了多种处理规则,则按照它的顺序一一处理,但是有一些插件并不是线程安全的。

  比如在filter中指定了两个一样的的插件,这两个任务并不能保证准确的按顺序执行,因此官方也推荐避免在filter中重复使用插件。

下面是一个非常简单的从本地文件夹读入, 写入到kafka 中的例子:

logstash.conf

input {
  file {
    path => "/var/service_logs/*.log"
 discover_interval => 5
    start_position => "beginning" 
  }
}

output {
 kafka {
   topic_id => "servicelogs"
   codec => plain {
  format => "%{message}"
   }
   bootstrap_servers => "192.168.75.71:9092,192.168.75.72:9092,192.168.75.73:9092"
 }
}

 

bootstrap_servers 给定kafka broker 的 地址. (注意不是zookeeper,而是直接给定broker 地址)

启动logstash 时, 只需要把写好的conf 文件作为参数给启动脚本即可. 如果不指定启动配置文件, 默认从标准输入作为input,标准输出作为output 

 

bin/logstash -f logstash.conf

 

简单的测试

1. 作为准备, 启动Zookeeper和kafka集群 :

zookeeper/bin/zkServer.sh start  

kafka/bin/kafka-server-start.sh /app/kafka/config/server.properties

 

2. 创建topic:  servicelogs

bin/kafka-topics.sh --create --zookeeper amie01:2181 --replication-factor 3 --partitions 3 --topic servicelogs

kafka-topics.sh --describe --zookeeper amie01:2181 --topic servicelogs查看一下topic 详细信息 :

        Topic:servicelogs       PartitionCount:3        ReplicationFactor:3     Configs:
        Topic: servicelogs      Partition: 0    Leader: 0       Replicas: 0,2,1 Isr: 0,2,1
        Topic: servicelogs      Partition: 1    Leader: 1       Replicas: 1,0,2 Isr: 1,0,2
        Topic: servicelogs      Partition: 2    Leader: 2       Replicas: 2,1,0 Isr: 2,1,0

 

3. 启动logstash :

bin/logstash -f logstash.conf

 

可以写个简单的脚本模拟数据: while true ; do  echo `date` >> /var/service_logs/a.log ; sleep 0.05; done

然后为了查看kafka的servicelogs 是否已经被logstash output 了消息, 可以用kafka的console consume 测试一下.

 

测试结果是完成可以work的~~

 

分享到:
评论

相关推荐

    windows环境下nssm配置logstash为系统服务

    在 Windows 环境下,NSSM(Non-Sucking Service Manager)是一个功能强大的服务管理工具,能够帮助我们轻松地将 Logstash 配置为系统服务。本文将指导您如何使用 NSSM 将 Logstash 配置为系统服务,以便更好地管理和...

    logstash日志抓取搭建

    Logstash作为 Elastic Stack(ELK Stack)的一部分,专为收集、解析、过滤和转发各种日志数据而设计。它能从各种来源获取日志,转换数据格式,并将它们推送到指定的存储或分析系统,如Elasticsearch。本文将详细介绍...

    logstash-output-jdbc.zip

    在一个联网的虚拟机上下载好插件 ./logstash-plugin install logstash-input-jdbc 查看插件是否安装 ./logstash-plugin list 打包下载好的插件(可能会有错误;多试几次) ./logstash-plugin prepare-offline-...

    logstash-template模板:logstash.json

    Logstash 是一个强大的数据收集、处理和转发工具,广泛用于日志管理和大数据分析。在Logstash中,模板(Template)扮演着重要的角色,它定义了Elasticsearch如何存储和索引由Logstash发送的数据。`logstash.json` ...

    FIlebeat和Logstash部署步骤

    Logstash是一个日志处理工具,负责收集、处理和存储日志。Kibana是一个基于Web的日志分析工具,提供了友好的用户界面。 Filebeat是Beats系列中的一个轻量级日志收集工具,占用资源少,适合在各个服务器上搜集日志后...

    logstash-5.6.8.z logstash-5.6.8.z

    Logstash 是一个强大的开源数据收集、处理和转发引擎,它属于 ELK (Elasticsearch, Logstash, Kibana) stack 的一部分。在本场景中,我们关注的是 "logstash-5.6.8.zip" 文件,这显然是 Logstash 的一个特定版本...

    logstash集成logstash-input-jdbc

    Logstash 是一个强大的数据收集、处理和转发工具,它在 IT 运维和大数据分析领域广泛应用。Logstash-input-jdbc 插件是 Logstash 的一个输入插件,专门用于从关系型数据库(如 MySQL)中抽取数据。这个压缩包 ...

    Logstash ruby 插件 demo

    Logstash 是一个强大的数据收集、处理和转发工具,广泛应用于日志管理和大数据分析场景。Ruby 插件是 Logstash 的一个重要组成部分,它允许开发者用 Ruby 语言编写自定义插件来扩展 Logstash 的功能。本篇文章将深入...

    logstash启动脚本

    Logstash 是一个强大的数据收集、处理和转发工具,广泛应用于日志管理和大数据分析。它能够从各种来源(如系统日志、数据库等)接收数据,对其进行过滤、转换,并将处理后的数据发送到各种目标(如Elasticsearch、...

    logstash-ODBC.rar

    Logstash 是一个强大的数据收集、处理和转发工具,它在ELK(Elasticsearch, Logstash, Kibana)堆栈中扮演着重要的角色。在给定的压缩包"**logstash-ODBC.rar**"和提及的"**logstash-output-jdbc.zip**"中,我们可以...

    logstash-output-jdbc插件

    Logstash是一款强大的数据收集、处理和转发工具,它在ELK(Elasticsearch, Logstash, Kibana)堆栈中扮演着核心角色。`logstash-output-jdbc`是Logstash的一个输出插件,用于将数据流式传输到关系型数据库,如MySQL...

    logstash

    Logstash 是一个开源的数据收集引擎,由 Elastic 公司开发,主要用于实时地从各种不同来源采集数据,转换数据,然后将其存储到指定的目标位置,如 Elasticsearch、MongoDB 或者其他数据库。这个强大的工具在 IT 领域...

    logstash-output-loki.zip

    Logstash 是一个强大的数据收集、处理和转发工具,广泛用于日志管理和监控系统。Loki 是 Grafana Labs 推出的一款轻量级的日志聚合系统,设计目标是为 Kubernetes 和微服务架构提供高效的日志管理解决方案。`...

    mac版本的logstash-6.8.9

    Logstash 是一个强大的数据收集、转换和转发工具,广泛用于日志管理和大数据处理。在macOS环境下使用Logstash-6.8.9版本,我们可以深入理解这个版本在苹果操作系统中的特性和配置方法。 首先,Logstash是Elastic ...

    logstash_6.4.0

    Logstash 是一个强大的数据收集、处理和转发工具,广泛应用于日志管理和监控系统中。它在IT领域扮演着至关重要的角色,特别是在大数据分析和实时日志分析场景下。标题"Logstash_6.4.0"表明我们关注的是Logstash的...

    logstash安装包

    Logstash 是一个强大的开源数据收集引擎,它属于 Elastic Stack(以前称为 ELK Stack,包括 Elasticsearch、Logstash 和 Kibana)的一部分。Logstash 设计用于从各种数据源中收集、解析、丰富和转发事件,使其成为...

    logstash-7.4.2.zip

    Logstash 是一个强大的开源数据收集、处理和转发引擎,它属于 Elastic Stack(以前称为 ELK Stack,即Elasticsearch、Logstash 和 Kibana 的组合)的重要组成部分。这个工具广泛应用于日志管理和实时数据分析场景中...

    最新版windows logstash-7.10.0-windows-x86_64.zip

    Logstash 是一个开源的数据收集和传输工具,广泛用于日志管理和大数据分析的生态系统中。它遵循“收集、处理、存储”的工作模式,能够从各种数据源接收数据,对其进行过滤、转换,并将处理后的数据发送到各种目标,...

    logstash-6.8.2.zip

    Logstash 是一个强大的开源数据收集引擎,用于实时抽取、转换和加载(通常称为ELT:Extract, Load, Transform)各种数据。它具有丰富的插件库,可以处理各种数据源,如日志文件、数据库、消息队列等,并将数据发送到...

Global site tag (gtag.js) - Google Analytics