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 插件首先需要注意的就是 message_format 参数
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
- consumer_threads
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秒
- compression_type
大数据视频推荐:
腾讯课堂
CSDN
ELK入门精讲
AIOps智能运维实战
ELK7 stack开发运维
大数据语音推荐:
ELK7 stack开发运维
企业级大数据技术应用
大数据机器学习案例之推荐系统
自然语言处理
大数据基础
人工智能:深度学习入门到精通
网友评论