logstash
程序员文章站
2022-07-06 16:19:25
...
logstash
logstash insatll
- 安装jok
- 下载 logstash-7.2.0.tar.gz
- tar -zxvf logstash-7.2.0.tar.gz
- 进入解压的logstash-7.2.0的目录
- 启动logstash(bin/logsatsh -f ogstash配置文件)
logstash 配置文件
logstash 有三个插件 Input, filter, output
input {
file {
path => "/var/log/httpd/test.log"
start_position => "beginning"
type => "test"
}
}
filter {
grok {
match => { "message" => "%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}" }
}
}
output {
elasticsearch{
hosts => ["127.0.0.1:9200"]
index => 'logstash'
document_type => 'default'
}
}
input 插件常用的几种介绍
标准输入 stdin{}
input{
stdin{
add_field => {"key" => "value"} #向事件添加一个字段
codec => "plain" #默认是line, 可通过这个参数设置编码方式
tags => ["std"] #添加标记
type => "std" #添加类型
id => 1 #添加一个唯一的ID, 如果没有指定ID, 那么将生成一个ID
enable_metric => true #是否开启记录日志, 默认true
}
}
# stdin官方参考: https://www.elastic.co/guide/en/logstash/current/plugins-inputs-stdin.html
文件输入 file{}
input{
file{
path => ["/var/log/nginx/access.log", "/var/log/nginx/error.log"] #处理的文件的路径, 可以定义多个路径
exclude => "*.zip" #匹配排除
sincedb_path => "/data/" #sincedb数据文件的路径, 默认<path.data>/plugins/inputs/file
codec => "plain" #默认是plain,可通过这个参数设置编码方式
tags => ["nginx"] #添加标记
type => "nginx" #添加类型
discover_interval => 2 #每隔多久去查一次文件, 默认15s
stat_interval => 1 #每隔多久去查一次文件是否被修改过, 默认1s
start_position => "beginning" #从什么位置开始读取文件数据, beginning和end, 默认是结束位置end
}
}
# file官方参考: https://www.elastic.co/guide/en/logstash/current/plugins-inputs-file.html
tcp/udp输入 tcp/udp{}
input{
tcp{
port => 8888 #端口
mode => "server" #操作模式, server:监听客户端连接, client:连接到服务器
host => "0.0.0.0" #当mode为server, 指定监听地址, 当mode为client, 指定连接地址, 默认0.0.0.0
ssl_enable => false #是否启用SSL, 默认false
ssl_cert => "" #SSL证书路径
ssl_extra_chain_certs => [] #将额外的X509证书添加到证书链中
ssl_key => "" #SSL**路径
ssl_key_passphrase => "nil" #SSL**密码, 默认nil
ssl_verify => true #核实与CA的SSL连接的另一端的身份
tcp_keep_alive => false #TCP是否保持alives
}
}
input{
udp{
buffer_size => 65536 #从网络读取的最大数据包大小, 默认65536
host => 0.0.0.0 #监听地址
port => 8888 #端口
queue_size => 2000 #在内存中保存未处理的UDP数据包的数量, 默认2000
workers => 2 #处理信息包的数量, 默认2
}
}
# tcp官方参考: https://www.elastic.co/guide/en/logstash/current/plugins-inputs-tcp.html
# udp官方参考: https://www.elastic.co/guide/en/logstash/current/plugins-inputs-udp.html
syslog 输入 syslog{}
input{
syslog{
host => 0.0.0.0 #监听地址, 默认0.0.0.0
port => "8888" #端口
}
}
# syslog官方参考: https://www.elastic.co/guide/en/logstash/current/plugins-inputs-syslog.html
上一篇: 微信扫码支付模式一和模式二的区别
下一篇: 使用JAXP进行XM解析(基于DOM)
推荐阅读
-
Nodejs Express 通过log4js写日志到Logstash(ELK)
-
ELK快速入门(二)通过logstash收集日志
-
python脚本监控logstash进程并邮件告警实例
-
解决logstash.outputs.elasticsearch[main] Could not index event to Elasticsearch status 404
-
ELK-logstash-6.3.2部署
-
ELK-logstash-6.3.2-常用配置
-
分享windows 10 下部署 elasticsearch 和 logstash (二)
-
logstash配置日志kafka采集报Error connecting to node java.net.UnknownHostException
-
Logstash概念与原理
-
tomcat 配置 logstash 日志收集