Syslog 在大规模日志场景下确实容易成为性能瓶颈,常见原因和优化方向可以从采集、传输、服务端处理、存储几个层面来看。
常见瓶颈点:
可用工具排查:
# CPU / IO
top、iostat、vmstat
# 网络丢包
netstat -su
sar -n UDP
# syslog 队列
journalctl --verify
logger 同步调用推荐:
示例(rsyslog 异步):
module(load="imuxsock")
module(load="omfwd")
*.* action(
type="omfwd"
target="logserver"
port="514"
protocol="tcp"
queue.type="linkedList"
queue.size="100000"
queue.saveOnShutdown="on"
)
action(
batch="on"
batch.max="1000"
)
rsyslog 示例:
module(load="imtcp")
input(type="imtcp" port="514" threads="8")
main_queue(
queue.type="linkedList"
queue.size="1000000"
queue.workerThreads="4"
)
$ActionFileEnableSync off
$PreserveFQDN off
应用
↓
本地 agent (rsyslog/fluent-bit)
↓ (TCP + 队列)
Kafka
↓
日志处理集群
↓
存储 / 检索
优点:
如果你能说下:
我可以直接给你一套可落地的配置。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。