# 系统日志服务mysql
若是某些程序没有本身提供日志功能,系统日志可为其提供日志功能,但有些程序可自行提供日志工能,如httpd syslog: syslogd:system klogd:kernel rsyslog:syslog的升级版,centos6上使用 多线程 可为远程主机记录日志 支持加密远程传输 支持mysql,pgsql,oracle实现日志存储 强大的过滤器,可实现过滤日志中的任何部分 自定义输出格式
rsyslog程序环境sql
主程序:rsyslogd 配置文件:/etc/rsyslog.conf 服务脚本:/etc/rc.d/init.d/rsyslog
日志收集centos
facility: 将多个应用程序的日志统一成一个数据流放置在rsyslog中,多个应用程序通常与系统某个功能相关 系统中有不少不一样的facility,如与安全相关的facility是authpriv,将全部与安全相关的程序的日志放入同一日志
/etc/rsyslog.conf配置文件安全
默认状况下主配置文件/etc/rsyslog.conf由3部分组成: 1) #### MODULES #### --->启动/sbin/rsyslogd要加载的模块 格式:$ModLoad module-name #注释 $ModLoad 是关键字(/sbin/rsyslogd程序中定义的变量名) module-name:出如今/lib64/rsyslog/ 中的模块名称,记住不带.so 2) #### GLOBAL DIRECTIVES #### ----->全局规则设定 格式: #注释 规则内容 例如: # Include all config files in /etc/rsyslog.d/ $IncludeConfig /etc/rsyslog.d/*.conf 含义为启动时要读取/etc/rsyslog.d/中全部以.conf为结尾的文件 3) #### RULES #### ----->明细程序日志记录设定 格式: #注释 facility.priority target facility:可理解为“产生日志对象”,例如:authpriv 是登录认证的,mail 是邮件系统的。 auth authpriv cron daemon kern lpr mail mark news security user uucp syslog local0-local7(用户可自定义使用的facility) priority:指定的是日志级别,centos使用的日志级别以下,由低到高为: debug, info notice warning error critial alert emergency(panic) 指定级别: *:全部级别 none:没有级别 priority:此级别及更高级别的日志信息 =priority:仅此级别的信息 级别越低产生的日志越明细越多,级别越高产生的日志越危险越少。 指定级别的方式: *: 全部级别 none: 没有级别,就是不记录的意思 priority: 比此级别低的(包含该级别的)全部日志信息都会记录 =priority: 仅记录指定级别 target:将日志记录于指定的目标地点,能够有: 系统文件中,例如:/var/log/secure 用户:将日志信息通知给用户。 例如:系统默认emerg等级的日志就显示给系统上登录用户: # Everybody gets emergency messages *.emerg * 日志服务器:使用 @SERVER_ADDRESS 定义日志服务器地址,@@表示使用tcp514端口,@表示使用udp514端口 管道:经过管道传递给某些命令。 | COMMAND 在target前使用“-”表示异步写入
动态建立日志文件以及日志翻滚bash
一、能够在配置文件的RULES中配置使用动态建立日志文件 例如根据来源IP和日志建立不一样的文件和日志文件名 $template DynamicFile,"/var/log/mylog/%FROMHOSTIP%/%$YEAR%/%$MONTH%/%$YEAR%-%$MONTH%-%$DAY%.log" *.* ?DynamicFile #声明template DynamicFile并引用template。 二、使用日志翻滚,按照日志的大小或者时间来建立,压缩,删除,发送日志文件 /var/log/log-file { monthly rotate 5 compress delaycompress missingok notifempty create 644 root root postrotate /usr/bin/killall -HUP rsyslogd endscript }
记录系统中各个用户的操做记录
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