웹사이트 검색

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


이 튜토리얼은 다음 OS 버전에 대해 존재합니다.

  • 데비안 11(불스아이)
  • 데비안 9(스트레치)

이 페이지에서

  1. 전제 조건
  2. 기본 패키지 설치 종속성
  3. MongoDB 설치
  4. Elasticsearch 설치
  5. Graylog 서버 설치 및 구성
  6. Nginx를 역방향 프록시로 설정\n
  7. 결론

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

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

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

전제 조건

  • Linux Debian 11 서버 - 최소 4GB RAM.
  • sudo 또는 관리자 권한이 있는 루트가 아닌 사용자.\n

기본 패키지 설치 종속성

이 자습서의 첫 번째 단계에서는 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를 누르십시오.

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

몽고DB 설치

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

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

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 서버에 추가됩니다.

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

sudo apt install -y mongodb-org

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 서비스가 실행 중이고 활성화되어 있습니다.

이제 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 서버에 추가되었습니다.

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

sudo apt install elasticsearch-oss

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

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

sudo systemctl daemon-reload

이제 다음 명령을 실행하여 Elasticsearch 서비스를 활성화하고 다시 시작하십시오. 그러면 시스템 시작에 Elasticsearch가 추가되고 서비스가 시작됩니다.

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

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

sudo systemctl status elasticsearch.service

아래 스크린샷에서 Elasticsearch 서비스가 실행되고 활성화된 것을 볼 수 있습니다.

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

curl http://localhost:9200/

이제 다음과 같은 출력 메시지가 표시됩니다. graylog라는 클러스터가 있는 Elasticsearch v7.x가 Debian 서버에 설치됩니다.

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

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 저장소가 데비안 서버에 추가된 것을 볼 수 있습니다.

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

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

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

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

pwgen -N 1 -s 96

이제 Graylog password_secret에 대해 생성된 임의 문자열을 메모에 복사합니다.

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

echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1

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 서버 서비스를 시작하기 전에 아래 명령을 실행하여 시스템 관리자를 다시 로드하십시오.

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 서버 서비스가 실행되고 활성화된 것을 볼 수 있습니다.

이제 포트 9000을 사용하여 기본 localhost에서 실행 중인 Graylog 설치를 완료했습니다.

Nginx를 리버스 프록시로 설정

Graylog 서버 설치 및 구성을 완료한 후 이제 Nginx 웹 서버를 Graylog 서버의 역방향 프록시로 설치 및 구성하게 됩니다. 이를 통해 도메인 이름으로 Graylog를 실행할 수 있습니다.

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

sudo apt install nginx -y

설치가 시작됩니다.

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

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

다음 Nginx 구성을 추가합니다. 이렇게 하면 Nginx가 http://127.0.0.1:9000/에서 실행되는 Graylog 서버의 역방향 프록시로 활성화됩니다.

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의 도메인 이름을 방문하십시오.

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

로그인하면 아래와 같이 Graylog 대시보드가 표시됩니다.

이제 Nginx 리버스 프록시에서 Graylog 실행을 완료했습니다.

결론

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