rsyslog使用及配置

日志:

    日志是历史时间

    

    按时间序列将发生的事件予以记录的文件

    日志记录:事件发生的时间,事件内容

    日志级别:事件的关键性程度,log level


    

Linux:哪些进程需要记录日志?

syslog: 日志系统

syslogd: 系统进程的相关日志

klogd: 内核事件相关的日志


我们这里使用rsyslog来记录日志。    

    rsyslog特点:      
        支持多线程
        支持:TCP,SSL,TLS,RELP
        支持:MySQL, PGSQL, Oracle等多种关系型数据中
        有强大的过滤器,可实现过滤系统信息中的任意部分
        支持自定义输出格式
        适用于企业级别日志记录需求
        模块化程序
    
    rsyslog主配置文件:/etc/rsyslog.conf

    rsyslog的选项:facility(设施),priority(级别),Target(路径)
    
    facility: 设施,从功能或程序上对日志进行分类,并由专门的工具负责记录其日志
		auth:跟认证相关的
		authpriv:跟认证授权相关的
		cron:跟周期性任务相关的
		daemon:帮守护进程相关的
		kern:帮内核记录日志的
		lpr:帮打印组记录日志
		mail:帮邮件服务记录日志
		mark:防火墙标记记录日志的
		news: 新闻组
		security:跟安全相关的
		syslog:syslong自己的日志
		user:跟用户相关的
		uucp:unix日志
		local0 through local7: 8 customed facility(8个自定义的facility)
			
		指定设施时可以使用通配符:指定日志选项
			* :所有
			,:列表,f1,f2,f3,f4...
			! : 取反
			; :记录多个日志信息
			- :启用异步功能
			
	priority: 级别,如果不用=号会记录比自己更高的级别
		debug
		info
		notice
		warn, warning
		err, error
		crit
		alert
		emerg,panic
			
			通配符:
				* :所有级别
				none :没有任何级别,不记录日志信息
				; :记录多个日志信息
				- :启用异步功能
				
	Target:
		文件路径:例如/var/log/messages
		用户:*,所有用户
		日志服务器:@SERVER_IP
		管道:|COMMAND
    
    
    
    rsyslog的格式:
        facility.priority    Target
        
        例如1:mail.info		/var/log/maillog
		比指定级别更高的所有级别,包括指定的级别本身
		
	例如2:mail.=info	/var/log/maillog	:只记录info级别的日志
		明确指定级别
	
	例如3:mail.!info	/var/log/maillog
		除了指定级别
			
	例如4:*.info		/var/log/log
		所有facility的info级别
	
	例如5: mail.*		/var/log/maillog
		mail的所有级别
		
	例如6:mail,news.info	/var/log/maillog
		mail与news的info级别
	
	例如7:mail.notice, new.info		/var/log/log
		mial的notice级别和new的info级别
			
	例如8:mail.info		*
		mail的日志发送给当前系统上已登录的所有用户info级别及以上的日志
			
	例如9:mail.=info		@192.168.1.1	
		将mail的info日志发送给192.168.1.1这个日志服务器
		
	例如10:mail.!info		| COMMAND
		将mail除info之外的其他级别日志发送给一个命令,如gerp
		
	例如11:*.info;mail.none
		记录所有设施的info及其他更高级别日志,但是mail不记录
	
	例如12:mail.*		-/var/log/maillog
		记录mail的所有级别日志,但是日志是异步同步的
		
    查看日志信息:
        tail /etc/log/messages
        
        日志信息格式:
	    	时间	主机	进程(PID):时间

    

启用接受其他服务器发送来的日志文件功能:启用日志服务器功能

	vim /etc/rsyslog.conf
			修改配置之后重启才会生效
			
			
	MODULES:	模块
		#没跟空格的都是可启用功能
			ModLoad imudp		:装载一个udp模块
			UDPServerRun 514
				监听在UDP的514端口接收其他服务器发来的日志信息
				--------------------------------------------------
			ModLoad imtcp		:装载一个tcp模块
			InputTCPserverRun	:
			监听在TCP的514端口接收其他服务器发来的日志信息
						
				--------------------------------------------------
				
			GLOBAL DIRECTIVES:	全局指令
			
				--------------------------------------------------
			
			RULES:	规则
			


    

rsyslog支持将日志存储于MySQL服务器中:

	vim /etc/rsyslong.conf
		
		yum install rsyslog-mysql	: 安装rsyslog-mysql模块
			rpm -ql  rsyslog-mysql
				/lib/rsyslog/ommysql.so	: om代表输出模块im代表输入模块
				/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql		:日志输出模版
			
			begin forwarding rule
				
		MODULES
		#Log event to MySQL
			$ModLoad ommysql	: 装载mysql模块
		
			
		RULES
		mail.*	:ommysql:127.0.0.1,Syslog,sysloguser,syslogpass
		facility.priority :ommysql:SERVER_IP,DATABASE,USERNAME,PASSWD
		
		将日志模版重定向输入到mysql数据库
		mysql < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql	
		
		mysql : 进入mysql数据库
			SHOW DATABASES; : 查看是否已经将模版导入
			use Syslog; : 将Syslog设为默认数据库
			SHOW TABLES; : 查看默认数据库的表
			GRANT ALL ON Syslog.* TO [email protected] IDENTIFIED BY 'syslogpass';
				设置sys的用户名与密码并切拥有syslog的所有权限
			FLUSH PRIVILEGES;	: 刷新权限
			
		service rsyslog restart	:重启服务
		
		做一个服务访问让其生成日志
		
		SELECT * FROM SystemEvents;	:查看日志信息



你可能感兴趣的:(rsyslog)