로그프레소 서비스 시작·중지 가이드

본 문서는 로그프레소 서비스를 시작·중지·재기동하는 두 가지 방식(systemctl / 런처 스크립트)을 정리한 가이드입니다.
명령어/경로는 실제 환경에 맞게 반드시 교체하세요. (설치 경로 예: /opt/logpresso)

개요

  • 로그프레소는 systemctl 방식과 런처 스크립트 방식 두 가지로 구동할 수 있습니다.

  • 프로세스·로그 확인은 두 방식 공통이며, 작업 전후 상태 확인에 사용합니다.

  • 사전 확인

    • systemd가 관리 중인 서비스를 런처로 중지하면 systemd가 이를 장애로 판단해 즉시 되살리므로 정지가 불가능하여 두 방식을 섞어 쓰면 안됩니다.
    • 유닛이 없거나 inactive / failed 인데 프로세스는 살아 있으면 런처 방식으로 기동 중
    • Active: active (running) 이고 CGroup: 에 java 프로세스가 보이면 systemctl 방식으로 기동 중
    systemctl status logpresso
    
  • 재기동 전 증적 수집

    • 장애로 인한 재기동이라면, 서비스를 내리기 전에 증적을 먼저 확보해야 합니다.
    • 재기동하는 순간 스레드 상태와 힙 메모리 내용이 사라져 원인 분석이 불가능해집니다.
    • 참고 문서 : 장애 원인 분석을 위한 증적 생성 가이드

적용 대상

  • 제품: Logpresso Sonar
  • 패키지 설치 경로 : /opt/logpresso

프로세스·로그 확인 (공통)

프로세스 확인

ps -ef | grep araqne
항목 예시 값 의미
첫 번째 열 (UID) root 서비스 실행 계정
실행 바이너리 /opt/logpresso/jre/bin/java 제품에 포함된 번들 JRE. 시스템 java 가 아닙니다.
-jar /opt/logpresso/araqne-core-4.1.0-package.jar 실제 구동 중인 엔진 패키지와 버전. 패치 후 이 값으로 확인합니다.
-Xms / -Xmx 4G / 4G JVM 힙 할당량
-XX:MaxDirectMemorySize 2G 다이렉트 버퍼(네트워크·파일 I/O) 할당량
-Daraqne.dir /opt/logpresso 설치 홈 디렉터리
-Daraqne.log.dir /opt/logpresso/log 로그 적재 경로
-Daraqne.ssh.port 7022 (127.0.0.1 바인딩) 로그프레소 CLI(SSH) 접속 포트

실행 계정 확인

  • 출력의 첫 번째 열이 현재 서비스를 구동 중인 계정입니다.
  • 기존과 다른 계정으로 기동하면 데이터·로그 파일의 소유권이 섞여 권한 오류나 기동 실패가 발생합니다.
  • 런처 스크립트를 직접 실행할 때 개인 계정으로 접속해 sudo 없이 실행하면 다른 계정으로 기동됩니다.
  • crontab에 등록할 때도 동일 계정의 crontab에 등록해야 합니다.

서비스 중지 시 주의사항

  • 종료 전 진행 중인 예약 쿼리·배치와 수집 유실 가능성을 확인하세요.
  • 재전송을 지원하지 않는 프로토콜(예: Syslog UDP)은 정지 구간의 로그가 복구되지 않습니다.
  • kill -9 사용 시, 인덱스·저널이 메모리에 남은 채 강제 종료될 수 있으며, 데이터 파일 손상 및 기동 시 복구 지연이 발생할 수 있습니다.

systemctl 방식

서비스 기동

systemctl start logpresso

서비스 중지

systemctl stop logpresso

서비스 자동기동 설정

systemctl enable logpresso

서비스 자동기동 해제

systemctl disable logpresso

런처 스크립트 방식

서비스 기동

  • 확인한 서비스 실행 계정으로 기동합니다.
/opt/logpresso/logpresso start
  • 정상출력 예시
Logpresso Launcher 1.2.1
starting Logpresso...
Logpresso CLI is now listening on 7022 as SSH.
Logpresso has been started.

서비스 중지

/opt/logpresso/logpresso stop
  • 정상출력 예시
stopping Logpresso. waiting for shutdown ............... stopped

서비스 자동기동 설정(crontab)

  • 런처 방식에서는 systemd 자동 기동을 쓸 수 없으므로 crontab에 주기적 기동 명령을 등록합니다.
  • 서비스 실행 계정의 crontab에 등록해야 합니다.
  • 점검·패치로 서비스를 내려야 할 때는 작업 전에 해당 cron 줄을 주석(#) 처리하고, 작업 완료 후 복구하세요.
crontab -e
  • 내용 추가
*/10 * * * * /opt/logpresso/logpresso start
  • 등록 확인
crontab -l
  • 10분마다 실행되며, 이미 기동 중이면 아무 동작도 하지 않습니다.
  • 서버 재부팅이나 비정상 종료 시 최대 10분 이내에 자동 기동됩니다.