logstash笔记----output插件

author author     2022-09-02     444

关键词:

  (一),标准输出 

     和之前 inputs/stdin 插件一样,outputs/stdout 插件也是最基础和简单的输出插件。同样在这里简单介绍一下,作为输出插件的一个共性了解

配置事例:

output {
    stdout {
        codec => rubydebug
        workers => 2
    }
}

==等同于
output {
    stdout {
        codec => rubydebug {
        }
        workers => 2
    }
}
#######以下的命令常用于调试信息。
[[email protected] logstash]# /usr/local/logstash/bin/logstash -f test/geoip2.conf
 -vv

解释:输出插件统一具有一个参数是workers,logstash为输出做了多线程的准备。其次就是codec 设置。codec 的作用在之前已经讲过。可能除了 codecs/multiline ,其他 codec 插件本身并没有太多的设置项。所以一般省略掉后面的配置区段。换句话说。上面配置示例的完全写法应该是:


(二).保存成文件File

      通过日志收集系统将分散在数百台服务器上的数据集中存储在某中心服务器上,这是运维最原始的需求。早年的 scribed ,甚至直接就把输出的语法命名为 <store>。Logstash 当然也能做到这点。

和 LogStash::Inputs::File 不同, LogStash::Outputs::File 里可以使用 sprintf format 格式来自动定义输出到带日期命名的路径。

output {
    file {
        path => "/path/to/%{+yyyy/MM/dd/HH}/%{host}.log.gz"
        message_format => "%{message}"
        gzip => true
    }
}

  使用 output/file 插件首先需要注意的就是 message_format 参数。插件默认是输出整个 event 的 JSON 形式数据的。这可能跟大多数情况下使用者的期望不符。大家可能只是希望按照日志的原始格式保存就好了。所以需要定义为 %{message},当然,前提是在之前的 filter 插件中,你没有使用 remove_field 或者 update 等参数删除或修改 %{message} 字段的内容

gzip 是否采用压缩格式。就可以一段一段的识别出来数据 —— 反过来说,也就是可以一段一段压缩了添加在后面!


(三).保存进 Elasticsearch

output {
    elasticsearch {
        host => "192.168.0.2"
        protocol => "http"
        index => "logstash-%{type}-%{+YYYY.MM.dd}"
        index_type => "%{type}"
        workers => 5
        template_overwrite => true
    }
}

目前协议支持三种协议:node . http 和tranaport


(四).输出到Redis

input { stdin {} }
output {
    redis {
        data_type => "channel"
        key => "logstash-chan-%{+yyyy.MM.dd}"
    }
}

用 redis-cli 命令行来演示 outputs/redis 插件的实质


(五).发送网络数据(TCP)

output {
    tcp {
        host  => "192.168.0.2"
        port  => 8888
        codec => json_lines
    }
}

    在收集端采用 tcp 方式发送给远端的 tcp 端口。这里需要注意的是,默认的 codec 选项是 json。而远端的 LogStash::Inputs::TCP 的默认 codec 选项却是 plain !所以不指定各自的 codec ,对接肯定是失败的。

另外,由于IO BUFFER 的原因,即使是两端共同约定为 json 依然无法正常运行,接收端会认为一行数据没结束,一直等待直至自己 OutOfMemory !

所以,正确的做法是,发送端指定 codec 为 json_lines ,这样每条数据后面会加上一个回车,接收端指定 codec 为 json_lines 或者 json 均可,这样才能正常处理。包括在收集端已经切割好的字段,也可以直接带入收集端使用了


本文出自 “清风明月” 博客,请务必保留此出处http://liqingbiao.blog.51cto.com/3044896/1929844

logstash笔记----input插件

...p; 在"hello World" 示例中,我们已经见到并介绍了Logstash 的运行流程和配置的基础语法。 请记住一个原则:Logstash配置一定要有一个input和一个output。在演示过程中,如果没有写明input,默认就会使用"helloworld"里我... 查看详情

elk学习笔记之logstash基本语法

Logstash基本语法: 处理输入的input处理过滤的filter处理输出的output 区域数据类型条件判断字段引用 区域:Logstash中,是用{}来定义区域区域内,可以定义插件一个区域内可以定义多个插件 数据类型:条件判断:字... 查看详情

elk学习笔记之logstash之inputs配置

Logstash之inputs配置: inputplugindoc:https://www.elastic.co/guide/en/logstash/current/index.html插件很多,选两个常用的使用下。1.stdininputplugin参数:建立stdin-sample.conf:input{ stdin{}}output{ stdout{}}执行:. 查看详情

logstash数据处理服务的输出插件output配置参数详解(代码片段)

Logstash数据处理服务的输出插件Output配置参数详解1.将日志数据存储到Elasticsearch集群output配置字段是将收集的日志数据存输出到生存储中,一般都是elasticsearch集群。常用字段配置:hostsES集群每个节点的地址信息。index:指定存储... 查看详情

logstash安装插件慢warning:sslsocket#session=isnotsupported

问题:安装插件慢[email protected]:/work/opt/logstash# bin/logstash-plugin install logstash-output-kinesisValidating logstash-output-kinesisInstalling logstash-output-kinesisWARNI 查看详情

logstash插件安装

官方的安装指令是:bin/plugin install logstash-output-webhdfs但是往往安装不成功,一般就是如下情况,然后卡着不动了:Validatinglogstash-output-webhdfs。。。原因是防火墙挡掉了logstash的默认gemsourcecat Gemfile | grep source#& 查看详情

如何使用logstash(代码片段)

目录一、什么是Logstash二、如何安装三、快速使用四、Input输入插件五、codec编码插件六、filter过滤器插件七、output输出插件八、总结一、什么是LogstashLogstash是一个日志收集器,可以理解为一个管道,或者中间件。功能是从定义... 查看详情

elk学习笔记a

一、基本操作1、命令行运行 bin/logstash-e ‘input{stdin{}}output{stdout{codec=>rubydebug}}‘#bin/logstash -e ‘input{stdin{}}output{stdout{codec=>rubydebug}}‘Logstash startup compl 查看详情

logstash6.1手动安装插件

...output里没有exec模块所以需要安装1,将源修改为淘宝源vimlogstash-6.1.2/Gemfile追加source"https://ruby.taobao.org/"2,Gemfile添加要安装的模块名vimlogstash-6.1.2/Gemfile追加gem"logstash-output-exec"3,安装 查看详情

logstash笔记-----grok插件的正则表达式来解析日志

(一)简介:   丰富的过滤器插件的存在是logstash威力如此强大的重要因素。名为过滤器,其实提供的不单单是过滤的功能,它们扩展了进入过滤器的原始数据,进行复杂的逻辑处理,甚至可以无中生有的添加新的logs... 查看详情

logstash_output_kafka:mysql同步kafka深入详解(代码片段)

...业务选型方案。而mysql写入kafka的选型方案有:方案一:logstash_output_kafka插件。方案二:kafka_connector。方案三:debezium插件。方案四:flume。方案五:其他类似方案。其中:debezium和flume是基于mysqlbinlog实 查看详情

logstash_output_kafka:mysql同步kafka深入详解(代码片段)

...业务选型方案。而mysql写入kafka的选型方案有:方案一:logstash_output_kafka插件。方案二:kafka_connector。方案三:debezium插件。方案四:flume。方案五:其他类似方案。其中:debezium和flume是基于mysqlbinlog实 查看详情

logstash-2-插件配置

配置语法: Logstash必须有一个input和一个output1,处理输入的input 1),从文件录入logstash使用一个名为filewatch的rubygem库来监听文件变化,这个库记录一个.sincedb的数据文件跟踪监听日志文件的当前位置input{file{path=>["/var/log/*.log","... 查看详情

elk学习笔记之logstash之codec

Logstash之codec: Logstash处理流程:input=》decode=》filter=》encode=》output 分类: Plain编码: input{      stdin{      codec=>plain& 查看详情

logstash实战input插件syslog

vim/etc/logstash/conf.d/syslog.confinput{syslog{type=>"system-syslog"port=>514}}output{stdout{codec=>rubydebug}}启动/opt/logstash/bin/logstash-f/etc/logstash/conf.d/syslog.conf在开一个窗口可以看到514端口启动 查看详情

elk之logstash学习(代码片段)

Logstash最强大的功能在于丰富的过滤器插件。此过滤器提供的并不单单是过滤的功能,还可以对进入过滤器的原始数据进行复杂的逻辑处理。甚至添加独特的事件到后续流程中。1、logstash基本语法组成logstash主要由三部分组成:in... 查看详情

logstash基础操作

Logstash:数据收集、日志数据配置框架input     ...filter     ...output     ...四种类型的插件:input,filter,codec,output数据类型Array: [item1, 查看详情

logstash配置语法

配置结构以及插件位置输入插件:input{…}过滤插件:filter{…}输出插件:output{…}数据类型-Arrayusers=>[{id=>1,name=>N1},{id=>2,name=>N2}]-listspath=>["/var/log/messages","/var/log/*.log"]uris=>["http://elastic.co" 查看详情