syslog-ng
是另外一种流行的日志管理的解决方案, 它是一个商业软件, 包括收费版和开源版.
步骤一: 启用 EPEL 源 (略);
步骤二: 删除系统自带的 rsyslog 并 yum 安装 syslog-ng
- yum remove rsyslog
- yum install syslog-ng
步骤三:
syslog-ng 服务端配置:/etc/syslog-ng/syslog-ng.conf
全局配置: options
- options {
- flush_lines (0); #设置一次发送多少条日志, 默认为 0 即收到日志就发送
- time_reopen (10);
- log_fifo_size (1000); #单条日志大小
- long_hostnames (off);
- use_dns (no); #不依赖 DNS 服务器
- use_fqdn (no);
- create_dirs (yes);# 存储日志的位置
- keep_hostname (yes);
- };
设置日志来源, 端口, 协议, 最大连接数, 以及存储的位置.
- source demo_source {
- tcp(ip(0.0.0.0) port(514) max-connections(1000));
- };
- destination d_central { file("/var/log/central/$HOST/$PROGRAM"); };
设置过滤器 filter(可选):
- filter f_loadbalance { host(lb.example.com) and match("Deny"value( "MESSAHE" )); };
- # 将负载均衡器中含有 Deny 字样的日志过滤出来.
设置规则, 将 demo_source 中的日志存储到 d_central 中:
log { source(demo_source); destination(d_central); };
保存并重启 syslog-ng 服务
/etc/init.d/syslog-ng restart
syslog-ng 客户端配置:
- destination d_syslog { tcp("syslog-ng",port(514)); };
- log { source(s_sys); destination(d_syslog); };
重启 syslog-ng 服务
/etc/init.d/syslog-ng restart
常见的 syslog 程序不止 rsyslog 和 syslog-ng, 还有老牌的 syslog,facebook 开源的 scribe 等. 但是在性能和开发进度上, rsyslog 和 syslog-ng 优势明显. 而且 rsyslog 作为 centos 默认的日志程序, 配置简单, 故为首选.
来源: http://www.bubuko.com/infodetail-2575475.html