ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • <Apache-Tomcat>아파치 톰캣 기술지원 전문기업 (주)제스트정보기술 - Logrotate 기능 활용하여 tomcat log 관리하기
    WEBWAS/Apache,Tomcat 2024. 1. 22. 14:24

     

    안녕하세요 제스트정보기술입니다.

    오늘은 Tomcat에서 lograte기능을 활용하여

    catalina.out log를 관리하는 방법에 대해 알아보겠습니다.

    해당 로그에 경우 톰캣 장애 발생 시 중요한 자료가 되므로 오늘 내용을 잘 숙지하시면 좋으 실 것 같습니다.

     

     

     

    logrotate로 설정하기

     

    tomcat의 경우 기본적으로 생성되는 catalina.out log가 존재 합니다. 그런데 이 log파일은 rotation이 안됩니다. 앞서 apache의 rotatelogs를 이용한 방법을 안내해드렸는데 이번엔 linux계열에 기본적으로 설치되는 logrotate로 설정하는 방법을 설명 드립니다.

     

    1. /etc/logrotate.d에 설정파일 추가

     

    /tomcat/logs 는 실제 catalina.out 로그가 쌓일 경로를 지정해 주면 됩니다.

    /tomcat/logs/catalina.out {

    daily

    missingok

    rotate 7

    compress

    delaycompress

    notifempty

    copytruncate

    dateext

    dateformat .%Y-%m-%d

    }

     

    • daily: 매일 로그를 분리합니다.
    • missingok: 로그 파일이 없는 경우에도 경고하지 않습니다.
    • rotate 7: 최대 7개의 로그 파일을 유지하고, 그 이상은 삭제합니다.
    • compress: 이전 로그 파일을 압축합니다.
    • delaycompress: 다음 로그 파일이 생성되기 전까지 압축하지 않습니다.
    • notifempty: 로그 파일이 비어있을 경우에는 로테이션을 수행하지 않습니다.
    • copytruncate: 로그 파일을 분리할 때 파일을 복사한 후, 원본 파일을 잘라냅니다.
    • dateext : 날자 확장자
    • dateformat : .년-월-일 로 파일 확장자 생성

     

     

    위 설정을 /etc/logrotate.d/tomcat과 같은 파일로 저장하면 주기적으로 로그 로테이션을 실행하도록 설정할 수 있습니다.

     

    2. crontab에 매일 해당 설정 파일에 따라 실행하도록 등록

     

    crontab 파일에 설정을 등록합니다.

    vi /etc/crontab에 등록 시에는 아래와 같이 등록할 수 있습니다.

    0 0 * * * root run-parts/etc/cron.daily

     

    이제 cron 서비스는 설정한 시간에 맞춰 logrotate 명령을 실행하여 Tomcat의 catalina.out 파일을 로테이션합니다. 설정된 로그 파일의 보존 기간과 압축 여부는 /etc/logrotate.d/tomcat 파일에서 지정한 설정에 따라 동작합니다.

     

    /etc/cron.daily 디렉토리는 리눅스 시스템에서 일일 cron 작업을 실행하는 데 사용되는 디렉토리입니다. cron.daily 디렉토리에 위치한 스크립트 파일은 매일 정해진 시간에 자동으로 실행됩니다.

     

    일반적으로 /etc/cron.daily 디렉토리에는 시스템 유지 관리를 위한 스크립트 파일들이 포함됩니다. 이 스크립트 파일들은 시스템 로그 파일의 로테이션, 캐시 파일의 정리, 보안 업데이트의 검사 등과 같은 주기적인 작업을 처리합니다.

     

    /etc/cron.daily 디렉토리에 있는 스크립트 파일은 다음과 같은 규칙을 따라야 합니다:

     

    • 파일 이름은 대문자 또는 소문자로 시작해야 합니다.
    • 파일 이름에는 공백이 없어야 합니다.
    • 파일에 실행 권한이 있어야 합니다.

    ※ selinus가 Enforcing 상태라면 log 파일의 소유자 계정에서 cron을 동작시켜야 함

     

     

     

    3. 테스트

     

    /usr/sbin/logrotate -f /etc/logrotate.d/tomcat

    /usr/sbin/logrotate -f /etc/logrotate.conf 명령은 logrotate를 강제로 실행하여 지정된 logrotate 설정 파일(/etc/logrotate.conf)에 따라 로그 파일을 로테이션하는 명령입니다.

     

    Logrotate(로테이트) 디버그 모드

    /usr/sbin/logrotate -d /etc/logrotate.d/tomcat

     

     

     

     

    Logrotate(로테이트) 실행과정 화면의 표시

    /usr/sbin/logrotate -v /etc/logrotate.d/tomcat

     

     

     

    위에 순서를 순차적으로 적용시켜 보시고 테스트까지 해보시길 바랍니다.

    다음에도 보다 알찬 정보로 찾아뵙겠습니다.

    감사합니다.

     


    <제스트정보기술 기술지원>

    (주)제스트정보기술은 전산시스템 구축에 오픈소스 SW로 구성

    요구사항 분석과/공개 소프트웨어 설치 및 기술지원/서비스 연동/교육 및 컨설팅을 수행 하고 있습니다.

    -. 공개 소프트웨어 기술 지원체계 수립

    -. 공개 SW 교육 지원

    -. 수요기관의 SW 구조/기능을 분석하고, 공개 SW 도입을 위한 분석, 솔루션을 검토함.

    -. 오픈소스 SW 구축을 위한 최근 개발경향 분석

    -. 해당 기능/역할에 대한 공개 소프트웨어 기술데이터 분석

    -. 개방형 OS 도입 및 인프라 기반 WEB/WAS, 오픈 DB 기술지원 체계 수립

    -.Apache, Jboss(Wildfly) was, Linux OS, 오픈 DBMS 구축, 기술지원

    제스트정보기술은 20년 이상의 WEB/WAS 기술지원 경험과 노하우를 바탕으로

    고객의 인프라 상용소프트웨어(Jeus, weblogic,JBoss EAP, Oracle DB등)에 소요되는 제반비용

    (도입, 운영, 유지보수 비용등)을 획기적으로 절감하도록 계획과 방법을 제안하고 있으며

    시스템 서비스의 성능을 전반적으로 개선하여 기술지원, 컨설팅을 제공하고 있습니다.

    시스템 구축 이후에도 서비스 안정화를 위해 지속적인 서비스 모니터링 지원하고 있으며 ,

    고객의 시스템을 안정적으로 운영하기 위해 최선의 노력을 다하고 있습니다.​

Designed by Tistory.