센트리

개요

센트리는 로그프레소 플랫폼의 로그 수집 에이전트입니다. 센트리는 로그프레소 서버와 인증서 기반 상호 인증을 거친 후 TLS 채널을 통해 안전하게 로그를 전송합니다.

로그프레소 4.0.2312.0 버전부터 센트리의 관리 편의성이 향상되어, 명령어 한 줄로 간편하게 설치할 수 있습니다. 센트리의 설치 및 원격 관리를 위해 다음 네트워크 포트를 사용합니다.

포트 번호서비스 주체설명
7140/tcp전달 또는 수집 노드 (티어 구성에 따라 다름)센트리가 전송하는 데이터 수신(TLS 채널)
44300/tcp분석 노드센트리 패키지 및 센트리 인증서 배포(TLS 채널)

센트리를 설치하고 센트리에서 전송하는 데이터를 정상적으로 수신하려면, 노드의 로컬 방화벽에서 해당 포트에 대한 접근을 허용해야 합니다. 포트 번호는 운영 환경에 따라 달라질 수 있습니다.

배포 준비

센트리를 배포하려면 웹 콘솔을 통해 JDK센트리 설치 패키지를 분석 노드에 업로드해야 합니다.

JAVA

센트리를 실행하려면 JAVA(JRE 또는 JDK) 파일이 필요합니다. 센트리 실행에 필요한 자바 파일은 로그프레소 서버에서 센트리 설치 파일과 함께 배포합니다.

JRE/JDK 준비

먼저 신뢰할 수 있는 JRE 또는 JDK 파일을 준비하세요. 다음과 같은 공식 경로에서 OpenJDK 배포본을 다운로드할 수 있습니다:

Note
로그프레소 소나 4.0.2409.0 버전부터는 OpenJDK 버전 21을 사용하세요. 센트리는 JRE를 사용할 수 있습니다. 기술지원이 필요한 경우, JDK를 사용하세요.

다운로드할 JRE/JDK 파일은 확장자가 .tar.gz(리눅스용)이거나, .zip(윈도우용)이어야 합니다.

다운로드한 파일을 로그프레소 서버에 업로드하기 전에 파일 이름을 다음 규칙에 맞도록 변경하세요.

  • 파일 이름은 jdk- 또는 jre-로 시작해야 합니다.
  • jdk- 또는 jre- 뒤부터 가장 처음 오는 점(.) 사이에는 숫자로만 구성된 메이저 버전을 명시해야 합니다.
    • 로그프레소 서버가 인식 가능한 파일명 예시:
      • jre-11.0.14.1.tar.gz (버전을 11.0.14로 상세히 표기)
      • jdk-11.zip (버전을 11로 약식 표기)
    • 로그프레소 서버가 인식하지 못하는 파일명 예시:
      • jre-8u151-linux-x64.tar.gz (버전 표기에 숫자 외에 문자열이 포함되어 있음)
  • 리눅스용 JRE/JDK 파일 확장자는 tar.gz이어야 합니다.
  • 윈도우용 JRE/JDK 파일 확장자는 zip이어야 합니다.
JRE/JDK 파일 업로드

다음 명령을 참고하여 JRE/JDK 파일을 로그프레소 서버의 배포 디렉터리에 업로드하세요.

# 이용 환경에 맞게 경로를 수정해 사용하세요.
# PKGDIR: 로그프레소 서버가 설치된 디렉터리 경로
PKGDIR="/opt/logpresso"

# 리눅스용/윈도우용 JRE 저장 디렉터리 생성
sudo -u logpresso mkdir -p ${PKGDIR}/download/{linux,win}/x64

# 설치 파일 복사
sudo -u logpresso cp PATH_TO_JRE_TAR_GZ {PKGDIR}/linux/x64
sudo -u logpresso cp PATH_TO_JRE_ZIP {PKGDIR}/win/x64
센트리 패키지

시스템 > 패키지에서 센트리 설치에 사용할 패키지를 등록하세요. 패키지를 등록하는 방법은 패키지를 참고하세요.

Note
로그프레소 2312.0 버전부터는 로그프레소 서버가 배포하는 패키지를 이용해 센트리를 배포할 수 있습니다. 이전 버전에서는 수동으로만 배포할 수 있습니다.

센트리 설치

관리대상 서버에 센트리를 설치하는 과정은 크게 두 단계로 나뉩니다.

  • 센트리를 설치할 호스트 정보 등록
  • 관리대상 서버에서 센트리 설치 명령 실행

센트리 설치 명령은 센트리 식별자와 센트리가 접속할 로그프레소 서버 정보, 센트리 설치 시 인증서 발급 및 호스트 인증에 사용할 인증 토큰 정보로 구성되어 있습니다. 설치 명령은 센트리를 설치할 호스트의 운영체제가 리눅스인 경우 Bash 셸을 기준으로, 윈도우인 경우 Windows PowerShell (5.1)을 기준으로 생성됩니다. 생성된 명령을 해당 호스트에서 실행하면 센트리 및 JRE의 설치와 서버 연결이 모두 자동으로 수행됩니다.

1 단계: 호스트 정보 등록
  1. 시스템 > 센트리에서 목록 우측 상단에 있는 추가 버튼을 클릭하세요.

    센트리 추가

  2. 센트리 추가 창에서 센트리 설치에 필요한 정보를 입력하고 추가 버틀을 클릭하세요.

    센트리 추가 대화 상자

    • 운영체제: 센트리를 설치할 호스트의 운영체제. 리눅스 또는 윈도우 중에 선택하세요.
    • 센트리 ID: 센트리를 식별할 고유 ID
    • 접속 대상: 센트리가 접속할 로그프레소 노드. 시스템 > 클러스터에 등록된 노드의 목록이 표시됩니다.
    • 인증 토큰: 무작위로 생성되는 센트리 설치용 인증 토큰(예: 9425-tnsa)
  3. 센트리 설치 안내에 따라 설치 명령을 복사하고, 센트리를 설치할 호스트의 관리자 터미널에서 실행하세요.

    센트리 추가 대화 상자

    • 클립보드 복사 버튼으로 설치 명령을 복사할 수 있습니다.
    • 확인 버튼을 누르면 창이 닫힙니다.
리눅스

리눅스용 설치 명령은 배시 셸(Bash)에서 실행되며 다음 형식을 따릅니다. 대문자로 표기된 부분은 설치 명령 생성 시에 자동으로 채워집니다.

# CTRL_NODE_IP: 센트리 패키지 및 인증서를 배포하는 분석 노드의 주소
# GUID: 센트리 ID
# TOKEN: 인증 토큰
# BASE_NODE_IP: 센트리와 통신할 전달 또는 수집 노드의 주소 (접속 대상)

wget --no-check-certificate -q -O install.sh \
"https://CTRL_NODE_IP:44300/deploy/installer/sentry-linux?guid=GUID&token=TOKEN&base=BASE_NODE_IP" && \
chmod +x install.sh && \
./install.sh

리눅스에 wget 대신 curl만 있는 경우 다음과 같이 수정해서 사용하세요.

# CTRL_NODE_IP: 센트리 패키지 및 인증서를 배포하는 분석 노드의 주소
# GUID: 센트리 ID
# TOKEN: 인증 토큰
# BASE_NODE_IP: 센트리와 통신할 전달 또는 수집 노드의 주소 (접속 대상)

curl -k -s -o install.sh \
"https://CTRL_NODE_IP:44300/deploy/installer/sentry-linux?guid=GUID&token=TOKEN&base=BASE_NODE_IP" && \
sed -i 's/wget --no-check-certificate -q -O/curl -k -s -o/g' install.sh && \
chmod +x install.sh && \
./install.sh
윈도우

윈도우용 설치 명령은 다음 형식을 따릅니다. 대문자로 표기된 부분은 설치 명령 생성 시에 자동으로 채워집니다.

# CTRL_NODE_IP: 센트리 패키지 및 인증서를 배포하는 분석 노드의 주소
# GUID: 센트리 ID
# TOKEN: 인증 토큰
# BASE_NODE_IP: 센트리와 통신할 전달 또는 수집 노드의 주소 (접속 대상)

cd $env:TEMP;
add-type "
	using System.Net;
	using System.Security.Cryptography.X509Certificates;
	public class TrustAllCertsPolicy : ICertificatePolicy {
		public bool CheckValidationResult(ServicePoint a, X509Certificate b, WebRequest c, int d) {
			return true;
		}
	}";

[System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy;
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12;
Invoke-WebRequest `
-Uri 'https://CTRL_NODE_IP:44300/deploy/installer/sentry-linux?guid=GUID&token=TOKEN&base=BASE_NODE_IP' `
-OutFile install.cmd; cmd /c install.cmd

로그프레소 서버가 제공하는 설치 명령은 모든 윈도우에 기본 탑재되는 Windows PowerShell 5.1을 기준으로 합니다. PowerShell 7 이상인 경우에는 다음과 같이 수정해서 실행하세요.

# CTRL_NODE_IP: 센트리 패키지 및 인증서를 배포하는 분석 노드의 주소
# GUID: 센트리 ID
# TOKEN: 인증 토큰
# BASE_NODE_IP: 센트리와 통신할 전달 또는 수집 노드의 주소 (접속 대상)

# TEMP 디렉터리로 이동
cd $env:TEMP

# 인증서 검증 비활성화
$originalCallback = [System.Net.ServicePointManager]::ServerCertificateValidationCallback
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }

# TLS 1.2 명시
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12

# 설치 스크립트 다운로드
Invoke-WebRequest `
  -Uri 'https://CTRL_NODE_IP:44300/deploy/installer/sentry-linux?guid=GUID&token=TOKEN&base=BASE_NODE_IP' `
  -OutFile 'install.cmd'

# 인증서 검증 우회 설정 복원
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = $originalCallback

# 설치 스크립트 실행
cmd /c install.cmd

Note
Windows Terminal에서는 PowerShell 5.1이 "Windows PowerShell"로, 그 이후 버전은 "PowerShell"로 구분되어 표시됩니다. 실행 시 확인하세요.
2 단계: 센트리 설치

클립보드에 복사한 명령어를 센트리를 설치할 호스트에서 실행하세요. 센트리가 설치되고 자동으로 실행됩니다.

  • 리눅스 센트리는 /opt/logpresso-sentry 디렉터리에 설치됩니다.
  • 윈도우 센트리는 C:\Program Files\Logpresso Sentry 디렉터리에 설치됩니다.
리눅스
  1. 리눅스 환경에서 센트리를 설치하고 실행하려면 net-tools, unzip, wget이 설치되어 있어야 합니다. 설치되어 있지 않다면 다음 명령을 실행해 설치하세요.

    # unzip, wget은 센트리를 설치할 때 필요합니다.
    # net-tools는 센트리가 시스템 정보를 수집할 때 필요합니다.
    
    # RHEL 계열
    sudo dnf install -y net-tools unzip wget
    
    # Debian 계열
    sudo apt-get install -y net-tools unzip wget
    
  2. 1 단계: 호스트 정보 등록에서 생성한 명령어를 배시 셸(Bash)에서 root 권한으로 실행하세요.

  3. 다음 명령으로 센트리의 상태를 확인하세요.

    systemctl status logpresso-sentry.service
    
  4. 로그프레소 서버에서 센트리의 연결 상태를 확인하세요. 센트리 연결 상태가 녹색으로 표시되지 않으면 센트리와 서버의 로컬 방화벽 설정이나 네트워크 통신 상태를 점검해보세요.

윈도우
  1. 1 단계: 호스트 정보 등록에서 생성한 명령어를 파워셸에서 관리자 권한으로 실행하세요.
  2. 작업 관리자서비스 탭에서 Logpresso 서비스가 실행 중인지 확인하세요. 파워셸에서 확인하려면 다음 명령을 실행하세요.
    sc.exe query Logpresso
    
  3. 로그프레소 서버에서 센트리의 연결 상태를 확인하세요. 센트리 연결 상태가 녹색으로 표시되지 않으면 센트리와 서버의 로컬 방화벽 설정이나 네트워크 통신 상태를 점검해보세요.

센트리 시작/중지

센트리 설치 명령을 실행하면 센트리가 설치되고 자동으로 시작됩니다. 관리자가 직접 센트리를 시작하거나 중지하려면 다음 방법을 사용하세요.

리눅스

터미널에서 root 권한으로 다음 명령을 실행하세요.

# 센트리 시작
systemctl start logpresso-sentry.service

# 센트리 중지
systemctl stop logpresso-sentry.service

# 센트리 재시작
systemctl restart logpresso-sentry.service
윈도우

서비스 관리 콘솔을 통해 Logpresso 서비스를 시작하거나 중지할 수 있습니다. 서비스 제어를 위해 관리자 권한이 필요합니다.

  1. Windows 키 + R을 눌러 실행 창을 여세요.
  2. 실행 창에 services.msc를 입력한 후 확인을 클릭하세요.
  3. 서비스 목록에서 Logpresso 서비스를 찾은 다음 해당 서비스를 마우스 오른쪽 버튼으로 클릭한 후 시작 또는 중지를 선택하세요.
기타 OS

자동 설치를 지원하지 않는 다른 OS에 센트리를 설치한 경우 센트리 설치 디렉터리에서 root 권한으로 다음 명령을 실행하세요.

# 센트리 설치 디렉터리로 이동(예시)
cd /opt/logpresso-sentry

# 센트리 시작
./logpresso start

# 센트리 중지
./logpresso stop

센트리 상태 조회

센트리 목록에서 센트리의 상태를 확인할 수 있습니다.

센트리 목록

  • 상태: 센트리가 로그프레소 서버와 연결되면 녹색, 센트리가 연결되지 않으면 회색으로 표시됩니다.
  • 노드: 센트리를 제어하는 클러스터 노드의 이름
  • 센트리 ID: 센트리 ID
  • 호스트명: 센트리가 설치된 호스트의 이름
  • 버전: 센트리의 버전 정보
  • CPU: CPU 사용률(단위: 백분율)
  • 메모리: 메모리 사용률(단위: 백분율)
  • 저장장치: 디스크 사용률(단위: 백분율). 저장장치 파티션이 여러 개인 경우 최댓값을 표시
  • NIC RX: 네트워크 수신 대역폭 사용률(단위: 백분율). 네트워크 인터페이스가 여러 개인 경우 최댓값을 표시
  • NIC TX: 네트워크 전송 대역폭 사용률(단위: 백분율). 네트워크 인터페이스가 여러 개인 경우 최댓값을 표시

센트리 원격 관리

센트리 ID를 클릭하면 센트리 호스트의 프로세스 목록 조회, 네트워크 연결 정보, 라우팅 테이블, ARP 캐시, 스레드 덤프, 번들 목록 조회 및 무결성 검사, 센트리 재시작 등과 같은 센트리 관리 기능을 수행할 수 있습니다.

센트리 원격 관리

  • 프로세스 조회: 센트리 호스트의 프로세스 목록을 보여줍니다. 프로세스 목록

  • 네트워크 연결 조회: 센트리 호스트가 연결하거나 연결된 네트워크 세션 목록을 보여줍니다. 네트워크 연결

  • 라우팅 테이블 조회: 센트리 호스트의 라우팅 테이블을 보여줍니다. 라우팅 테이블

  • ARP 캐시 테이블 조회: 센트리 호스트에 캐시된 ARP 정보를 보여줍니다. ARP 캐시

  • 전체 스레드 덤프: 센트리가 실행되는 동안 사용하는 스레드 목록을 보여줍니다. 전체 스레드 덤프

  • 부하 스레드 덤프: 스레드의 시스템 부하를 확인할 수 있습니다. 부하 스레드 덤프

  • 번들 목록: 센트리에 설치된 번들 목록을 보여줍니다. 번들 목록

  • 센트리 재시작: 센트리를 재시작합니다.

센트리 삭제

센트리를 완전히 제거하려면 먼저 관리대상 호스트에서 센트리를 제거한 뒤, 로그프레소 서버에 등록된 센트리 정보를 삭제해야 합니다.

1 단계: 관리대상 호스트에서 센트리 제거
리눅스

리눅스 호스트에서 센트리를 삭제하려면 root 권한으로 배시 셸을 열고 다음 명령을 실행하세요.

# 센트리 서비스 중지
sudo systemctl stop logpresso-sentry.service && \
sudo /opt/logpresso-sentry/logpresso uninstall sentry && \
sudo rmdir /opt/logpresso-sentry
윈도우

윈도우 호스트에서 센트리를 삭제하려면 관리자 권한으로 파워셸을 열고 다음 명령을 실행하세요.

# Logpresso 서비스 중지
sc.exe stop Logpresso

# Logpresso 서비스 상태 확인
sc.exe query Logpresso

# Logpresso 서비스 제거
sc.exe delete Logpresso

# 레지스트리 키 제거
$reg="HKLM:\\SOFTWARE\\WOW6432Node\\Apache Software Foundation\\Procrun 2.0\\Logpresso\\"
Remove-Item -Path $reg -Recurse

# 센트리 파일 및 폴더 제거
Set-Location "C:\Program Files\Logpresso Sentry\"
# 다음 행을 실행한 후, 질문에 y로 답하세요.
cmd.exe /c logpresso.cmd uninstall sentry
Set-Location ..
Remove-Item -Recurse -Path "C:\Program Files\Logpresso Sentry"
2 단계: 분석 노드에서 센트리 정보 삭제
  1. 시스템 > 센트리에서 삭제하려는 센트리 항목을 선택하세요.

  2. 목록 우측 상단에서 삭제를 클릭하세요.

  3. 센트리 삭제 대화 상자가 나타나면 확인 버튼을 눌러 센트리를 삭제하세요. 삭제하지 않으려면 취소를 클릭하세요.

    센트리 삭제