研发要求的是把4台应用服务器的日志聚合到一台服务器,并在服务器本地生成文件。
logstash的配制文件如下
input {
beats {
port => "5044"
}
}
output {
if[fields][log_source] == "catalina_log"{
file {
path => "/waiqin365logs/appsvr/appsvr_catalina_log"
codec => line { format => "%{host} %{message}" } # 指定写入格式
flush_interval => 0 # 指定刷新间隔,0代表实时写入
}
stdout {
codec => rubydebug
}
}
else if[fields][log_source] == "info_log"{
file {
path => "/waiqin365logs/appsvr/appsvr_info_log"
codec => line { format => "%{host} %{message}" } # 指定写入格式
flush_interval => 0 # 指定刷新间隔,0代表实时写入
}
stdout {
codec => rubydebug
}
}
else if[fields][log_source] == "debug_log"{
file {
path => "/waiqin365logs/appsvr/appsvr_debug_log"
codec => line { format => "%{host} %{message}" } # 指定写入格式
flush_interval => 0 # 指定刷新间隔,0代表实时写入
}
stdout {
codec => rubydebug
}
}
}
运行后发现,在写入本地磁盘上的文件时,速度特别慢,文件大小经常不动,10多秒才写入几百KB,远远小于生产环境日志生成的速度,有大神能帮忙看看什么原因吗?
logstash的配制文件如下
input {
beats {
port => "5044"
}
}
output {
if[fields][log_source] == "catalina_log"{
file {
path => "/waiqin365logs/appsvr/appsvr_catalina_log"
codec => line { format => "%{host} %{message}" } # 指定写入格式
flush_interval => 0 # 指定刷新间隔,0代表实时写入
}
stdout {
codec => rubydebug
}
}
else if[fields][log_source] == "info_log"{
file {
path => "/waiqin365logs/appsvr/appsvr_info_log"
codec => line { format => "%{host} %{message}" } # 指定写入格式
flush_interval => 0 # 指定刷新间隔,0代表实时写入
}
stdout {
codec => rubydebug
}
}
else if[fields][log_source] == "debug_log"{
file {
path => "/waiqin365logs/appsvr/appsvr_debug_log"
codec => line { format => "%{host} %{message}" } # 指定写入格式
flush_interval => 0 # 指定刷新间隔,0代表实时写入
}
stdout {
codec => rubydebug
}
}
}
运行后发现,在写入本地磁盘上的文件时,速度特别慢,文件大小经常不动,10多秒才写入几百KB,远远小于生产环境日志生成的速度,有大神能帮忙看看什么原因吗?
3 个回复
Dm
赞同来自: Tatalol_
Tatalol_
赞同来自:
zqc0512 - andy zhou
赞同来自: