로그 관리 · 5 min read · Dec 09, 2025

Debian 11에서 Graylog로 중앙 집중식 로그 시스템 설정하는 방법

Graylog는 데이터와 로그를 캡처하고 저장하며 실시간 분석을 가능하게 하는 무료 오픈 소스 로그 관리 플랫폼입니다. Java로 작성되었으며 MongoDB 및 Elasticsearch와 같은 다른 오픈 소스 소프트웨어 위에 구축되었습니다. Graylog는 가장 효율적이고 빠르며 유연한 중앙 집중식 로그 관리 플랫폼 중 하나를 제공합니다.

Graylog를 사용하면 거의 모든 데이터 소스에서 구조화된 데이터와 비구조화된 데이터를 전송하고 분석할 수 있습니다.

이 튜토리얼에서는 Debian 11 시스템에서 Graylog를 중앙 집중식 로깅 시스템으로 설치하고 구성하는 방법을 보여줍니다. 또한 Graylog 서버의 리버스 프록시로 Nginx 웹 서버를 설정하는 방법도 보여줍니다.

필수 조건

  • 최소 4GB의 RAM을 갖춘 Linux Debian 11 서버.
  • sudo 또는 관리자 권한이 있는 비루트 사용자.

기본 패키지 종속성 설치

이 튜토리얼의 첫 번째 단계에서는 Java 및 GnuPG를 포함한 일부 기본 패키지 종속성을 설치합니다.

패키지를 설치하기 전에 아래의 apt 명령을 실행하여 현재 Debian 리포지토리를 업데이트하고 새로 고칩니다.

sudo apt update

이제 아래 명령을 사용하여 Graylog에 대한 일부 패키지 종속성을 설치합니다.

sudo apt install apt-transport-https openjdk-11-jre-headless uuid-runtime pwgen dirmngr gnupg wget

설치를 확인하려면 Y를 입력하고 ENTER를 눌러 계속합니다.

install basic dependencies

설치가 완료되면 다음 단계로 이동하여 Graylog의 다른 종속성인 MongoDB 및 Elasticsearch를 설치합니다.

MongoDB 설치

Graylog는 NoSQL MongoDB 데이터베이스를 사용하여 Graylog 구성, 스트림, 경고, 사용자, 캐시된 스트림 등 모든 정보를 저장합니다. Graylog 웹 인터페이스에서 볼 수 있는 모든 정보는 로그 자체를 제외하고 MongoDB NoSQL 데이터베이스에 저장됩니다. 현재 Graylog 버전은 MongoDB v4에서 v4.4까지 필요합니다.

아래 명령을 실행하여 MongoDB GPG 키와 리포지토리를 Debian 서버에 추가합니다.

wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -  
echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list

다음 명령을 사용하여 Debian 리포지토리를 새로 고칩니다.

sudo apt update

아래 스크린샷에서 볼 수 있듯이 MongoDB 리포지토리가 Debian 서버에 추가되었습니다.

add mongodb repository

다음으로 아래의 apt 명령을 사용하여 MongoDB 패키지를 설치합니다.

sudo apt install -y mongodb-org

MongoDB 데이터베이스 설치가 시작됩니다.

install mongodb

MongoDB 설치가 완료되면 다음 명령을 실행하여 systemd 관리자를 다시 로드합니다. MongoDB 서비스를 시작하기 전에 필요합니다.

sudo systemctl daemon-reload

이제 아래 명령을 실행하여 MongoDB 서비스를 활성화하고 다시 시작합니다. MongoDB 서비스가 시작되며 시스템 시작 시 자동으로 실행됩니다.

sudo systemctl enable mongod.service  
sudo systemctl restart mongod.service

다음 명령을 사용하여 MongoDB 서비스를 확인합니다.

sudo systemctl status mongod

아래 스크린샷에서 볼 수 있듯이 MongoDB 서비스가 실행 중이며 활성화되어 있습니다.

start and verify mongodb

이제 Elasticsearch 설치를 위한 다음 단계로 이동합니다.

Elasticsearch 설치

MongoDB NoSQL 데이터베이스를 설치한 후 이제 Elasticsearch를 설치해야 합니다. Graylog 서버는 로그 검색을 위한 검색 엔진으로 Elasticsearch를 사용합니다. 현재 버전의 Graylog는 Elasticsearch v6.8 또는 v7.x에서 v7.10까지 필요합니다.

Elasticsearch를 설치하기 전에 다음 명령을 실행하여 Elasticsearch GPG 키와 리포지토리를 Debian 시스템에 추가합니다.

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -  
echo "deb https://artifacts.elastic.co/packages/oss-7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

이제 Debian 리포지토리를 업데이트하고 새로 고칩니다.

sudo apt update

아래 스크린샷에서 Elasticsearch 리포지토리가 Debian 서버에 추가되었습니다.

add elasticsearch repository

다음으로 아래의 apt 명령을 사용하여 Elasticsearch 패키지를 설치합니다.

sudo apt install elasticsearch-oss

Elasticsearch 설치가 시작됩니다.

install elasticsearch

설치가 완료되면 아래 명령을 실행하여 Elasticsearch 구성 파일 /etc/elasticsearch/elasticsearch.yml에 구성을 추가합니다. 다음 구성은 “graylog“라는 이름의 새로운 Elasticsearch 클러스터를 생성하고 Elasticsearch에서 자동으로 인덱스를 생성하지 않도록 설정합니다.

sudo tee -a /etc/elasticsearch/elasticsearch.yml > /dev/null << EOT  
cluster.name: graylog  
action.auto_create_index: false  
EOT

Elasticsearch 서비스를 시작하기 전에 아래 명령을 실행하여 systemd 관리자를 다시 로드합니다.

sudo systemctl daemon-reload

이제 다음 명령을 실행하여 Elasticsearch 서비스를 활성화하고 다시 시작합니다. 이렇게 하면 Elasticsearch가 시스템 시작 시 추가되고 서비스가 시작됩니다.

sudo systemctl enable elasticsearch.service  
sudo systemctl restart elasticsearch.service

마지막으로 아래 명령을 사용하여 Elasticsearch 서비스를 확인합니다.

sudo systemctl status elasticsearch.service

아래 스크린샷에서 Elasticsearch 서비스가 실행 중이며 활성화되어 있는 것을 볼 수 있습니다.

start and verify elasticsearch

또한 curl을 사용하여 Elasticsearch 설치를 확인할 수 있습니다. Elasticsearch는 기본 포트 9200에서 실행되고 있으므로 아래 curl 명령을 실행합니다.

curl http://localhost:9200/

이제 다음과 같은 출력 메시지를 볼 수 있습니다. Graylog 클러스터 이름이 graylog인 Elasticsearch v7.x가 Debian 서버에 설치되었습니다.

verify elasticsearch

이 시점에서 이제 Debian 서버에 Graylog 서버를 설치할 준비가 되었습니다.

Graylog 서버 설치 및 구성

Graylog 설치를 시작하려면 Graylog 리포지토리 .deb 파일을 다운로드하고 다음 명령을 사용하여 설치해야 합니다.

wget https://packages.graylog2.org/repo/packages/graylog-4.2-repository_latest.deb  
sudo dpkg -i graylog-4.2-repository_latest.deb

이제 Debian 리포지토리를 업데이트하고 새로 고칩니다.

sudo apt update

아래에서 Graylog 리포지토리가 Debian 서버에 추가된 것을 볼 수 있습니다.

add graylog repository

다음으로 아래의 apt 명령을 사용하여 Debian 서버에 Graylog 패키지를 설치합니다.

sudo apt install graylog-server graylog-enterprise-plugins graylog-integrations-plugins graylog-enterprise-integrations-plugins

Graylog 설치가 이제 시작됩니다.

설치가 완료되면 다음 명령을 실행하여 비밀번호 암호화 및 솔팅에 사용될 Graylog password_secret를 생성합니다. Graylog password_secret는 여러 노드로 Graylog 클러스터를 실행하는 경우 동일해야 합니다. 또한 Graylog password_secret에 대해 최소 65자의 임의 문자열과 숫자가 필요합니다.

pwgen -N 1 -s 96

이제 생성된 임의 문자열을 Graylog password_secret로 메모해 두십시오.

다음으로 아래 명령을 실행하여 sha256로 암호화된 비밀번호를 생성합니다. 이 비밀번호는 Graylog 관리 비밀번호로 사용됩니다.

echo -n "Enter Password: " && head -1 

Graylog 관리 비밀번호를 입력합니다. 그러면 생성된 암호화된 비밀번호 sha256을 볼 수 있습니다. 암호화된 비밀번호를 메모해 두십시오.

다음으로 nano 편집기를 사용하여 Graylog 서버 구성 /etc/graylog/server/server.conf를 편집합니다.

sudo nano /etc/graylog/server/server.conf

생성된 Graylog password_secret와 Graylog 관리 비밀번호를 root_password_sha2에 아래와 같이 복사하여 붙여넣습니다.

password_secret = Eqq4M8EHpKbGfgi6C05t19hJ5WmF3nkVS8yjwclYHtvwsTXRulNHEsaWuy85QUTNIUc6b2ovfRjvR7yD5kwNTPAJCCw39T3d  
root_password_sha2 = 05a181f00c157f70413d33701778a6ee7d2747ac18b9c0fbb8bd71a62dd7a223

작업이 완료되면 파일을 저장하고 닫습니다.

이제 Graylog 서버 서비스를 시작하기 전에 아래 명령을 실행하여 systemd 관리자를 다시 로드합니다.

sudo systemctl daemon-reload

이제 아래 명령을 사용하여 Graylog 서버 서비스를 활성화하고 시작합니다.

sudo systemctl enable graylog-server.service  
sudo systemctl start graylog-server.service

Graylog 서버가 실행 중이며 아래 명령을 사용하여 확인합니다.

sudo systemctl status graylog-server.service

아래 스크린샷에서 Graylog 서버 서비스가 실행 중이며 활성화되어 있는 것을 볼 수 있습니다.

verify graylog service

이제 기본 localhost에서 포트 9000으로 실행 중인 Graylog 설치가 완료되었습니다.

Nginx를 리버스 프록시로 설정

Graylog 서버 설치 및 구성이 완료된 후, 이제 Nginx 웹 서버를 Graylog 서버의 리버스 프록시로 설치하고 구성합니다. 이를 통해 도메인 이름으로 Graylog를 실행할 수 있습니다.

다음 명령을 사용하여 Debian 서버에 Nginx 패키지를 설치합니다.

sudo apt install nginx -y

설치가 시작됩니다.

설치가 완료되면 nano 편집기를 사용하여 새로운 Nginx 가상 호스트 또는 서버 블록 /etc/nginx/sites-available/graylog.conf를 생성합니다.

sudo nano /etc/nginx/sites-available/graylog.conf

다음 Nginx 구성을 추가합니다. 이렇게 하면 http://127.0.0.1:9000/에서 실행 중인 Graylog 서버에 대한 리버스 프록시로 Nginx가 활성화됩니다.

server  
{  
    listen 80 default_server;  
    listen [::]:80 default_server ipv6only=on;  
    server_name graylog.example.org;  
  
    location / {  
      proxy_set_header Host $http_host;  
      proxy_set_header X-Forwarded-Host $host;  
      proxy_set_header X-Forwarded-Server $host;  
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
      proxy_set_header X-Graylog-Server-URL http://$server_name/;  
      proxy_pass       http://127.0.0.1:9000;  
    }  
}

작업이 완료되면 파일을 저장하고 닫습니다.

다음으로 아래 명령을 실행하여 graylog.conf 구성을 활성화합니다. 그런 다음 nginx 구성을 확인합니다.

sudo ln -s /etc/nginx/sites-available/graylog.conf /etc/nginx/sites-enabled/  
sudo nginx -t

테스트 성공 메시지를 받는지 확인하십시오.

마지막으로 아래 명령을 사용하여 새로운 가상 호스트 구성을 적용하기 위해 Nginx 서비스를 재시작합니다.

sudo systemctl restart nginx

이제 웹 브라우저를 열고 Graylog 설치 URL의 도메인 이름을 방문합니다.

http://graylog.howtoforge.local/

아래와 같은 Graylog 로그인 페이지가 표시됩니다. 기본 관리자 사용자와 비밀번호(root_password_sha2)를 입력하고 로그인 버튼을 클릭합니다.

graylog login page

로그인하면 아래와 같은 Graylog 대시보드를 볼 수 있습니다.

graylog dashboard

이제 Nginx 리버스 프록시 아래에서 Graylog를 실행하는 작업이 완료되었습니다.

결론

축하합니다! 이제 Debian 11 서버에 Graylog 서버 설치 및 구성을 완료했습니다. 또한 Graylog 서버의 리버스 프록시로 Nginx 구성을 완료했습니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.