文档章节

[Logstash]使用详解

o
 osc_zqxv5pte
发布于 07/04 07:23
字数 897
阅读 29
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>

  Logstash是一款轻量级的日志搜集处理框架,可以方便的把分散的、多样化的日志搜集起来,并进行自定义的处理,然后传输到指定的位置,比如某个服务器或者文件。

  本文针对官方文档进行翻译以及实践,希望有更多的有用户了解、使用这款工具。

下载、安装、使用

  这款工具是开箱即用的软件,下载地址戳这里,下载自己对应的系统版本即可。

  下载后直接解压,就可以了。

 

  通过命令行,进入到logstash/bin目录,执行下面的命令:

logstash -e ""

  可以看到提示下面信息(这个命令稍后介绍),输入hello world!

  可以看到logstash尾我们自动添加了几个字段,时间戳@timestamp,版本@version,输入的类型type,以及主机名host。

工作原理

  Logstash使用管道方式进行日志的搜集处理和输出。有点类似*NIX系统的管道命令 xxx | ccc | ddd,xxx执行完了会执行ccc,然后执行ddd。

  在logstash中,包括了三个阶段:

  输入input --> 处理filter(不是必须的) --> 输出output

  每个阶段都由很多的插件配合工作,比如file、elasticsearch、redis等等。

  每个阶段也可以指定多种方式,比如输出既可以输出到elasticsearch中,也可以指定到stdout在控制台打印。

 

  由于这种插件式的组织方式,使得logstash变得易于扩展和定制。

命令行中常用的命令

  -f:通过这个命令可以指定Logstash的配置文件,根据配置文件配置logstash

  -e:后面跟着字符串,该字符串可以被当做logstash的配置(如果是“” 则默认使用stdin作为输入,stdout作为输出)

  -l:日志输出的地址(默认就是stdout直接在控制台中输出)

  -t:测试配置文件是否正确,然后退出。

配置文件说明

  前面介绍过logstash基本上由三部分组成,input、output以及用户需要才添加的filter,因此标准的配置文件格式如下:

input {...} 
filter {...} 
output {...}

  

  在每个部分中,也可以指定多个访问方式,例如我想要指定两个日志来源文件,则可以这样写:

input { 
 file { path =>"/var/log/messages" type =>"syslog"} 
 file { path =>"/var/log/apache/access.log" type =>"apache"} 
}

  类似的,如果在filter中添加了多种处理规则,则按照它的顺序一一处理,但是有一些插件并不是线程安全的。

  比如在filter中指定了两个一样的的插件,这两个任务并不能保证准确的按顺序执行,因此官方也推荐避免在filter中重复使用插件。

 

  说完这些,简单的创建一个配置文件的小例子看看:

input {
    file {
     #指定监听的文件路径,注意必须是绝对路径 path
=> "E:/software/logstash-1.5.4/logstash-1.5.4/data/test.log" start_position => beginning } } filter { } output { stdout {} }

  日志大致如下:

1 hello,this is first line in test.log!
2 hello,my name is xingoo!
3 goodbye.this is last line in test.log!
4

  注意最后有一个空行。

  执行命令得到如下信息:

  细心的会发现,这个日志输出与上面的logstash -e "" 并不相同,这是因为上面的命令默认指定了返回的格式是json形式。

 

  至此,就是logstash入门篇的介绍了,稍后会介绍关于logstash更多的内容,感兴趣的可以关注哦!

参考

【1】Logstash官方文档:https://www.elastic.co/guide/en/logstash/current/index.html  

o
粉丝 0
博文 65
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
CDH5: 使用parcels配置lzo

一、Parcel 部署步骤 1 下载: 首先需要下载 Parcel。下载完成后,Parcel 将驻留在 Cloudera Manager 主机的本地目录中。 2 分配: Parcel 下载后,将分配到群集中的所有主机上并解压缩。 3 激...

cloud-coder
2014/07/01
6.8K
1
日志分析平台 - Kibana

Kibana 是一个为 Logstash 和 ElasticSearch 提供的日志分析的 Web 接口。可使用它对日志进行高效的搜索、可视化、分析等各种操作。 环境要求: ruby >= 1.8.7 (probably?) bundler logstash...

匿名
2013/02/13
11.5W
1
使用IBPP在C++中操作FireBird/Interbase数据库

FireBird是一种小巧的关系型数据库,它有多种版本,包括服务器版(象MySQL),单机版(象Access)以及嵌入式(象SQLite)。而且不管是服务器版还是嵌入式版它都完整支持视图、触发器、存储过程等...

Waiting4you
2009/07/26
3.8K
2
使用CImg处理三维图像

http://www.cppprog.com/2009/0429/110.html

Waiting4you
2009/05/05
1.6K
0
在C++中使用Lua

http://www.cppprog.com/2009/0209/62.html

Waiting4you
2009/05/05
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

Python 基础(十七):装饰器

更多内容,请点击上方蓝字关注查看! 1 闭包 首先我们来了解下闭包,什么是闭包呢?看一下维基百科给出的解析: 闭包(英语:Closure),又称词法闭包(Lexical Closure)或函数闭包(funct...

Python小二
01/15
0
0
Ubuntu忘记root密码

在系统启动时,长按ESC或shift键进入grub 选择高级选项,然后回车进入下图: 输入e,进入下图: 将图中的ro recovery nomodeset改为quiet splash rw init=/bin/bash,改完如下 按'F10'键,数秒...

osc_jpwyxabk
16分钟前
25
0
MRAM技术随着航空航天局走向轨道

MRAM(磁性RAM)是一种使用电子自旋来存储信息的存储技术(MRAM设备是Spintronics设备)。MRAM具有成为通用存储器的潜力,能够将存储存储器的密度与SRAM的速度结合在一起,同时始终保持非易失...

英尚微电子
17分钟前
11
0
网站通用 敏感词列表

好吧,敏感词本身被博园屏蔽了。只能存为附件了 https://blog-static.cnblogs.com/files/batsing/min_word.zip

osc_dihgscoq
18分钟前
0
0
.Net Core使用Unity替换原生DI

一、DIP、IOC、DI   面对对象设计原则可以帮助我们开发出更好的程序,其中有一个依赖倒置原则DIP并由此引申出IOC、DI等概念。就先粗略的了解一下: DIP(依赖倒置原则):程序要依赖于抽象接...

osc_6t6cjs45
19分钟前
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部