六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 45|回复: 0

用syslog-ng建立日志中心

[复制链接]

升级  51.33%

35

主题

35

主题

35

主题

秀才

Rank: 2

积分
127
 楼主| 发表于 2013-1-16 02:29:49 | 显示全部楼层 |阅读模式
使用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); };
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表