感觉它比flume要稍微强大一点. 最近研究了一下, 将一些小心得记录在这里.
话说最好的教程还是官网: https://www.elastic.co/guide/index.html
关于安装
logstash是用JRuby语言开发的. 解压安装包即可(前提是已装有jdk)
logstash基本上由三部分组成,input、output以及用户需要才添加的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的~~
相关推荐
Logstash 是一个强大的数据收集、处理和转发工具,广泛用于日志管理和大数据分析。在Logstash中,模板(Template)扮演着重要的角色,它定义了Elasticsearch如何存储和索引由Logstash发送的数据。`logstash.json` ...
Logstash作为 Elastic Stack(ELK Stack)的一部分,专为收集、解析、过滤和转发各种日志数据而设计。它能从各种来源获取日志,转换数据格式,并将它们推送到指定的存储或分析系统,如Elasticsearch。本文将详细介绍...
在一个联网的虚拟机上下载好插件 ./logstash-plugin install logstash-input-jdbc 查看插件是否安装 ./logstash-plugin list 打包下载好的插件(可能会有错误;多试几次) ./logstash-plugin prepare-offline-...
在 Windows 环境下,NSSM(Non-Sucking Service Manager)是一个功能强大的服务管理工具,能够帮助我们轻松地将 Logstash 配置为系统服务。本文将指导您如何使用 NSSM 将 Logstash 配置为系统服务,以便更好地管理和...
Logstash是一个日志处理工具,负责收集、处理和存储日志。Kibana是一个基于Web的日志分析工具,提供了友好的用户界面。 Filebeat是Beats系列中的一个轻量级日志收集工具,占用资源少,适合在各个服务器上搜集日志后...
Logstash 是一个强大的开源数据收集、处理和转发引擎,它属于 ELK (Elasticsearch, Logstash, Kibana) stack 的一部分。在本场景中,我们关注的是 "logstash-5.6.8.zip" 文件,这显然是 Logstash 的一个特定版本...
Logstash 是一个强大的数据收集、处理和转发工具,它在 IT 运维和大数据分析领域广泛应用。Logstash-input-jdbc 插件是 Logstash 的一个输入插件,专门用于从关系型数据库(如 MySQL)中抽取数据。这个压缩包 ...
Logstash 是一个强大的数据收集、处理和转发工具,广泛应用于日志管理和大数据分析场景。Ruby 插件是 Logstash 的一个重要组成部分,它允许开发者用 Ruby 语言编写自定义插件来扩展 Logstash 的功能。本篇文章将深入...
Logstash 是一个强大的数据收集、处理和转发工具,广泛应用于日志管理和大数据分析。它能够从各种来源(如系统日志、数据库等)接收数据,对其进行过滤、转换,并将处理后的数据发送到各种目标(如Elasticsearch、...
Logstash作为Elastic Stack的一部分,是数据收集、处理和转发的强大引擎,而Clickhouse则是一款高性能的列式数据库,尤其适用于在线分析处理(OLAP)。本文将深入探讨如何将Logstash 7.12.0版本与Clickhouse进行集成...
Logstash是一款强大的数据收集、处理和转发工具,它在ELK(Elasticsearch, Logstash, Kibana)堆栈中扮演着核心角色。`logstash-output-jdbc`是Logstash的一个输出插件,用于将数据流式传输到关系型数据库,如MySQL...
Logstash 是一个强大的开源数据收集、处理和转发引擎,它属于 Elastic Stack(以前称为 ELK Stack,即Elasticsearch、Logstash 和 Kibana 的组合)的重要组成部分。这个工具广泛应用于日志管理和实时数据分析场景中...
Logstash 是一个强大的数据收集、处理和转发工具,它在ELK(Elasticsearch, Logstash, Kibana)堆栈中扮演着重要的角色。在给定的压缩包"**logstash-ODBC.rar**"和提及的"**logstash-output-jdbc.zip**"中,我们可以...
Logstash 是一个强大的开源数据收集、处理和转发引擎,它属于 Elastic Stack(以前称为 ELK Stack,包括 Elasticsearch、Logstash 和 Kibana)的一部分。在Linux环境中,Logstash被广泛用于日志管理和分析,能够从...
Logstash 是一个开源的数据收集引擎,由 Elastic 公司开发,主要用于实时地从各种不同来源采集数据,转换数据,然后将其存储到指定的目标位置,如 Elasticsearch、MongoDB 或者其他数据库。这个强大的工具在 IT 领域...
Logstash 是一个强大的数据收集、处理和转发工具,广泛用于日志管理和监控系统。Loki 是 Grafana Labs 推出的一款轻量级的日志聚合系统,设计目标是为 Kubernetes 和微服务架构提供高效的日志管理解决方案。`...
Logstash 是一个开源的数据收集和传输工具,广泛用于日志管理和大数据分析的生态系统中。它遵循“收集、处理、存储”的工作模式,能够从各种数据源接收数据,对其进行过滤、转换,并将处理后的数据发送到各种目标,...
Logstash 是一个强大的数据收集、转换和转发工具,广泛用于日志管理和大数据处理。在macOS环境下使用Logstash-6.8.9版本,我们可以深入理解这个版本在苹果操作系统中的特性和配置方法。 首先,Logstash是Elastic ...
Logstash 是一个强大的开源数据收集、处理和转发引擎,由 Elastic 公司开发,用于实时地从各种数据源中抽取数据,转换数据,并将其加载到指定的目的地,如 Elasticsearch、Kibana 或其他存储系统。它在大数据和日志...
Logstash 是一个强大的开源数据收集引擎,它属于 Elastic Stack(以前称为 ELK Stack,包括 Elasticsearch、Logstash 和 Kibana)的一部分。Logstash 设计用于从各种数据源中收集、解析、丰富和转发事件,使其成为...