센트리
개요
센트리는 로그프레소 플랫폼의 로그 수집 에이전트입니다. 센트리는 로그프레소 서버와 인증서 기반 상호 인증을 거친 후 TLS 채널을 통해 안전하게 로그를 전송합니다.
로그프레소 4.0.2312.0 버전부터 센트리의 관리 편의성이 향상되어, 명령어 한 줄로 간편하게 설치할 수 있습니다. 센트리의 설치 및 원격 관리를 위해 다음 네트워크 포트를 사용합니다.
| 포트 번호 | 서비스 주체 | 설명 |
|---|---|---|
| 7140/tcp | 전달 또는 수집 노드 (티어 구성에 따라 다름) | 센트리가 전송하는 데이터 수신(TLS 채널) |
| 44300/tcp | 분석 노드 | 센트리 패키지 및 센트리 인증서 배포(TLS 채널) |
센트리를 설치하고 센트리에서 전송하는 데이터를 정상적으로 수신하려면, 노드의 로컬 방화벽에서 해당 포트에 대한 접근을 허용해야 합니다. 포트 번호는 운영 환경에 따라 달라질 수 있습니다.
배포 준비
센트리를 배포하려면 웹 콘솔을 통해 JDK와 센트리 설치 패키지를 분석 노드에 업로드해야 합니다.
JAVA
센트리를 실행하려면 JAVA(JRE 또는 JDK) 파일이 필요합니다. 센트리 실행에 필요한 자바 파일은 로그프레소 서버에서 센트리 설치 파일과 함께 배포합니다.
JRE/JDK 준비
먼저 신뢰할 수 있는 JRE 또는 JDK 파일을 준비하세요. 다음과 같은 공식 경로에서 OpenJDK 배포본을 다운로드할 수 있습니다:
다운로드할 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
센트리 패키지
시스템 > 패키지에서 센트리 설치에 사용할 패키지를 등록하세요. 패키지를 등록하는 방법은 패키지를 참고하세요.
센트리 설치
관리대상 서버에 센트리를 설치하는 과정은 크게 두 단계로 나뉩니다.
- 센트리를 설치할 호스트 정보 등록
- 관리대상 서버에서 센트리 설치 명령 실행
센트리 설치 명령은 센트리 식별자와 센트리가 접속할 로그프레소 서버 정보, 센트리 설치 시 인증서 발급 및 호스트 인증에 사용할 인증 토큰 정보로 구성되어 있습니다. 설치 명령은 센트리를 설치할 호스트의 운영체제가 리눅스인 경우 Bash 셸을 기준으로, 윈도우인 경우 Windows PowerShell (5.1)을 기준으로 생성됩니다. 생성된 명령을 해당 호스트에서 실행하면 센트리 및 JRE의 설치와 서버 연결이 모두 자동으로 수행됩니다.
1 단계: 호스트 정보 등록
-
시스템 > 센트리에서 목록 우측 상단에 있는 추가 버튼을 클릭하세요.
-
센트리 추가 창에서 센트리 설치에 필요한 정보를 입력하고 추가 버튼을 클릭하세요.
- 운영체제: 센트리를 설치할 호스트의 운영체제. 리눅스 또는 윈도우 중에 선택하세요.
- 센트리 ID: 센트리를 식별할 고유 ID
- 접속 서버: 센트리가 접속할 로그프레소 노드. 시스템 > 클러스터에 등록된 노드의 목록이 표시됩니다.
- 인증 토큰: 무작위로 생성되는 센트리 설치용 인증 토큰(예:
9425-tnsa)
-
센트리 설치 안내에 따라 설치 명령을 복사하고, 센트리를 설치할 호스트의 관리자 터미널에서 실행하세요.
- 클립보드에 복사 버튼으로 설치 명령을 복사할 수 있습니다.
- 확인 버튼을 누르면 창이 닫힙니다.
리눅스
리눅스용 설치 명령은 배시 셸(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 = 3072;
(New-Object System.Net.WebClient).DownloadFile('https://CTRL_NODE_IP:44300/deploy/installer/sentry-windows?guid=GUID&token=TOKEN&base=BASE_NODE_IP', ($env:TEMP + '\install.cmd'));
cmd /c install.cmd
설치 명령은 TLS 1.2로 배포 서버에 접속하도록 지정합니다(SecurityProtocol 값 3072는 TLS 1.2의 숫자값입니다). 이 구문은 PowerShell 3.0 이상, .NET Framework 4.5 이상에서 동작하므로, 해당 구성 요소가 없는 호스트에서는 install.cmd를 내려받는 단계에서 실패합니다. 또한 이 명령은 오래된 .NET Framework의 인증서 검증 정책 API(ServicePointManager.CertificatePolicy)를 사용하므로, 해당 API를 지원하지 않는 PowerShell 7 이상(.NET Core/.NET 기반)에서는 다음과 같이 수정해서 실행하세요.
# 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-windows?guid=GUID&token=TOKEN&base=BASE_NODE_IP' `
-OutFile 'install.cmd'
# 인증서 검증 우회 설정 복원
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = $originalCallback
# 설치 스크립트 실행
cmd /c install.cmd
윈도우 운영체제별로 센트리 설치에 필요한 조건은 다음과 같습니다.
| 운영체제 | 암호군 완화 설정 | PowerShell·.NET 추가 설치 | 그 밖의 조건 |
|---|---|---|---|
| Windows Server 2022, 2019 | 불필요 | 불필요 | — |
| Windows Server 2016 | 불필요 | 불필요 | 소나 서버에 Java 21 이상 배포본을 두지 않아야 합니다 |
| Windows Server 2012 R2, 2012 | 필요 | 불필요 | — |
| Windows Server 2008 R2 | 필요 | 필요 | SP1 |
| Windows Server 2008 | 필요 | 필요 | SP2, KB4019276, 소나 서버에 Java 7 배포본 필요 |
- 암호군 완화 설정: Windows Server 2012 R2 이하는 소나 서버가 기본으로 허용하는 암호군을 지원하지 않아 배포 서버에 접속하지 못합니다. 소나 서버 부팅 옵션에
-Daraqne.httpd.weak_cipher=enabled를 추가하고 소나를 재기동하세요. - PowerShell·.NET 추가 설치: 설치 명령이 TLS 1.2 접속을 지정하므로 PowerShell 3.0 이상과 .NET Framework 4.5 이상이 필요합니다. 이 구성 요소가 운영체제에 기본 포함되지 않은 경우 직접 설치하되, 먼저 표에 표시한 서비스 팩을 적용해야 합니다.
- Windows Server 2008(R2 아님)은 운영체제가 TLS 1.2를 지원하지 않으므로 마이크로소프트 업데이트 KB4019276을 먼저 적용해야 합니다. 또한 이 운영체제에는 Java 7이 함께 설치되는데 Java 7은 TLS 1.2를 지원하지 않으므로, 센트리가 소나 서버에 연결되지 않으면 부팅 옵션에
-Daraqne.rpc.weak_tls=enabled와-Daraqne.rpc.weak_cipher=enabled를 추가하세요. 설치 파일을 내려받는 경로(44300/tcp)와 센트리가 상시 연결하는 경로(7140/tcp)는 설정이 분리되어 있습니다. - Windows Server 2016은 Java 21 이상이 사용하는 메모리 관리 기능에 필요한 운영체제 API를 제공하지 않습니다. 자세한 내용은 SNR#3731을 참고하세요.
- 관리대상 서버는 64비트여야 합니다. 소나 서버가 64비트용 압축 해제 도구만 제공합니다.
2 단계: 센트리 설치
클립보드에 복사한 명령어를 센트리를 설치할 호스트에서 실행하세요. 센트리가 설치되고 자동으로 실행됩니다.
- 리눅스 센트리는
/opt/logpresso-sentry디렉터리에 설치됩니다. - 윈도우 센트리는
C:\Program Files\Logpresso Sentry디렉터리에 설치됩니다.
리눅스
-
리눅스 환경에서 센트리를 설치하고 실행하려면 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 -
1 단계: 호스트 정보 등록에서 생성한 명령어를 배시 셸(Bash)에서 root 권한으로 실행하세요.
-
다음 명령으로 센트리의 상태를 확인하세요.
systemctl status logpresso-sentry.service -
로그프레소 서버에서 센트리의 연결 상태를 확인하세요. 센트리 연결 상태가 녹색으로 표시되지 않으면 센트리와 서버의 로컬 방화벽 설정이나 네트워크 통신 상태를 점검해보세요.
윈도우
- 1 단계: 호스트 정보 등록에서 생성한 명령어를 파워셸에서 관리자 권한으로 실행하세요.
- 작업 관리자의 서비스 탭에서 Logpresso 서비스가 실행 중인지 확인하세요. 파워셸에서 확인하려면 다음 명령을 실행하세요.
sc.exe query Logpresso - 로그프레소 서버에서 센트리의 연결 상태를 확인하세요. 센트리 연결 상태가 녹색으로 표시되지 않으면 센트리와 서버의 로컬 방화벽 설정이나 네트워크 통신 상태를 점검해보세요.
센트리 시작/중지
센트리 설치 명령을 실행하면 센트리가 설치되고 자동으로 시작됩니다. 관리자가 직접 센트리를 시작하거나 중지하려면 다음 방법을 사용하세요.
리눅스
터미널에서 root 권한으로 다음 명령을 실행하세요.
# 센트리 시작
systemctl start logpresso-sentry.service
# 센트리 중지
systemctl stop logpresso-sentry.service
# 센트리 재시작
systemctl restart logpresso-sentry.service
윈도우
서비스 관리 콘솔을 통해 Logpresso 서비스를 시작하거나 중지할 수 있습니다. 서비스 제어를 위해 관리자 권한이 필요합니다.
- Windows 키 + R을 눌러 실행 창을 여세요.
- 실행 창에
services.msc를 입력한 후 확인을 클릭하세요. - 서비스 목록에서 Logpresso 서비스를 찾은 다음 해당 서비스를 마우스 오른쪽 버튼으로 클릭한 후 시작 또는 중지를 선택하세요.
기타 OS
자동 설치를 지원하지 않는 다른 OS에 센트리를 설치한 경우 센트리 설치 디렉터리에서 root 권한으로 다음 명령을 실행하세요.
# 센트리 설치 디렉터리로 이동(예시)
cd /opt/logpresso-sentry
# 센트리 시작
./logpresso start
# 센트리 중지
./logpresso stop
센트리 상태 조회
센트리 목록에서 센트리의 상태를 확인할 수 있습니다.
- 상태: 센트리가 로그프레소 서버와 연결되면 녹색, 센트리가 연결되지 않으면 회색으로 표시됩니다.
- 노드: 센트리를 제어하는 클러스터 노드의 이름
- 센트리 ID: 센트리 ID
- 호스트명: 센트리가 설치된 호스트의 이름
- 버전: 센트리의 버전 정보
- CPU: CPU 사용률(단위: 백분율)
- 메모리: 메모리 사용률(단위: 백분율)
- 저장장치: 디스크 사용률(단위: 백분율). 저장장치 파티션이 여러 개인 경우 최댓값을 표시. OS의 df 명령이 보여주는 가용 용량(Avail) 기준으로 계산됩니다.
- NIC RX: 네트워크 수신 대역폭 사용률(단위: 백분율). 네트워크 인터페이스가 여러 개인 경우 최댓값을 표시
- NIC TX: 네트워크 전송 대역폭 사용률(단위: 백분율). 네트워크 인터페이스가 여러 개인 경우 최댓값을 표시
- 설치 상태: ⚙(설정) 아이콘을 클릭하면 센트리 패키지 설치 상태 창에서 가장 최근 원격 패키지 설치 결과(설치 상태, 결과, 설치 시각, 대상 패키지, 실패 사유)를 확인할 수 있습니다. 자세한 내용은 패키지 설치 상태 확인을 참고하세요.
센트리 원격 관리
센트리 ID를 클릭하면 센트리 호스트의 프로세스 목록 조회, 네트워크 연결 정보, 라우팅 테이블, ARP 캐시, 스레드 덤프, 번들 목록 조회 및 무결성 검사, 센트리 재시작, 센트리 원격 패키지 설치 등과 같은 센트리 관리 기능을 수행할 수 있습니다. 원격 패키지 설치 결과는 센트리 목록의 설치 상태 열에서 확인합니다.
-
센트리 재시작: 센트리를 재시작합니다.
센트리 원격 패키지 설치
센트리가 설치된 호스트에 직접 접속하지 않고, 웹 콘솔에서 원격으로 센트리 패키지를 설치하거나 업그레이드합니다.
-
센트리 ID를 클릭하면 나타나는 드롭다운 목록에서 센트리 원격 패키지 설치를 클릭하세요.
-
센트리 원격 패키지 설치 창에서 검색창으로 패키지를 검색하거나 목록의 이름, 버전, 설명을 확인하고, 설치할 패키지 행을 클릭해 선택한 후 확인을 클릭하세요. 목록이 여러 페이지인 경우 창 하단의 페이지 번호로 이동할 수 있습니다.
Note이미 설치된 버전과 같은 패키지도 선택할 수 있지만, 확인을 클릭하면 이미 설치된 패키지라는 안내가 표시되며 설치가 진행되지 않습니다. 해당 패키지는 목록의 상태 열에 사용중으로 표시됩니다.
선택을 마치고 확인을 클릭하면 원격 설치·업그레이드 명령이 센트리로 전송됩니다.
패키지 설치 상태 확인
센트리 목록의 설치 상태 열에서 ⚙(설정) 아이콘을 클릭하면 센트리 패키지 설치 상태 창에서 가장 최근 원격 패키지 설치 결과를 확인할 수 있습니다.
설치 이력이 없으면 "센트리 원격 설치 후 설치 상태가 표시됩니다."라는 안내 문구가 표시됩니다. 설치 이력이 있으면 다음 항목이 표시됩니다.
- 설치 상태: 설치 대기중, 전송중, 설치중, 설치 완료, 설치 실패, 설치 취소 중 하나로 표시됩니다.
- 결과: 성공 또는 실패로 표시됩니다. 설치가 진행 중인 상태에서는 표시되지 않습니다.
- 설치 시각: 마지막으로 설치를 시도한 시각(yyyy-MM-dd HH:mm 형식). 설치를 시도한 이력이 있을 때만 표시됩니다.
- 대상 패키지: 설치 대상 패키지의 이름과 버전. 설치를 요청한 시점부터 표시되며, 설치에 성공하면 값이 지워져 표시되지 않습니다.
- 실패 사유: 설치가 실패했을 때만 표시되며, 패키지를 찾을 수 없음, 센트리가 연결되지 않음, 알 수 없는 문제 중 하나로 표시됩니다.
센트리 삭제
센트리를 완전히 제거하려면 먼저 관리대상 호스트에서 센트리를 제거한 뒤, 로그프레소 서버에 등록된 센트리 정보를 삭제해야 합니다.
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 단계: 분석 노드에서 센트리 정보 삭제
-
시스템 > 센트리에서 삭제하려는 센트리 항목을 선택하세요.
-
목록 우측 상단에서 삭제를 클릭하세요.
-
센트리 삭제 대화 상자가 나타나면 확인 버튼을 눌러 센트리를 삭제하세요. 삭제하지 않으려면 취소를 클릭하세요.
로그 전송량 제어
센트리는 수집한 로그를 베이스로 전송할 때 한 번에 보내는 양을 로그 건수(기본 5,000건)로 제한합니다. 4.0.2609.0 버전부터는 바이트 크기 기준 상한도 함께 적용해, 개별 로그의 크기가 큰 환경에서 전송 시 메모리 사용량이 갑자기 커지는 것을 방지합니다.
| 설정 | 설명 | 기본값 | 최솟값 |
|---|---|---|---|
flush_byte_size | 한 번의 전송에 담는 압축 후 데이터 크기 | 64MB | 1MB |
pack_byte_size | 스왑 파일에 쌓이는 단일 블록의 원본 데이터 크기 | 8MB | 64KB |
일반적인 크기의 로그에서는 건수 기준 상한에 먼저 도달하므로 처리량이나 전송 주기는 달라지지 않습니다. 단일 로그나 블록이 상한보다 크더라도 최소 한 단위는 전송하므로 전송이 멈추지는 않습니다. 두 설정을 지정하지 않으면 기본값이 적용됩니다.
현재 적용된 값은 센트리 셸에서 sentry.configs 명령으로 확인하고, 다음 명령으로 변경합니다. 값은 바이트 단위 정수로 지정하며, 최솟값보다 작은 값을 지정하면 오류가 발생하고 설정은 변경되지 않습니다.
# 한 번의 전송에 담는 압축 후 데이터 크기를 128MB로 변경
sentry.setFlushByteSize 134217728
# 스왑 파일 단일 블록의 원본 데이터 크기를 16MB로 변경
sentry.setPackByteSize 16777216














