weblogic在安装结束后默认开启了日志记录功能,默认配置情况下,weblogic会有3种日志,分别是accesslog,Serverlog和domainlog,WebLogic8.x和9及以后的版本目录结构有所不同。
WebLogic9及以后版本:
accesslog在$MW_HOME\user_projects\domains\\servers\\logs\access.log
serverlog在$MW_HOME\user_projects\domains\\servers\\logs\.log
domainlog在$MW_HOME\user_projects\domains\\servers\\logs\.log
WebLogic8.x版本:
accesslog路径如下:$MW_HOME\user_projects\domains\\\access.log
serverlog路径如下:$MW_HOME\user_projects\domains\\\.log
domainlog路径如下:$MW_HOME\user_projects\domains\\.log
其中:
$MW_HOME是WebLogic的安装目录
是域的实际名称,是在创建域的时候指定的
是Server的实际名称,是在创建Server的时候指定的
是AdminServer的实际名称,是在创建AdminServer的时候指定的。
access.log
serverlog
主要记录了一个domain的运行情况,一个domain中的各个weblogicserver可以把它们的一些信息(如:严重错误)发送到AdminServer上,AdminServer把这些信息传递到domain.log上
1.2tomcat
tomcat日志默认路径:在安装目录下的logs文件夹下:
如果在安装中默认修改了日志存储位置,可在conf/logging.properties文件中查看
tomcat日志一般分为catalina.out、localhost、manager、localhost_access_log4种格式日志。
catalina.out
运行中的日志,主要记录运行中产生的一些信息,尤其是一些异常错误日志信息,内容如下:
catalina.Y-M-D.log
是tomcat自己运行的一些日志,这些日志还会输出到catalina.out,
但是应用向console输出的日志不会输出到catalina.{yyyy-MM-dd}.log
localhost.Y-M-D.log
程序异常没有被捕获的时候抛出的地方,
Tomcat下内部代码丢出的日志(jsp页面内部错误的异常,org.apache.jasper.runtime.HttpJspBase.service类丢出的,日志信息就在该文件!)
应用初始化(listener,filter,servlet)未处理的异常最后被tomcat捕获而输出的日志,而这些未处理异常最终会导致应用无法启动。
manager.Y-M-D.log
管理日志
localhost_access_log
此部分日志可通过查看server.xml文件的如下内容,来确定是否启用了访问日志记录
1.3apache
access_log
访问日志,记录所有对apache服务器进行请求的访问
error_log
错误日志,记录下任何错误的处理请求,通常服务器出现什么错误,可对该日志进行查看
1.4nginx
error.log,主要记录一些错误信息。
1.5iis
查看日志文件位置:
二、数据库日志
本次主要介绍关于mysql、sqlserver、oracle的一些日志信息。
2.1mysql:
status:查看当前数据库状态
mysql的日志主要分为以下几种:
ErrorLog:记录Mysql运行过程中的Error、Warning、Note等信息,系统出错或者某条记录出问题可以查看Error日志;
GenaralQueryLog:记录mysql的日常日志,包括查询、修改、更新等的每条sql;
BinaryLog:二进制日志,包含一些事件,这些事件描述了数据库的改动,如建表、数据改动等,主要用于备份恢复、回滚操作等;
SlowQueryLog*:记录Mysql慢查询的日志;
showvariableslike‘log_%’;
可见mysql默认只是开启了错误日志,错误日志内容如下:
通过开启日志,来记录所有查询和执行的sql语句:
GLOBALgeneral_log=’ON’;
SHOWVARIABLESLIKE‘general%’;
general_log:日志功能是否开启,默认关闭OFF
general_log_file:日志文件保存位置
到对应路径下查看日志内容如下,会记录当前针对数据库所做的所有操作
2.2sqlserver:
SQLServer日志记录了完整的SQLServer数据库运行的状态信息,并以消息的形式记录系统级、应用级操作。
可以使用SQLServerManagementStudio中的日志文件查看器来访问有关在以下日志中捕获的错误和事件的信息:
1.右键单击“SQLServer日志”,指向“查看”,然后单击“SQLServer日志”或“SQLServer和Windows日志”。
2.展开“SQLServer日志”,右键单击任何日志文件,然后单击“查看SQLServer日志”。还可以双击任何日志文件,日志格式如下:
selectsqlserver_start_timefromsys.dm_os_sys_info;
历史sql记录查询:SQLServer并没有这样的实现,只有sys.dm_exec_query_stats缓存了一部分(sqlserver服务开启后执行的语句,某些不被缓存执行计划的语句并不记录)。
启动sqlserver审计功能,会记录所有的操作记录,可以通过查看Audits来查看日志的存储路径
2.3oracle:
Oracle日志文件分为两种:重做日志文件(redologfile)、归档日志文件,其中重做日志文件主要记录了数据库的操作过程,可以在进行数据库恢复时,将重做日志文件在还原的数据库上进行执行,以达到数据库的最新状态。
None:是默认值,不做审计;
DB,Extended:这样审计结果里面除了连接信息还包含了当时执行的具体语句;
OS:将audittrail记录在操作系统文件中,文件名由audit_file_dest参数指定;
开启审计功能:
altersystemsetaudit_sys_operations=TRUEscope=spfile;
altersystemsetaudit_trail=db,extendedscope=spfile;
重启实例即可
开启后会把审计内容记录到sys库的AUD$表中
修改将日志文件记录在操作系统中:altersystemsetaudit_trail=’OS’scope=spfile;
Audit_file_dest即为日志保存的具体路径。
三、操作系统日志3.1windows日志
查看windows日志方法:开始->运行->输入eventvwr
可通过查看帮助手册进一步获取日志信息:
Windows的日志以事件id来标识具体发生的动作行为,可通过微软查询具体id对应的操作:
也可访问如下网站查看:
之前也已经有大牛写过关于windows日志查看内容,可参考如下链接:
3.2linux日志
linux系统日志一般存放在/var/log/目录下。
/var/log/cron:记录crond计划任务产生的事件消息。
/varlog/dmesg:记录Linux系统在引导过程中的各种事件信息。
/var/log/maillog:记录进入或发出系统的电子邮件活动。
/var/log/rpmpkgs:记录系统中安装各rpm包列表信息。
secure
用户日志
utmp日志记录当前用户的一些信息,由于utmp日志文件同样为二进制文件,可通过w、who命令查看
简单整理了在应急中如何查找常见中间件、数据库、操作系统的日志,从而能方便我们快速进行溯源,当然仅限于在日志开启的情况下。