用syslog-ng建立日志中心

本文介绍了在Redhat系统中使用syslog将本地日志记录发送给log server的方法,包括在syslog配置文件中添加配置,以及在apache中配置记录日志。还提到因log server用syslog无法分开各机器日志,故使用syslog-ng,介绍了其下载安装、脚本配置及配置文件中client部分的设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用syslog可以把本地的log记录发送给log server。
在syslog的配置文件(/etc/syslog.conf)中加入
mail.*     @log_server_ip

相同的facility可以有多条配置,这样可以在发往server的同时在本地也保存一份。
如果也要用此记录apache的log,那么可以在apache中配置
CustomLog " /usr/bin/logger -p user.info" combined

然后再syslog中加入配置
user.info @log_server_ip

log server用syslog接受时无法把各机器发送过来的log分开,所以在log server用的是
syslog-ng,当然client也可以用syslog-ng,只不过现在client太多,要改过于麻烦。

从http://www.balabit.com/downloads/syslog-ng/stable/src/下载安装最新的syslog-ng,
安装很简单
./congifure && make && make install

解开的目录下有一个contrib目录,其中有一些配置文件的样本和启动脚本,可以选用符合自己
系统的。
我用的是Redhat
cp init.d.Redhat /etc/init.d/syslog-ng



# chkconfig: 2345 12 88
# description: syslog-ng is the next generation of the syslog daemon. # syslog-ng gives you the flexibility of logging not only by facility and # severity, but also by host, message content, date, etc. it can also replace # klogd's function of logging kernel messages


加到script中

chkconfig --add syslog-ng
chkconfig --level 345 syslog-ng on


配置文件中关于client的部分为

source s_remote {
tcp(ip(0.0.0.0) port(514));
udp(ip(0.0.0.0) port(514));
};

destination d_separatedbyhosts {
file("/var/log/syslog-ng/$HOST/$FACILITY.log" owner("root") group("root") perm(0640) dir_perm(0750) create_dirs(yes));
};

log { source(s_remote); destination(d_separatedbyhosts); };
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值