(一)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
分享到:
相关推荐
winlogbeat收集windows日志并通过logstash传到elasticsearch
SpringCloud Eureka作为注册中心、Feign客户端调用工具、断路器Hystrix 视图展示使用...分布式日志收集使用Logstash、解析JSON框架使用FastJson 数据安全加密使用MD5加盐和Base64、RSA、分布式文件存储系统FastDFS等...
logstash采集log4j日志发送到es配置文件,可以把日志根据日志级别区分开,一个级别一条日志是es中的一条数据
NULL 博文链接:https://solomon2012.iteye.com/blog/2361117
logback日志写logstash配置appender参考
对于日志来说,最常见的需求就是收集、存储、查询、展示,开源社区正好有相对应的开源项目:logstash(收集)、elasticsearch(存储+搜索)、kibana(展示),我们将这三个组合起来的技术称之为ELK,所以说ELK指的是...
实战Elasticsearch、Logstash、Kibana++分布式大数据搜索与日志挖掘及可视化解决方案
不要下,书籍不全,之前没注意 不要下,书籍不全,之前没注意 不要下,书籍不全,之前没注意
logstash grok 添加了自定义的正则表达式,可以提取出日志的等级,日志的时间,日志的线程号
Logstash实践分布式系统的日志监控Java开发Java经验技巧共10页.pdf.zip
1,什么是Logstash 2,日志平台架构及Logstash技术要点 3,Kibana界面查询过滤操作 4,Kibana一些实例介绍 5,导航界面介绍及如何接入
微信商城+微信公众号开发,该项目根据上海某大型知名电商企业...日志管理插件工具使用lombok、分布式日志收集使用Logstash、解析JSON框架使用FastJson 数据安全加密使用MD5加盐和Base64、RSA、分布式文件存储系统Fast
postfix-grok-patterns, 解析后缀日志记录的Logstash配置和grok模式 用于后缀日志的 Logstash注释模式一组使用grok解析后缀日志记录的grok模式。 还包括一个示例Logstash配置文件,用于将grok模式作为过滤器应用。...
使用背景由于ELFK的局限性,随着Beats 收集的每秒数据量越来越大,Logstash可能无法承载这么大量日志的处理。虽然说,可以增加 Logstash 节点
ELKB(Elasticsearch、Logstash、Kibana、Beat的组合)是一套开源的分布式日志管理方案。凭借其闭环的日志处理流程、高效的检索性能、线性的扩展能力、较低的运维成本等特点,ELKB在最近几年迅速崛起,成为实时日志...
企业级elk收集tomcat日志
新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。 Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、...
在test/目录中,有一个测试套件试图确保以前支持的日志行不会因为更改常见模式等而中断。 它还比执行sudo service logstash restart更快地返回结果:-)。 测试套件需要 Logstash 提供的模式,您可以通过运行git ...
开源日志管理 Logstash
MySQL项目管理工具使用Maven、版本控制工具使用GIT、项目自动部署工具使用Jenkins消息中间件使用ActiveMQ、分布式任务调度系统使用XXLJOB、反向代理工具使用Nginx日志管理插件工具使用lombok、分布式日志收集使用...