Logstash简介
支持多种数据获取机制,通过TCP/UDP协议、文件、syslog、windows、EventLogs及STDIN等;获取到数据口,支持对数据进行过滤、修改等操作
JRuby语言研发,工作在JVM中
agent/server
Logstash安装
yum install logstash-5.2.2.rpm
配置logstash的环境变量:
vim /etc/profile.d/logstash.sh加入:
export PATH=$PATH:/opt/logstash/bin
logstash的配置文件目录:
/etc/logstash/conf.d/下的以.conf结尾的文件
简单的输入输出语法配置:
vim /etc/logstash/conf.d/sample.conf
input {
stdin {}
}
output {
stdout {
codec => rubydebug
}
}
语法检测:
logstash -f /etc/logstash/conf.d/sample.conf --configtes
启动logstash:
logstash -f /etc/logstash/conf.d/sample.conf
Logstash配置框架:
input{
...
}
filter{
...
}
output{
...
}
四种类型的插件:
input,filter,codec,output
数据类型:
Array:[item1,item2,...]
Boolean:true,false
Bytes:
Codec:编码
Hash:key => value
Number:
Password:
Path:文件系统路径
String:字符串
字段引用:[]
条件判断:
==,!=,<,<=,>,>=
=~,!~
in,not in
and,or
()
Logstash的工作流程:input | filter | output,如无需对数据进行额外的处理,filter可以省略
高度插件化:input,codec,filter,output
input插件:
File:从指定的文件中读取事件流;其工作特性类似于tail -f,第一次读取的时候是从文件的第一行开始的;
使用FileWatch(Linux内核功能)来监视文件是否发生变化(Ruby Gem库支持以监听多个文件)
每个文件上一次读取的位置保存在.sincedb数据库中
.sincedb:记录了每个被监听的文件的inode,major,number,minor number,pos;
Logstash的时间戳问题:
请参考该贴:http://blog.csdn.net/shan1369678/article/details/51375537
Logstash的插件:
input {
file {
path => ["/usr/local/tomcat/logs/catalina.out"]
type => "tomcat"
start_position => "beginning"
}
}
output {
stadout {
codec => rubydebug
}
}
redis插件:
从redis读取数据,支持redis channel和list两种方式;
redis查看数据是否写入的方法:LLEN logstash-tomcat
查看写入数据的内容:LINDEX logstash-tomcat 1
elasticsearch插件kopf的安装
下载地址:https://github.com/lmenezes/elasticsearch-kopf/releases
下载版本:v2.1.2
安装:
/usr/share/elasticsearch/bin/plugin install file:///opt/elasticsearch-kopf-2.1.2.zip
注意这里要修改elastisearch的监听地址,因为默认是监听在127.0.0.1上的
然后即可通过浏览器访问elasticsearch集群:http://IP:9200/_plugin/kopf
kibana4.6.2安装:
yum install -y kibana-4.6.2-x86_64.rpm
配置文件位置:/opt/kibana/config/kibana.yml
启动kibana:systemctl start kibana
filter插件:
用于在将event通过output发出之前对其实现某些处理功能;
grok,用于分析并结构化文本数据;目前是logstash中将非结构化日志数据转化为结构化的可查询数据的不二选择。
syslog,apache,nginx
模式定义位置:/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-patterns-core-2.0.5/patterns/grok-patterns
语法格式:
%{SYNTAX:SEMANTIC}
SYNTAX:预定义模式名称;
SEMANTIC:匹配到的文本的自定义标识符;
output插件:
stdout {}
elasticsearch {
...
}
Logstash简介的更多相关文章
- logstash快速入门实战指南-Logstash简介
作者其他ELK快速入门系列文章 Elasticsearch从入门到精通 Kibana从入门到精通 Logstash是一个具有实时流水线功能的开源数据收集引擎.Logstash可以动态统一来自不同来源的 ...
- elasticsearch查询及logstash简介
Query DSL: request body: 分成两类: query dsl:执行full-text查询时,基于相关度来评判其匹配结果: 查询执行过程复杂,且不会被缓存: filter dsl:执 ...
- ELK学习实验010:Logstash简介
Logstash是具有实时流水线功能的开源数据收集引擎.Logstash可以动态统一来自不同来源的数据,并将数据规范化为您选择的目标.清除所有数据并使其民主化,以用于各种高级下游分析和可视化用例. 虽 ...
- ELK简介
什么是ELK ELK是ElasticSearch,LogStash以及Kibana三个产品的首字母缩写.是可以和商业产品 Splunk 相媲美开源项目. 2013 年,Logstash 被 Elast ...
- Elastic Stack初篇-Logstash
一.Logstash简介 Logstash是一个开源数据收集引擎,具有实时管道功能.Logstash可以动态地将来自不同数据源的数据统一起来,并将数据标准化到你所选择的目的地. 二.Log ...
- Logstash在Linux上安装部署
Logstash 简介: Logstash 是一个实时数据收集引擎,可收集各类型数据并对其进行分析,过滤和归纳.按照自己条件分析过滤出符合数据导入到可视化界面.它可以实现多样化的数据源数据全量或增量传 ...
- [转] ELK 之 Logstash
[From] https://blog.csdn.net/iguyue/article/details/77006201 ELK 之 Logstash 简介: ELK 之 LogstashLogsta ...
- 第三篇:Logstash 安装配置
Logstash 简介: Logstash 是一个实时数据收集引擎,可收集各类型数据并对其进行分析,过滤和归纳.按照自己条件分析过滤出符合数据导入到可视化界面.Logstash 建议使用java1.8 ...
- ElasticStack之Logstash安装
服务器环境 操作系统 Host:port node 1 CentOS 7.2.1511 11.1.11.127:9200 node1 2 CentOS 7.2.1511 11.1.11.128:920 ...
随机推荐
- CSS3 not
AND (&&): .registration_form_right input:not([type="radio"]):not([type="check ...
- HTML5 中fullscreen 中的几个API和fullscreen欺骗
// 转自:https://my.oschina.net/jackyrong/blog/114086 HTML 5中的full screen,目前可以在除IE和opera外的浏览器中使用 ,有的时 ...
- 微信小程序下拉按钮动画
有些时候要求下拉按钮需要动画效果,但又不需要引入插件. 这时需要手动写一个动画. 主要思路: 动态切换class 默认与动画转向的样式编写 上图是默认给出的按钮向下的样式, 上图是动画转向后的样式 上 ...
- VS中去除SrouceControl的信息
如果在不连接TFS的情况下,编辑一个已经source control的solution,总是会有烦人的提示信息.如果你确定不再需要source control,可以这么干. Here is how t ...
- python第四周迭代器生成器序列化面向过程递归
第一节装饰器复习和知识储备------------ 第一节装饰器复习和知识储备------------ def wrapper(*args,**kwargs): index(*args,**kwa ...
- Java基础07 包(转载)
包(package)的目的就是为了更好的组织Java程序. 包的建立 包的建立非常简单.我们只用在Java程序的开始加入package就可以了.我们以Human类为例,将它放入包中: packag ...
- 面向Internet的编程
面向Internet的编程 1994年秋天我返回工作时,这个公司的景象已经完全改变.他们决定Oak语言——跨平台的.安全的.易传输的代码——时理想的面向Internet的语言.同时他们在制作名为Web ...
- 《转》Ubuntu14.04 openstack juno配置之 ceilometer遥測模块安装配置
(一)在控制节点上 1.安装的遥測服务 apt-get install -y ceilometer-api ceilometer-collector ceilometer-agent-central ...
- iOS --随机打乱一个数组的顺序 获得一个新的数组
NSArray* arr = @[@"1",@"2",@"3"]; arr = [arr sortedArrayUsingComparato ...
- PHP 代码简洁之道 ( PHP Clean Code)
https://laravel-china.org/topics/7774/the-conciseness-of-the-php-code-php-clean-code