CentOS 6开始,日志服务由syslogd变成了rsyslogd,在配置rsyslogd前须要了解下系统日志的8个级别: 0 EMERG(紧急):可能致使系统不可用的状况 1 ALERT(警报):必须立刻解决的问题 2 CRIT(严重错误):比较严重的状况 3 ERR(错误):运行出现错误 4 WARNING(警告):可能会影响系统功能的状况 5 NOTICE(注意):普通提示信息,不影响系统 6 INFO(普通讯息):通常信息 7 DEBUG(调试):程序调试用
1、客户端配置linux
一、安装rsyslog [root@localhost ~]# rpm -qa | grep rsyslog rsyslog-7.4.7-12.el7.x86_64 [root@localhost ~]# yum install rsyslog [root@localhost ~]# vi /etc/rsyslog.conf *.* @192.168.1.106:514 注:日志默认使用udp协议,使用@@则使用tcp协议。
2、服务器配置bash
服务器端修改/etc/rsyslog.conf文件以及/etc/sysconfig/rsyslog文件。 一、修改/etc/rsyslog.conf [root@localhost ~]# vi /etc/rsyslog.conf #Provides UDPsyslog reception $ModLoad imudp $UDPServerRun514 #### GLOBAL DIRECTIVES #### #从远程客户端接收的日志写入到以它们IP命名的单个文件夹中 $template IpTemplate,"/var/log/%FROMHOST-IP%.log" *.* ?IpTemplate & ~ 或者归类的更加详细 $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat $template DynamicFile,"/var/log/gxmlogs/%$YEAR%/%$MONTH%/%$DAY%/%fromhost-ip%-test.log" *.* ?DynamicFile 以打开日志服务监听,输入netstat –lunp可见rsyslog监听于514端口(默认端口) 二、修改/etc/sysconfig/rsyslog [root@localhost ~]# vi /etc/sysconfig/rsyslog #文件中,需修改 SYSLOGD_OPTIONS="-m240 -r" 其中-r表示接受外部日志的写入。 三、防火墙容许514端口,并重启防火墙,关闭selinux 四、重启日志服务 [root@localhost ~]# systemctl stop rsyslog.service #关闭日志服务 [root@localhost ~]# systemctl start rsyslog.service #开启日志服务 五、客户端能够用logger测试测试: 使用logger命令发送日志进行测试, [root@localhost ~]# logger –p user.info “teststr” 发送日志到本机,本机会进行转发到日志服务器,在/var/log/messages中查看发送的日志。 六、在客户端/etc/bashrc结尾处加上如下内容,这样系统执行的命令会记录到/var/log/messages日志中,便于测试 # vi /etc/bashrc export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }' # source /etc/bashrc
备注:服务器
CentOS6中配置文件相同,重启服务命令为 # service rsyslog restart。