如何配置Linux的日志文件

如何配置Linux的日志文件,第1张

日志也应该是用户注意的地方。不要低估日志文件对网络安全的重要作用,因为日志文件能够详细记录系统每天发生的各种各样的事件,用户可以通过日志文件检查错误产生的原因,或者在受到攻击、被入侵时追踪攻击者的踪迹。日志的两个比较重要的作用是审核和监测。配置好的Linux的日志非常强大。对于Linux系统而言,所有的日志文件在/var/log下。默认情况下,Linux的日志文件没有记录FTP的活动。用户可以通过修改/etc/ftpacess让系统记录FTP的一切活动。 /etc/syslog.conf的格式 Linux系统的日志文件是可以配置的,在前面的章节中已经介绍了如何定制Apache、wu-ftpd、Sendmail的日志文件。Linux系统的日志文件是由/etc/syslog.conf决定的,用户有必要花时间仔细配置一下/etc/syslog.conf。下面是/etc/syslog.conf的范例:# Log all kernel messages to the kernlog.# Logging much else clutters up the screen.kern.* /var/log/kernlog# Log anything (except mail) of level info or higher.# Don't log private authentication messages!*.infomail.nonenews.noneauthpriv.nonecron.none/var/log/messages*.warning /var/log/syslog# The authpriv file has restricted access.authpriv.* /var/log/secure# Log all the mail messages in one place.mail.* /var/log/maillog# Log cron stuffcron.* /var/log/cron# Everybody gets emergency messages, plus log them on another# machine.*.emerg# Save mail and news errors of level err and higher in a# special file.uucp,news.crit /var/log/spooler# Save boot messages also to boot.loglocal7.* /var/log/boot.log# INNnews.=crit /var/log/news/news.critnews.=err /var/log/news/news.errnews.notice /var/log/news/news.notice可以看出,该配置文件的每一行的第一个字段列出要被记录的信息种类,第二个字段则列出被记录的位置。第一个字段使用下面的格式:facility.level[facility.level…] 此处的faciity是产生信息的系统应用程序或工具,level则是这个信息的重要程度。level的重要程度由低到高依次是:debug(调试消息)、info(一般消息)、notice(值得注意的消息)、warning(警告)、err(一般性错误)、crit(严重错误)、alert(或emerg,紧急情况)。facility包含有:auth(认证系统,如login或su,即询问用户名和口令)、cron(系统执行定时任务时发出的信息)、daemon(某些系统的守护程序的syslog,如由in.ftpd产生的log)、kern(内核的信息)、lpr(打印机的信息)、mail(处理邮件的守护进程发出的信息)、mark(定时发送消息的时标程序)、news(新闻组的守护进程的信息)、user(本地用户的应用程序的信息)、uucp(uucp子系统的信息)和“*”(表示所有可能的facility)。 将日志文件记录到远程主机 如果有另一个Linux或UNIX系统,那么可以配置日志文件,让其把消息发到另外一个系统并记录下来。这也是为什么上面的所有日志文件都记录了主机名的原因。

Linux下运行的Web服务器Apache,默认日志文件是不分割的,一个整文件既不易于管理,也不易于分析统计。安装cronolog后,可以将日志文件按时间分割,易于管理和分析。

cronolog安装配置非常简单,下载后只需要输入几个命令即可完成。

1、下载(最新版本)

# wget http://cronolog.org/download/cronolog-1.6.2.tar.gz

2、解压缩

# tar zxvf cronolog-1.6.2.tar.gz

3、进入cronolog安装文件所在目录

# cd cronolog-1.6.2

4、运行安装

# ./configure

# make

# make install

5、查看cronolog安装后所在目录(验证安装是否成功)

# which cronolog

一般情况下显示为:/usr/local/sbin/cronolog

整个安装过程结束,下面需要把日志的格式配置一下:

1、虚拟主机配置文件 httpd-vhosts.conf

将Web日志设置 CustomLog 修改为以下格式

CustomLog "|/usr/local/sbin/cronolog /www/logs/example_%Y%m%d.log" combined

当然,错误日志设置 ErrorLog 也可以利用 cronolog 分割,设置为

ErrorLog "|/usr/local/sbin/cronolog /www/logs/error_%Y%m%d.log"

2、如果服务器上只有一个站点(当然这种情况比较少),直接按上面所说格式修改 httpd.conf 文件日志设置部分。

说明:

绿色部分 为 cronolog 安装后所在位置,系统版本不同可能位置不完全一样,以 which 命令查看到的位置为准;

蓝色部分 为设置的日志文件所在位置,根据需要修改;

红色部分 为设置的日志文件标识性字符,根据需要修改;

%Y%m%d 为日志文件分割方式,例子中为“年月日”,也可以修改成自己需要的。

修改httpd.conf文件:

这个文件在我的电脑上是在 /etc/httpd/conf/httpd.conf 不同的服务器 应该是不一样的

在最后加上

# ServerAdmin webmaster@dummy-host.example.com

# DocumentRoot /www/docs/dummy-host.example.com

# ServerName dummy-host.example.com

ErrorLog /data/logs/apache/webapps.wps.cn-error_log

CustomLog "|/usr/local/sbin/cronolog /data/logs/apache/%Y%m%d/access_log.%H" combined

#这个保证了每天一个文件夹 文件夹下 每个小时产生一个log

#CustomLog "|/usr/local/sbin/cronolog /data/logs/apache/%Y%m%%Hdaccess_log" combined

进入到 /etc/init.d/httpd configtest 这样验证你的配置文件是否正确

进入到 /etc/init.d/httpd restart 重启apache 服务器(不同的'系统应该是不一样 要自己找到)

用于Tomcat

第一步

if [ -z "$CATALINA_OUT" ] then

CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out

fi

修改为

if [ -z "$CATALINA_OUT" ] then

CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out.%Y-%m-%d

fi

第二步

touch "$CATALINA_OUT"

改为

#touch "$CATALINA_OUT"

第三步

org.apache.catalina.startup.Bootstrap "$@" start

>>"$CATALINA_OUT" 2>&1 &

修改为

org.apache.catalina.startup.Bootstrap "$@" start 2>&1

| /usr/local/sbin/cronolog "$CATALINA_OUT" >>/dev/null &

重新启动 Tomcat

service tomcat restart

可以在 Tomcat 的 logs 目录底下找到以系统日期为结尾的 catalina.out.yyyy-mm-dd 的档案,这样子就成功了。

后续就是持续观察看看是不是每天都有产生一个新的 catalina.out.yyyy-mm-dd 档案。然后再安排定期删除这些较旧的 log 档即可。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7460049.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-05
下一篇2023-04-05

发表评论

登录后才能评论

评论列表(0条)

    保存