在命令行中指定-e参数,从标准输入到标准输出,并格式化结果。
|
# /opt/logstash/bin/logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}'
www.ttlsa.com
Settings: Default filter workers: 2
Logstash startup completed
{
"message" => "www.ttlsa.com",
"@version" => "1",
"@timestamp" => "2015-12-07T06:57:01.981Z",
"host" => "localhost"
}
|
logstash会给事件添加一些额外的信息,如@timestamp,标注事件发生的时间。host标注事件发生的主机。此外,还可能有下面几个信息:
type:标记事件的唯一类型
tags:标记事件某方面属性,可以有多个标签。
每个事件就是一个ruby对象,可以随意的给事件添加或者删除字段。每个logstash过滤插件,都会有四个方法add_tag,remove_tag,add_field, remove_field,它们在过滤匹配成功时生效。
logstash管道必须要有input和output元素,filter元素是可选的。input插件定义数据来源,filter插件用来修改用户指定的数据,output插件定义数据写入何地。
logstash结构如下所示:
下面是一个配置管道:
|
# The # character at the beginning of a line indicates a comment. Use
# comments to describe your configuration.
input {
}
# The filter part of this file is commented out to indicate that it is
# optional.
# filter {
#
# }
output {
}
|
在现实情况下,数据来源可能有多个,以及将数据写入到不同的目的地。logstash管道可以使用多个input和output来处理这些需求。
下面的例子从Twitter feed和Filebeat input,将信息发送到elasticsearch集群和直接写入到文件。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
input {
twitter {
consumer_key =>
consumer_secret =>
keywords =>
oauth_token =>
oauth_token_secret =>
}
beats {
port => "5043"
ssl => true
ssl_certificate => "/path/to/ssl-cert"
ssl_key => "/path/to/ssl-key"
}
}
output {
elasticsearch {
hosts => ["IP Address 1:port1", "IP Address 2:port2", "IP Address 3"]
}
file {
path => /path/to/target/file
}
}
|
Filebeat debug信息:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
# filebeat -d 'publish' -e
2015/12/07 07:46:12.170451 publish.go:100: DBG Publish: {
"@timestamp": "2015-12-07T07:46:09.670Z",
"beat": {
"hostname": "elk.ttlsa.com",
"name": "elk.ttlsa.com"
},
"count": 1,
"fields": null,
"input_type": "log",
"message": "218.28.24.98 - - [07/Dec/2015:15:46:07 +0800] \"POST /www.ttlsa.com HTTP/1.0\" 200 0.139 0.141 3890 \"-\" \"Apache-HttpClient/UNAVAILABLE (java 1.4)\" \"\" \"\" http 127.0.0.1:9000",
"offset": 12145391,
"source": "/data/logs/nginx/www.ttlsa.com-access.log",
"type": "nginx"
}
|
停止logstash服务的失效检测
正常关闭logstash服务的步骤如下:
- 关闭所有的input、filter和output插件
- 处理完正在处理的事件
- 中止logstash进程
下列因素影响关闭过程:
- input插件缓慢的接收数据
- 缓慢的filter
- output插件断开连接等待重连
这些情况使成功关闭logstash的服务不可预知。
logstash具有分析管道行为和插件停止的失效检测机制。这种机制周期性的产生有关内部事件队列和一系列繁忙工作线程的信息。
为了强制logstash停止,可以在启动时加上--allow-unsafe-shutdown参数。不过不推荐使用,以免丢失数据。
转自:http://www.ttlsa.com/elk/elk-logstash-structure/
分享到:
相关推荐
4. **配置语法**:Logstash 使用简单的基于文本的配置文件,文档会详细介绍配置文件的结构、语法和最佳实践。 5. **性能调优**:如何根据硬件资源和数据量来调整 Logstash 的设置以获得最佳性能,包括批量大小、...
《大数据搜索与日志挖掘及可视化方案:ELK Stack(Elasticsearch, Logstash, Kibana)第二版》 在大数据领域,有效地管理和分析海量数据是至关重要的。ELK Stack,即Elasticsearch、Logstash和Kibana的组合,提供了...
ELK 套件是由Elasticsearch、Logstash和Kibana三个组件组成的开源日志分析平台。Elasticsearch是一个高性能、分布式、全文搜索引擎,用于存储和检索大量结构化和非结构化的数据。Logstash则是一个数据收集和处理引擎...
总结来说,Logstash 是 ELK Stack 中不可或缺的一环,它负责将各种来源的日志数据转化为结构化的格式,以便进一步分析和可视化。理解Logstash的工作原理,熟练配置和优化,是成功部署ELK堆栈的关键。通过上述内容,...
在ELK(Elasticsearch, Logstash, Kibana)环境中,它扮演着数据处理和传输的重要角色。Elasticsearch 是一个分布式搜索引擎,用于存储和检索海量数据;Kibana 是一个数据可视化工具,它允许用户通过图表和仪表板来...
《大数据搜索与日志挖掘及可视化方案——ELK Stack:Elasticsearch Logstash Kibana(第2版)》是高凯所著的一本深入解析ELK Stack技术的专著。这本书详细介绍了如何利用ELK Stack进行大数据处理、日志分析和可视化...
**ELK(Elasticsearch + Logstash + Kibana)** 是一个强大的日志管理和分析解决方案,广泛应用于大数据场景,特别是对于实时日志收集、处理、存储和可视化。这个组合提供了从日志生成到可视化的全套流程,帮助企业更...
ELK堆栈,即Elasticsearch、Logstash和Kibana,是用于日志管理和分析的强大工具组合。这个集群部署方案旨在提供一个高效且可扩展的日志解决方案,帮助IT管理员和开发人员监控、搜索、分析和可视化大量系统、应用及...
3. **灵活的数据模型**: 支持动态映射,可以处理结构化和非结构化的数据。 4. **全文搜索**: 提供复杂的全文搜索功能,支持短语搜索、近似搜索等。 5. **可扩展**: 通过简单的 REST API 进行操作,易于集成到各种...
ELK(Elasticsearch, Logstash, Kibana)是一个流行的开源日志分析和可视化解决方案,广泛应用于系统监控、安全分析、数据检索等场景。在6.2.4版本中,由于200M文件大小的限制,Elasticsearch部分需要单独上传,这...
它属于 ELK(Elasticsearch、Logstash、Kibana)堆栈的重要组成部分,这个堆栈是许多企业和组织用来管理和可视化其日志数据的首选解决方案。 在标题 "logstash6.3.0" 中,我们关注的是 Logstash 的特定版本——...
ELK(Elasticsearch, Logstash, Kibana)是一个流行的日志管理和分析栈,用于收集、解析、存储和可视化各种日志数据。在本文中,我们将深入探讨如何使用Docker Compose来设置一个完整的ELK环境。Docker Compose是一...
**Logstash的结构与功能:** Logstash由三个主要组件构成:输入插件(Inputs)、过滤器插件(Filters)和输出插件(Outputs)。输入插件负责从各种数据源(如日志文件、网络端口、数据库等)收集数据,过滤器插件对...
在ELK堆栈中,Elasticsearch作为数据存储和检索的核心,能够处理大量结构化和非结构化的数据。 1. **分布式**: Elasticsearch支持数据分片和副本,确保数据冗余和故障恢复能力。 2. **RESTful API**: 使用HTTP和...
Logstash 是一个强大的开源数据收集、转换和分发工具,它是 ELK (Elasticsearch, Logstash, Kibana) 堆栈的重要组成部分。在 IT 监控、日志管理和大数据分析领域,Logstash 广泛应用于处理各种类型的数据流。这个...
Elastic Stack(ELK)是Logstash的重要应用场景,它包括Elasticsearch(存储和搜索数据)、Logstash(数据收集和处理)以及Kibana(数据可视化)。这个组合为日志管理和监控提供了一套强大的解决方案。 在7.6.1版本...
总结起来,"elasticsearch+logstash+kibana+filebeat.7z (ELK 7.9.0)" 压缩包包含了一套完整的日志管理和分析工具链,适用于大数据环境,可以帮助企业实现高效的数据收集、处理、存储和可视化。通过使用这套工具,...
1. **Logstash的结构与组件** - **输入插件(input plugins)**:这些插件允许Logstash从各种数据源接收数据,如syslog、HTTP、JDBC、Beats等。在5.6.4版本中,可能包括file、udp、tcp等多种类型。 - **过滤器滤插件...
ELK Stack(Elasticsearch、Logstash、Kibana)是一个流行的开源日志管理和分析解决方案。通过将Logstash收集、处理和传输日志,Elasticsearch存储和搜索这些日志,以及Kibana提供可视化的界面,ELK Stack为用户提供...