logstash使用之简单使用
来源:互联网 发布:defender 禁止软件联网 编辑:程序博客网 时间:2024/05/10 01:53
概述
logstash作为日志消息的中间件,获取数据后经过过滤再发送到别的地方.
简单实用
比如,获取数据从控制台,然后输出到控制台.
编写配置文件
log_std.conf
input{ stdin{}}output{ stdout{}}
- stdin/stdout: 为控制台的输入和输出
测试配置文件
通过命令测试配置文件是否正确:
bin/logstash -f first-pipeline.conf --config.test_and_exit
启动
bin/logstash -f /path/to/configFile.conf# --config.reload.automatic,以自动重新加载模式启动,这样改了配置文件后,不用手动.使用了`stdin`插件的时候,不能使用bin/logstash -f /path/to/configFile.conf --config.reload.automatic
以自动重新加载模式启动,这样改了配置文件后,不用手动.使用了
stdin
插件的时候,不能使用
测试
启动后
[root@localhost logstash-5.6.3]# ./bin/logstash -f config/simple_log.conf Sending Logstash's logs to /home/ting/logstash-5.6.3/logs which is now configured via log4j2.properties[2017-11-23T16:30:07,768][INFO ][logstash.modules.scaffold] Initializing module {:module_name=>"fb_apache", :directory=>"/home/ting/logstash-5.6.3/modules/fb_apache/configuration"}[2017-11-23T16:30:07,771][INFO ][logstash.modules.scaffold] Initializing module {:module_name=>"netflow", :directory=>"/home/ting/logstash-5.6.3/modules/netflow/configuration"}[2017-11-23T16:30:08,017][INFO ][logstash.pipeline ] Starting pipeline {"id"=>"main", "pipeline.workers"=>2, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>5, "pipeline.max_inflight"=>250}[2017-11-23T16:30:08,052][INFO ][logstash.pipeline ] Pipeline main startedThe stdin plugin is now waiting for input:[2017-11-23T16:30:08,398][INFO ][logstash.agent ] Successfully started Logstash API endpoint {:port=>9600}nihao2017-11-23T08:30:20.521Z localhost nihao
输入nihao,会在下面看到输出的2017-11-23T08:30:20.521Z localhost nihao
调试使用的配置
log_std.conf
input{ stdin{}}# filter可以不需要,这里只是为了对比下,这个filter的作用: 解析输入的消息中的键值对,然后放到target的字段中.filter{ kv => { target => "kv" }}output{ stdout{ codec => rubydebug }}
为了方便看到效果,一般输出内容通过使用rubydebug
插件查看,可以看到数据再logstash处理后还没有输出的内容样式.
比如,以上的例子,输入内容和输出内容消息内容一样看似没有什么变化,如果我们加入了别的插件,这样的结果看不出来插件运行效果.
所以,这里使用debug模式输出内容,可以看到具体的处理数据:
启动
启动后,我们可以看到,输入内容和输出内容如下:
name=nihao{ "@version" => "1", "host" => "localhost", "@timestamp" => 2017-11-23T08:40:16.868Z, "kv" => { "name" => "nihao" }, "message" => "name=nihao"}
对比下上面的例子的输出: 上一个例子的输出:
2017-11-23T08:30:20.521Z localhost name=nihao
可以看到,未使用调试输出的内容只是输出了时间,主机,和消息内容
,插件执行的结果kv
没有显示.
注意
虽然开启调试显示的内容和json相似,但这只是调试显示的内容,数据在logstash中储存可能是一个对象,或者一个集合.具体输出json还是xml由output决定
阅读全文
0 0
- logstash使用之简单使用
- logstash使用之json输入输出
- logstash使用之日期处理
- logstash安装和使用
- 开始使用Logstash
- logstash 配置使用
- Logstash使用详解
- logstash安装与使用
- logstash使用小结
- Logstash 使用详解
- Logstash安装使用
- Logstash的使用
- ELK日志处理之使用logstash收集log4J日志
- ELK日志处理之使用logstash收集log4J日志
- ELK 之二:ElasticSearch 和Logstash高级使用
- 使用SpringBoot之logback与logstash集成问题
- ELK日志处理之使用logstash收集log4J日志
- ELK之Logstash安装与配置及使用
- $.ajax 中的contentType为application/json时,服务端接收不到数据
- 关于mybatis中collection一对多关联查询分页出错问题总结
- 利用nexus搭建maven私服
- SpringView-下拉刷新
- android 牛逼的下载框架
- logstash使用之简单使用
- PHP7使用mongo扩展写aggregate
- 拔电池掉电后重新开机,电池使用情况界面已用多长时间数据出现负数
- JavaScript构造函数详解
- JAVA --实用单例模式
- SIP交换中的SDP及RTP的工作过程
- springboot事务管理详解
- 小白Java笔记——理解面向对象(一)
- 人工智能之经典逻辑推理