(一)logstash是什么?
logstash是一种分布式日志收集框架,开发语言是JRuby,当然是为了与Java平台对接,不过与Ruby语法兼容良好,非常简洁强大,经常与ElasticSearch,Kibana配置,组成著名的ELK技术栈,非常适合用来做日志数据的分析。
当然它可以单独出现,作为日志收集软件,你可以收集日志到多种存储系统或临时中转系统,如MySQL,redis,kakfa,HDFS, lucene,solr等并不一定是ElasticSearch。
官网下载地址:https://www.elastic.co/downloads/logstash
官网文档地址:https://www.elastic.co/guide/en/logstash/current/index.html
(二)logstash的的安装
logstash的目前的最新版本是2.0.0,建议安装在Linux平台,虽然它也支持Windows平台,但可能会有问题
下载:
wget https://download.elastic.co/logstash/logstash/logstash-2.0.0.tar.gz
解压:
tar -zxvf logstash-2.0.0.tar.gz
进入根目录,执行bin/logstash -h 可查看帮助文档
参数介绍如下:
使用命令模板:
/bin/logstash 命令参数 选项
选项:
-f , 指定加载一个后缀为.conf文件的logstash配置模块
-e , 命令行指定参数 , 通常用来调试
-w, 指定logstash的工作线程数
-l, 指定logstash的默认日志写入到一个文件中,如果不指定,默认是标准输出
--quiet 静默模式,仅仅只有error级别信息输出
--verbose info级别的log输出
--debug debug 级别的log输出.
-V, --version 查看logstash的版本
-p, --pluginpath PATH 加载自定义的logstash插件
-t, --configtest 检查logstash配置是否有效
-h, --help 打印帮助
(三)logstash的数据处理模型
(1)input =》 output
(2)input =》 filter =》 output
其中input常用的输入源有:file,syslog,redis,log4j,apache log或nginx log,或者其他一些自定义的log格式,业务log,搜索log,订单log等等
filter常用的选项有:
grok:支持正则提取任何非结构化数据或结构化数据,其中logstash内置120多种正则,比如常见的时间,ip,用户名,等等也支持自定义正则解析
mutate:修改字段名,删除,更新等操作,转换字段类型等
drop: 删除某些时间,如debug
clone:拷贝一份事件副本,用来添加或删除字段
geoip : 通过ip获取地理位置信息,在做kibana区域统计图非常炫
ruby: 支持原生的ruby代码,操作事件,实现强大的其他功能
output常用的输出有:
elasticsearch 比较常用
file:写入文件
redis:写入队列
hdfs:写入HDFS,需插件支持
zabbix: zabbix监控
mongodb:写入mongodb库
除此之外还有个编码插件codecs也比较常用
常用来处理json数据或者多行数据源
(四)logstash一些简单例子
(1)使用命令行命令调试:
[search@h3 logstash-2.0.0]$ bin/logstash -e "input{stdin{}} output{stdout{}}"
Default settings used: Filter workers: 1
Logstash startup completed
hello
2015-11-04T15:16:02.747Z h3 hello
test
2015-11-04T15:16:08.108Z h3 test
(2)命令行参数仅适合简单的配置,如果配置比较多,我们一般会写入一个以.conf结尾的配置文件里,然后使用
-f命令加载,将(1)中的配置,写入hello.conf
然后使用bin/logstash -f hello.conf 执行加载,即可达到同样效果
(3)常用的数据模块
input{
.....
}
filter{
......
}
output{
.......
}
(4)监听文件,支持通配符,写入文件
input{
file => ["/var/log/file","/var/solr/log/*"]
}
output{
file => "/sys/collect/log"
}
(5)logstash插件支持数据类型
数组: path=> ["a","b"]
布尔:ssl_enable => true
字节:
my_bytes =>"1113"#1113 bytes
my_bytes =>"10MiB"#10485760 bytes
my_bytes =>"100kib"#102400 bytes
my_bytes =>"180 mb"#180000000 bytes
编码:
codec => "json"
哈希表:
match => {
"k1" => "v1"
"k2" => "v2"
"k3" => "v3"
}
数值:
port=> 33
密码:
pwd=> "password"
路径:
path=> "/tmp/logstash"
字符串:
name => "hello wordld"
注释:
input{
# 号开头,与shell脚本注释一样
}
最后欢迎大家扫码关注微信公众号:我是攻城师(woshigcs),我们一起学习,进步和交流!(woshigcs)
本公众号的内容是有关搜索和大数据技术和互联网等方面内容的分享,也是一个温馨的技术互动交流的小家园,有什么问题随时都可以留言,欢迎大家来访!
- 大小: 30.8 KB
分享到:
相关推荐
使用如ELK Stack(Elasticsearch、Logstash、Kibana)或Prometheus + Grafana等工具,可以帮助收集、分析和可视化分布式系统的性能数据和日志信息。 总之,Java分布式应用的学习涵盖了从基础的远程调用到复杂的...
分布式商城项目笔记-乐优商城,是一个以Java技术为核心的电商系统开发案例,旨在提供全面、深入的学习材料,帮助开发者理解并掌握分布式系统在实际商业场景中的应用。该项目笔记包括了详细的课程内容,辅以丰富的...
- 日志收集(如Logstash)和分析(如ELK Stack)对于故障排查至关重要。 - 监控工具(如Prometheus、Grafana)实时监控系统性能指标。 10. **持续集成/持续部署(CI/CD)** - Jenkins、GitLab CI/CD等工具实现自动...
Logstash作为数据收集和预处理工具,负责从各种数据源(如系统日志、网络设备等)采集数据,进行过滤、转换,并将其发送到Elasticsearch进行存储。Logstash配置文件由输入(Input)、过滤(Filter)和输出(Output)...
Logstash 是一个开源的数据收集引擎,能够实时地从各种不同来源采集数据,如日志文件、系统日志、网络设备等,然后进行清洗、转换和存储。Logstash以其强大的过滤插件著称,可以对数据进行解析、重格式化和添加元...
通过深入学习和实践,你可以了解如何搭建ELK环境,如何使用Logstash进行日志收集和预处理,如何在Elasticsearch中高效地存储和查询数据,以及如何利用Kibana进行数据可视化分析。这些技能对于任何需要处理大规模日志...
Logstash负责收集和处理来自不同来源的日志,Elasticsearch则作为强大的搜索引擎和实时数据分析引擎,而Kibana则提供交互式的界面,用于展示和探索这些数据。Kafka作为一个分布式流处理平台,用于构建实时数据管道和...
Java日志是软件开发中不可或缺的一部分,特别是在大型分布式系统中,日志对于问题排查、性能监控和系统审计具有重要作用。本资料"Java日志.zip"包含的资源旨在帮助开发者理解和应用Java日志机制,其中可能涵盖了日志...
这部分内容可能包括ELK的安装、日志收集与处理(通过Logstash)、数据存储(Elasticsearch)和可视化展示(Kibana)。 第十三章 Glusterfs分布式文件系统笔记:GlusterFS是一种开源的分布式文件系统,可实现跨多台...
Sleuth是一个分布式追踪解决方案,它为服务之间的调用提供日志跟踪,可与Zipkin或ELK(Elasticsearch、Logstash、Kibana)等工具配合,帮助分析请求在系统中的流转过程。 11. **Spring Cloud Stream消息驱动** ...
ELK Stack,全称为Elasticsearch、Logstash和Kibana的组合,是一个强大的日志管理和分析工具。本文档详细介绍了如何在Windows环境下搭建ELK环境,并提供了相关的资源下载链接。 首先,为了运行ELK Stack,你需要...
- 监控与日志:使用Spring Boot Actuator监控服务状态,结合ELK(Elasticsearch、Logstash、Kibana)或Prometheus+Grafana进行日志管理和可视化。 本套笔记全面覆盖了SpringCloud微服务架构的关键知识点,从理论到...
- **日志管理**:通过ELK(Elasticsearch、Logstash、Kibana)等工具收集、分析日志信息。 ### 四、总结与展望 #### 4.1 系统优势 - **高效性**:通过Spring Boot框架的优化,提高了系统的响应速度。 - **易用性**...
Flume是收集、聚合和传输大量日志数据的分布式服务,而Logstash则是一个数据收集引擎,可以将不同来源的数据整合并标准化到目标存储。Zookeeper作为一个协调服务,负责管理分布式应用程序的配置信息和同步任务。...
- **定义**:Logstash是一种服务器端数据处理管道,主要负责收集、解析和转发日志数据。 - **工作原理**: - 输入插件(Input Plugins):从不同来源收集数据。 - 过滤插件(Filter Plugins):处理和转换数据。 ...
2. **Logstash**:日志收集和处理工具,可将各种日志数据导入Elasticsearch。 3. **Beats**:轻量级数据发送代理,包括Filebeat、Metricbeat等,用于从不同源收集数据。 4. **Ingest Node**:数据预处理功能,可以...
**Logstash** 是一个数据收集和处理工具,能够从各种数据源(如日志文件、数据库、网络设备等)采集数据,进行过滤、转换,并将处理后的数据发送到Elasticsearch、Kibana等目标。Logstash的强大在于其插件丰富,可以...
2. **ELK (Elasticsearch, Logstash, Kibana)**: 日志收集、分析和展示系统,便于监控和排查问题。 3. **LCN**: 分布式事务解决方案,确保在分布式环境下数据的一致性。 4. **Zookeeper & Redis**: 用于实现分布式...
- 监控与日志:使用Prometheus、Grafana进行性能监控,ELK Stack(Elasticsearch、Logstash、Kibana)收集和分析系统日志。 7. **项目管理**: -敏捷开发:采用Scrum或Kanban方法进行项目管理,快速响应市场变化...
6. 日志数据分析:配合Logstash收集和分析日志,ELK(Elasticsearch、Logstash、Kibana)组合广泛应用。 7. 商品价格监控:通过订阅,当商品价格低于特定阈值时,发送提醒。 8. BI系统:商业智能分析,如用户消费...