编译安装Cronolog轮转Apache和Tomcat日志

简介:

        cronolog 是一款日志轮询(rotation)工具,可以用它来把Apache, Tomcat, Nginx等WEB服务器的输出日志切分按日或者按月保存。cronolog 从标准输入中读取日志内容,然后把他们写到按指定格式命名的日志文件中。当日期改变后, cronolog会把之前的日志文件关闭,再打开一个包含新日期的日志文件。利用cronolog可以完美的解决web服务器日志文件不断增大,且不能在运行时删除的问题。

cronolog特点:

        cronolog 特点cronolog可以按月、日甚至按小时进行日志轮询,也可以配置每个日志文件的最大值,当文件大小达到这个最大值时,自动记录到下一个日志文件中。

        cronolog稳定版本为 1.6.2,但此版本有一个弊端:当日志文件的大小到2G(2150726147字节)时,cronolog进程就变成僵尸进程,即日志无法再写入,cronolog 1.7 版本解决了这个问题。

下载

1
cronolog-1.7.0-beta.tar.gz

安装

1
2
3
4
5
# tar zxvf cronolog-1.7.0-beta.tar.gz
# cd cronolog-1.7.0
# ./configure --prefix=/usr/local/cronolog
# make
# make install

如果不指定--prefix路径,cronolog默认安装在/usr/local/sbin/cronolog

修改Apache虚拟主机配置

编辑httpd.conf文件,将其中的

1
[root@localhost~]#vim/etc/httpd/httpd.conf

将默认日志:

1
CustomLog "logs/access_log"combined


修改为:

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

其中%Y%m%d为日志文件分割方式,即为“年月日”。

关键点在于: 被轮询的日志一定要是绝对路径,不能是相对路径。

老男孩学习笔记:

0691aa1fa296bfd644e23a8aad7710bc.jpg-wh_

30f4d22d6d57a221200c8b21af91c834.jpg-wh_

修改Tomcat配置

修改tomcat的bin目录下的catalina.sh

1
# vim /usr/local/tomcat/bin/catalina.sh

找到如下代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
CATALINA_OUT= "$CATALINA_BASE" /logs/catalina .out
touch  "$CATALINA_OUT"
  if  "$1"  "-security"  ] ;  then
     if  [ $have_tty - eq  1 ];  then
       echo  "Using Security Manager"
     fi
     shift
     "$_RUNJAVA"  "$LOGGING_CONFIG"  $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
       -Djava.endorsed. dirs = "$JAVA_ENDORSED_DIRS"  -classpath  "$CLASSPATH"  \
       -Djava.security.manager \
       -Djava.security.policy== "$CATALINA_BASE" /conf/catalina .policy \
       -Dcatalina.base= "$CATALINA_BASE"  \
       -Dcatalina.home= "$CATALINA_HOME"  \
       -Djava.io.tmpdir= "$CATALINA_TMPDIR"  \
       org.apache.catalina.startup.Bootstrap  "$@"  start \
       >>  "$CATALINA_OUT"  2>&1 &
   else
     "$_RUNJAVA"  "$LOGGING_CONFIG"  $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
       -Djava.endorsed. dirs = "$JAVA_ENDORSED_DIRS"  -classpath  "$CLASSPATH"  \
       -Dcatalina.base= "$CATALINA_BASE"  \
       -Dcatalina.home= "$CATALINA_HOME"  \
       -Djava.io.tmpdir= "$CATALINA_TMPDIR"  \
       org.apache.catalina.startup.Bootstrap  "$@"  start \
       >>  "$CATALINA_OUT"  2>&1 &
   fi


将上面CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out修改为:

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

将最上面的touch “$CATALINA_OUT”注释掉如下

1
#touch "$CATALINA_OUT"

将下面两处

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

修改为

1
2
       org.apache.catalina.startup.Bootstrap  "$@"  start 2>&1 \
        /usr/local/sbin/cronolog  "$CATALINA_OUT"  >>  /dev/null  2>&1 &

1
2
      org.apache.catalina.startup.Bootstrap  "$@"  start 2>&1 \
         /usr/local/cronolog/sbin/cronolog  "$CATALINA_BASE" /logs/catalina .%Y-%m-%d.out >>  /dev/null  &

然后重启tomcat即可



      本文转自ling118 51CTO博客,原文链接:http://blog.51cto.com/meiling/1976745,如需转载请自行联系原作者




相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
9月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
1583 5
|
存储 监控 安全
实时记录和查看Apache 日志
Apache 是一个开源、跨平台的 Web 服务器,保护其平台需监控活动和事件。Apache 日志分为访问日志和错误日志,分别记录用户请求和服务器错误信息。EventLog Analyzer 是一款强大的日志查看工具,提供集中收集、分析、实时警报和安全监控功能,帮助管理员识别趋势、检测威胁并确保合规性。通过直观的仪表板和自动化响应,它简化了大规模日志管理,增强了 Apache 服务器的安全性和性能。
449 5
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
600 9
|
Java 应用服务中间件 Linux
Tomcat运行日志字符错乱/项目启动时控制台日志乱码问题
总结: 通过以上几种方法,概括如下:指定编码格式、设置JVM的文件编码、修改控制台输出编码、修正JSP页面编码和设置过滤器。遵循这些步骤,你可以依次排查和解决Tomcat运行日志字符错乱及项目启动时控制台日志乱码问题。希望这些建议能对你的问题提供有效的解决方案。
2203 16
|
12月前
|
人工智能 运维 监控
Aipy实战:分析apache2日志中的网站攻击痕迹
Apache2日志系统灵活且信息全面,但安全分析、实时分析和合规性审计存在较高技术门槛。为降低难度,可借助AI工具如aipy高效分析日志,快速发现攻击痕迹并提供反制措施。通过结合AI与学习技术知识,新手运维人员能更轻松掌握复杂日志分析任务,提升工作效率与技能水平。
|
监控 安全 BI
优化 Apache 日志记录的 5 个最佳实践
Apache 日志记录对于维护系统运行状况和网络安全至关重要,其核心包括访问日志与错误日志的管理。通过制定合理的日志策略,如选择合适的日志格式、利用条件日志减少冗余、优化日志级别、使用取证模块提升安全性及实施日志轮换,可有效提高日志可用性并降低系统负担。此外,借助 Eventlog Analyzer 等专业工具,能够实现日志的高效收集、可视化分析与威胁检测,从而精准定位安全隐患、评估服务器性能,并满足合规需求,为强化网络安全提供有力支持。
333 0
优化 Apache 日志记录的 5 个最佳实践
|
监控 Java 应用服务中间件
Tomcat log日志解析
理解和解析Tomcat日志文件对于诊断和解决Web应用中的问题至关重要。通过分析 `catalina.out`、`localhost.log`、`localhost_access_log.*.txt`、`manager.log`和 `host-manager.log`等日志文件,可以快速定位和解决问题,确保Tomcat服务器的稳定运行。掌握这些日志解析技巧,可以显著提高运维和开发效率。
1676 13
|
存储 运维 监控
金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践
中信银行信用卡中心每日新增日志数据 140 亿条(80TB),全量归档日志量超 40PB,早期基于 Elasticsearch 构建的日志云平台,面临存储成本高、实时写入性能差、文本检索慢以及日志分析能力不足等问题。因此使用 Apache Doris 替换 Elasticsearch,实现资源投入降低 50%、查询速度提升 2~4 倍,同时显著提高了运维效率。
1152 3
金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践
|
存储 监控 安全
实时记录和查看Apache 日志
Apache 是一个开源、跨平台的Web服务器,保护其安全依赖于监控活动和分析访问日志。日志分为访问日志和错误日志,前者记录用户请求及响应情况,后者记录服务器错误信息。EventLog Analyzer等工具可集中收集、分析日志,提供直观的仪表板和实时警报,帮助识别趋势、异常和威胁,确保服务器稳定性和安全性,并支持合规管理。
381 5
apache+tomcat配置多站点集群的方法
apache+tomcat配置多站点集群的方法
255 4

推荐镜像

更多