OS/Linux | 리눅스

[Linux] Graylog 6.2 설치 하기 (Ubuntu 24.04)

tech-record 2025. 6. 11. 14:36

Graylog 6.2 설치 및 웹 UI 접속까지 정리 (Ubuntu 24.04 기준)

로그 통합 관리 및 분석 도구로 유명한 Graylog 6.2를 설치했습니다.
이번 글에서는 Ubuntu 기반 환경에서 Graylog 6.2를 설치하고, 웹 UI까지 정상적으로 접근하는 과정을 정리합니다.

  • 시스템 사양 및 전제 조건
 - OS : Ubuntu 24.04
 - Graylog : Graylog Open 6.2.3
 - Java 17 / MongoDB 7 / opensearch-2.15.0
 메모리: 최소 4GB RAM 이상 권장

 

  • 필수 패키지 설치
apt update && sudo apt upgrade -y
apt install apt-transport-https curl gnupg2 wget -y

 

  • Java 17 설치 (Graylog 6.2.3에서 필요)
apt install openjdk-17-jre-headless -y
java -version

 

  • MongoDB 설치 (Graylog의 메타데이터 저장소)
> curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc \
  | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg

>echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg] \
  https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" \
  | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

sudo apt update
sudo apt install -y mongodb-org

sudo systemctl start mongod
sudo systemctl enable mongod
sudo systemctl status mongod

 

  • OpenSearch 자동 설치
# APT 저장소가 서명되었는지 확인
curl -o- https://artifacts.opensearch.org/publickeys/opensearch.pgp | sudo gpg --dearmor --batch --yes -o /usr/share/keyrings/opensearch-keyring

# OpenSearch용 APT 저장소 생성
echo "deb [signed-by=/usr/share/keyrings/opensearch-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable main" | sudo tee /etc/apt/sources.list.d/opensearch-2.x.list

# 저장소 생성 확인
sudo apt-get update

# OpenSearch 리스트 확인
sudo apt list -a opensearch

# OpenSearch 2.15.0 버전 설치
sudo OPENSEARCH_INITIAL_ADMIN_PASSWORD=<custom-admin-password> apt-get -y install opensearch=2.15.0

 

 

  • OpenSearch 구성
sudo vi /etc/opensearch/opensearch.yml

cluster.name: graylog
### OpenSearch 클러스터 이름을 'graylog'로 설정합니다.
### Graylog와 연동 시 이 이름을 기반으로 연결합니다.

node.name: ${HOSTNAME}
### 노드의 이름을 현재 호스트 이름으로 지정합니다.
### 클러스터 내에서 각 노드를 구분할 때 사용됩니다.

path.data: /var/lib/opensearch
### 데이터 저장 경로입니다. 색인된 로그 등이 여기에 저장됩니다.

path.logs: /var/log/opensearch
### 로그 파일 저장 경로입니다. OpenSearch의 실행 로그가 이 경로에 기록됩니다.

discovery.type: single-node
### 단일 노드 클러스터로 설정합니다.
### 클러스터링 없이 단일 서버에서 OpenSearch를 실행할 때 사용합니다.

network.host: 0.0.0.0
### 외부에서도 접속 가능하도록 모든 IP 주소에서 바인딩을 허용합니다.
### 보안 설정이 없을 경우 외부 노출에 주의해야 합니다.

action.auto_create_index: false
### 자동 인덱스 생성을 비활성화합니다.
### Graylog와의 연동 시, Graylog가 필요한 인덱스를 명시적으로 생성하기 때문에
### 이 옵션을 false로 설정해야 합니다.

plugins.security.disabled: true
### OpenSearch Security 플러그인을 비활성화합니다.
### 인증 및 TLS 설정 등을 끄고, 보안 없이 실행합니다 (테스트나 내부망용으로만 권장).

sudo chown -R opensearch:opensearch /var/log/opensearch
sudo chmod -R 750 /var/log/opensearch
sudo chown -R opensearch:opensearch /var/lib/opensearch
sudo chown -R opensearch:opensearch /var/log/opensearch
sudo chown -R opensearch:opensearch /etc/opensearch

 

  • JVM 옵션 설정 (메모리)
vi /etc/opensearch/jvm.options

-Xms1g
-Xmx1g

 

  • 커널 매개변수 설정
sudo sysctl -w vm.max_map_count=262144
echo 'vm.max_map_count=262144' | sudo tee -a /etc/sysctl.conf  # 재부팅 이후에도 영구 적용

# vm.max_map 값 확인
sysctl vm.max_map_count

 

  • 시스템 서비스 활성화
sudo systemctl daemon-reload
sudo systemctl enable opensearch.service
sudo systemctl start opensearch.service
sudo systemctl status opensearch.service

 

  • Graylog open 설치
wget https://packages.graylog2.org/repo/packages/graylog-6.1-repository_latest.deb
sudo dpkg -i graylog-6.1-repository_latest.deb
sudo apt-get update
sudo apt-get install graylog-server

 

  • Graylog 구성
vi /etc/graylog/server/server.conf

# 1. 비밀 키 - Graylog 내부에서 비밀번호 해싱 등에 사용됨 (임의의 긴 문자열)
password_secret = A_LONG_RANDOM_STRING
 └ < /dev/urandom tr -dc A-Z-a-z-0-9 | head -c${1:-96};echo;


# 2. 관리자 계정 비밀번호 (SHA256 해시로 지정해야 함)
root_password_sha2 = SHA256_HASH_OF_PASSWORD
 └ echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1

# 3. 관리자 계정 사용자명 (기본값: admin, 필요시 변경 가능)
root_username = admin

# 4. Web 인터페이스에서 접근할 주소 (REST API 포함)
http_bind_address = 0.0.0.0:9000

# 5. Graylog 웹 uri 설정
http_publish_uri = http://192.168.56.107:9000/

# 6. Elasticsearch/OpenSearch 노드 주소 (http:// or https:// 포함, 여러 개일 경우 쉼표로 구분)
elasticsearch_hosts = http://192.168.56.107:9200

# 7. Timezone 설정 (선택사항이지만 로그 타임스탬프 정확성을 위해 추천)
root_timezone = Asia/Seoul

# 데몬, 시스템 시작
sudo systemctl daemon-reload
sudo systemctl enable graylog-server.service
sudo systemctl start graylog-server.service
sudo systemctl --type=service --state=active | grep graylog

# 9000포트 활성화 확인
ss -tlnp | grep 9000

 

 


 

OpenSearch, GaryLog 접속

 

OpenSearch  접속
http://192.168.56.107:9200

OpenSearch



GaryLog 접속

http://192.168.56.107:9000

 

GaryLog  V6.2

 

 

마무리

이제 Graylog 웹 UI에 정상적으로 접속이 가능하며, Input을 설정하고 로그 수집을 시작할 준비가 끝났습니다.

필요하시면 다음 글에서는 Syslog 전송, 파이프라인 룰 작성, Garylog를 통한 로그 분석 등에 대해 다뤄보겠습니다 :)