6.Logstash插件—输出插件(Output)& 尚未进入官方库的常用插件

6.1 标准输出(Stdout)

  • 配置示例
output {
  stdout {
    codec => rubydebug
    workers => 2
  } 
}

6.2 保存成文件(File)

  • 和 LogStash::Inputs::File 不同, LogStash::Outputs::File 里可以使用 sprintf format 格式来自动定义输出到带日期命名的路径
  • 配置示例
    • 使用 output/file 插件首先需要注意的就是 message_format 参数
      • 插件默认是输出整个 event 的 JSON 形式数据的
output {
  file {
    path => "/path/to/%{+yyyy/MM/dd/HH}/%{host}.log.gz"
    message_format => "%{message}"
    gzip => true
  } 
}
  • 另一个非常有用的参数是 gzip,其格式包括有:
    • 10字节的头,包含行数、版本号以及时间戳
    • 可选的扩展头,如原文件名
    • 文件体,包括DEFLATE压缩的数据
    • 8字节的尾注,包括CRC-32校验和以及未压缩的原始数据长度

6.3 保存进 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 和 transport。
    • 运行下面这行命令,就可以看到自己的 logstash 进程名,对应的 node.role 值是 c:

6.4 Kafka

6.4.1 Input 配置示例

input {
  kafka {
    bootstrap_servers => "localhost:9092"
    group_id => "logstash"
    topics => "test"
    consumer_threads => 5
    decorate_events => “basic”
  }
}
  • Input重要配置
    • consumer_threads
      • 消费者线程数,默认为1
    • decorate_events
      • 是否添加元数据,取值:none,basic,extended
    • receive_buffer_bytes
      • 默认值为32768(32KB),读取数据时使用的 TCP 接收缓冲区 (SO_RCVBUF) 的大小
    • fetch_max_bytes
    • max_poll_records

6.4.2 Output 配置

output {
  kafka {
    bootstrap_servers => "localhost:9092"
    topic_id => "test"
    compression_type => "snappy"
  } 
}
  • Output 生产的设置:
    • compression_type
      • 消息的压缩模式,默认是 none,可以有 gzip 和 snappy
    • acks
      • 消息的确认模式:可以设置为 0、 1、 all
    • buffer_memory
      • 默认值为33554432(32MB)
    • batch_size
      • 每当多条记录被发送到同一个分区时,生产者将尝试将记录一起批处理到更少的请求中
      • 默认值为16384
    • Partitioner
      • 以获取分区。当不存在消息键时,插件以循环方式选择一个分区
      • Default,round_robin,uniform_sticky
    • receive_buffer_bytes
      • 读取数据时使用的 TCP 接收缓冲区的大小,默认值为32768(32KB)
    • reconnect_backoff_ms
      • 连接失败时尝试重新连接到给定主机之前等待的时间,默认50
    • reconnect_backoff_ms
      • 配置控制客户端等待请求响应的最长时间,默认40秒

大数据视频推荐:
腾讯课堂
CSDN
ELK入门精讲
AIOps智能运维实战
ELK7 stack开发运维
大数据语音推荐:
ELK7 stack开发运维
企业级大数据技术应用
大数据机器学习案例之推荐系统
自然语言处理
大数据基础
人工智能:深度学习入门到精通

你可能感兴趣的:(6.Logstash插件—输出插件(Output)& 尚未进入官方库的常用插件)