日志:

    日志是历史时间

    

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

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

    日志级别:事件的关键性程度,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 sysloguser@127.0.0.1 IDENTIFIED BY 'syslogpass';				设置sys的用户名与密码并切拥有syslog的所有权限			FLUSH PRIVILEGES;	: 刷新权限					service rsyslog restart	:重启服务				做一个服务访问让其生成日志				SELECT * FROM SystemEvents;	:查看日志信息