매일 업데이트
2022-02-15 12:30 11 min

Linux 서버에 Graylog를 설치하는 방법

리눅스 서버 로그 관리를 더 효율적으로 개선하고 싶으신가요? 그렇다면 그레이로그를 설치해 보세요. 그레이로그 시스템은 시스템 로그를 깔끔하게 정리하는 데 필요한 모든 기능을 갖춘 웹 대시보드를 제공합니다.

그레이로그는 Elasticsearch, Java, MongoDB 등 다양한 핵심 기술을 기반으로 합니다. 이 소프트웨어를 사용하려면 우분투, CentOS/RedHat Enterprise Linux를 실행하는 서버가 있거나 Oracle VirtualBox VM 어플라이언스를 호스팅할 수 있는 시스템이 필요합니다.

가상 머신 설치 안내

가상 머신을 주로 사용하신다면 그레이로그 서버 로그 관리 도구를 VirtualBox용 가상 어플라이언스로 편리하게 사용할 수 있습니다. 소프트웨어를 실행하려면 터미널을 열고 아래의 단계별 지침에 따라 최신 버전을 설치해 보세요.

1단계: 그레이로그 가상 머신을 사용하기 전에 VM 호스트 서버에 VirtualBox를 설치해야 합니다(아직 설치하지 않은 경우).

우분투

sudo apt install virtualbox

데비안

sudo apt-get install virtualbox

아치 리눅스

sudo pacman -S virtualbox

페도라

sudo dnf install VirtualBox

오픈수세

sudo zypper install virtualbox

일반 리눅스

오라클 VirtualBox는 다양한 리눅스 운영 체제를 지원하며 최신 버전은 여기에서 다운로드할 수 있습니다.

2단계: VirtualBox를 실행하고 창을 열어 둡니다. 다음으로, 그레이로그 OVA 다운로드 페이지로 이동하여 최신 버전을 다운로드하세요.

3단계: 파일 관리자를 열고 "다운로드" 폴더를 찾아봅니다. 다운로드한 그레이로그 OVA 파일을 찾은 후, 마우스 오른쪽 버튼으로 클릭하여 파일 관리자의 상황에 맞는 메뉴를 엽니다. "VirtualBox로 열기"를 선택합니다.

4단계: 그레이로그 OVA 파일에서 "가져오기" 버튼을 누르면 VirtualBox에서 장치를 가져올지 묻는 메시지가 나타납니다. 필요한 옵션을 선택하고 그레이로그를 VirtualBox로 가져오는 과정을 진행합니다.

5단계: VM 가져오기가 완료되면 VirtualBox에서 "설정"을 클릭하여 네트워크 설정을 구성합니다. 그 후, 그레이로그 VM을 시작하고 사용자 이름 "ubuntu"(비밀번호도 "ubuntu")로 로그인한 다음, 아래 콘솔 명령을 차례로 입력합니다.

sudo graylog-ctl set-email-config <smtp server> [--port=<smtp port> --user=<username> --password=<password>]
sudo graylog-ctl set-admin-password <password>
sudo graylog-ctl set-timezone <zone acronym>
sudo graylog-ctl reconfigure
sudo apt-get install -y open-vm-tools

6단계: 웹 브라우저에서 그레이로그 VM이 표시하는 HTTP URL을 열어 설치 과정을 완료합니다.

우분투 서버에 그레이로그 설치

우분투 서버 환경에서 그레이로그를 사용하고 싶으신가요? 좋은 소식입니다! 우분투는 개발자가 공식적으로 지원하는 운영 체제 중 하나입니다.

우분투 서버에 소프트웨어를 설정하기 전에 먼저 우분투를 업데이트하고 최신 소프트웨어 패치를 설치해야 합니다. 이를 위해 터미널 또는 SSH를 통해 서버에 접속하고 아래의 업데이트 및 업그레이드 명령을 실행하십시오.

sudo apt update
sudo apt upgrade -y

다음으로, 아래의 Apt 명령을 사용하여 필요한 패키지를 설치합니다. 이 패키지들은 그레이로그의 종속성 및 소프트웨어 자체를 설치하는 데 필요합니다.

sudo apt install apt-transport-https openjdk-8-jre-headless uuid-runtime pwgen

기본 패키지 설치 후에는 MongoDB 시스템을 설정해야 합니다.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
sudo apt update
sudo apt install -y mongodb-org

MongoDB 설치가 완료되면 데이터베이스를 시작합니다.

sudo systemctl daemon-reload
sudo systemctl enable mongod.service
sudo systemctl restart mongod.service

그레이로그는 백엔드로 Elasticsearch를 사용하므로, MongoDB 다음으로 Elasticsearch 도구를 설치해야 합니다.

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

이제 Nano와 같은 텍스트 편집기를 사용하여 Elasticsearch YML 파일을 수정합니다.

sudo nano /etc/elasticsearch/elasticsearch.yml

Ctrl + W를 누르고 검색창에 "cluster.name:"을 입력한 후 Enter를 누릅니다. 그런 다음 앞에 있는 # 기호를 제거하고 끝에 graylog를 추가합니다. 변경 후에는 다음과 같이 표시되어야 합니다.

cluster.name: graylog

Elasticsearch를 시작합니다.

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo systemctl restart elasticsearch.service

Elasticsearch와 MongoDB 설정이 완료되었으므로 이제 그레이로그를 다운로드하여 우분투에 설치할 수 있습니다. 설치하려면 아래의 명령을 실행하십시오.

wget https://packages.graylog2.org/repo/packages/graylog-2.4-repository_latest.deb
sudo dpkg -i graylog-2.4-repository_latest.deb
sudo apt-get update && sudo apt-get install graylog-server

pwgen 도구를 사용하여 비밀 키를 생성합니다.

pwgen -N 1 -s 96

생성된 키를 클립보드에 복사합니다. 그 후 Nano를 사용하여 server.conf 파일을 열고 "password_secret" 뒤에 복사한 키를 붙여넣습니다.

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

비밀 키를 추가한 후 Ctrl + O를 눌러 Nano를 저장하고 닫습니다. 이제 다음 명령을 사용하여 그레이로그의 루트 암호를 생성합니다.

아래 명령을 실행하여 소프트웨어의 루트 암호를 설정하십시오. 강력한 비밀번호를 입력하세요!

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

다시 한 번, 생성된 암호의 출력값을 클립보드에 복사한 다음, Nano를 사용하여 server.conf 파일을 열고 "root_password_sha2" 뒤에 암호 출력값을 붙여넣습니다.

그레이로그에 암호가 설정되었지만, 아직 구성이 완료되지 않았습니다. 이제 기본 웹 주소를 설정해야 합니다. server.conf 파일을 아래로 스크롤하여 "rest_listen_uri" 및 "web_listen_uri"를 찾습니다. 기본값을 지우고 아래 예시와 같이 수정합니다.

rest_listen_uri = https://local-ip-address-of-server:12900/
web_listen_uri = https://local-ip-address-of-server:9000/

변경 후 Ctrl + O를 눌러 Nano에서 파일을 저장하고 터미널로 돌아와서 그레이로그를 재시작합니다.

sudo systemctl daemon-reload
sudo systemctl restart graylog-server

다음 URL에서 새로운 그레이로그 로깅 서버에 접근할 수 있습니다.

참고: 웹 로그인은 admin/admin입니다.

https://local-ip-address-of-server/

CentOS/Rhel에 그레이로그 설치

CentOS 및 RHEL 사용자 여러분! 그레이로그를 사용하고 싶으시다면 행운이 따르셨습니다! 개발자들은 이 운영 체제에 대한 탁월한 지원을 제공합니다. 설치를 위해서는 CentOS 7 또는 그와 동등한 RHEL 버전을 실행하고 있어야 합니다.

설치의 첫 번째 단계는 필요한 종속성을 설치하는 것입니다. 터미널 창을 열고 아래의 Yum 명령을 입력합니다.

sudo yum install java-1.8.0-openjdk-headless.x86_64
sudo yum install epel-release
sudo yum install pwgen

그레이로그의 기본 종속성을 확보했다면, 다음으로는 MongoDB 데이터베이스 소프트웨어를 설치해야 합니다. MongoDB를 설치하려면 시스템에 타사 저장소를 추가해야 합니다. 그런 다음 Yum을 사용하여 설치합니다.

sudo touch /etc/yum.repos.d/mongodb-org-3.6.repo

Nano를 사용하여 저장소 파일을 엽니다.

sudo nano /etc/yum.repos.d/mongodb-org-3.6.repo

파일 안에 다음 코드를 붙여넣습니다.

[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

Ctrl + O를 눌러 Nano에서 저장합니다.

systemctl 명령을 사용하여 MongoDB를 시작합니다.

sudo chkconfig --add mongod
sudo systemctl daemon-reload
sudo systemctl enable mongod.service
sudo systemctl start mongod.service

그레이로그 도구가 제대로 작동하려면 CentOS 7/RedHat Enterprise Linux 시스템에 Elasticsearch를 설치해야 합니다.

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
sudo touch /etc/yum.repos.d/elasticsearch.repo
sudo nano  /etc/yum.repos.d/elasticsearch.repo

아래 코드를 Nano에 붙여넣습니다.

[elasticsearch-5.x]
name=Elasticsearch repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

Ctrl + O를 눌러 코드를 저장합니다. 그런 다음 Yum 패키지 관리자를 사용하여 최신 버전의 Elasticsearch를 설치합니다.

sudo yum install elasticsearch

Elasticsearch가 실행 중이면 구성 파일을 수정해야 합니다. Nano에서 elasticsearch.yml 파일을 엽니다.

sudo nano /etc/elasticsearch/elasticsearch.yml

Ctrl + W를 누르고 검색창에 "cluster.name:"을 입력하여 구성 파일에서 해당 위치로 이동합니다. 그런 다음 # 기호를 제거하고 텍스트 끝에 graylog를 추가합니다.

키보드에서 Ctrl + O를 눌러 구성 파일을 저장합니다. 이제 다음 명령을 사용하여 CentOS/Rhel 시스템에서 Elasticsearch를 시작합니다.

sudo chkconfig --add elasticsearch
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo systemctl restart elasticsearch.service

이제 모든 종속성이 실행 중이며 MongoDB와 Elasticsearch가 작동합니다. CentOS/Rhel에서 그레이로그를 작동시키는 데 있어서 마지막 퍼즐 조각은 그레이로그 소프트웨어를 설치하는 것입니다. 다행히도 개발자들은 이를 쉽게 만들었고 타사 소프트웨어 저장소를 제공합니다. 저장소를 활성화하려면 다음을 수행하십시오.

sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-2.4-repository_latest.rpm

그런 다음 Yum 패키지 관리 도구로 그레이로그를 설치합니다.

sudo yum install graylog-server

그레이로그가 설치되었으니, 다음 단계는 서버에서 사용할 비밀 키를 생성하는 것입니다. 키 생성은 pwgen을 통해 수행합니다.

pwgen -N 1 -s 96

pwgen에서 생성된 암호를 가져와서 server.conf 파일의 "password_secret" 줄 뒤에 붙여넣습니다.

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

Ctrl + O를 사용하여 server.conf에 변경 사항을 저장합니다. 그런 다음 Nano를 종료하고 아래의 명령을 사용하여 루트 암호 생성 과정을 시작합니다.

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

지난번과 마찬가지로, 생성된 암호 텍스트를 복사하여 Nano를 사용해 server.conf 파일을 열고 "root_password_sha2" 뒤에 붙여넣습니다.

암호가 설정되었으면 구성 파일을 아래로 스크롤하여 "rest_listen_uri" 및 "web_listen_uri"를 찾습니다. 다음처럼 보이도록 수정하십시오.

rest_listen_uri = https://local-ip-address-of-server:12900/
web_listen_uri = https://local-ip-address-of-server:9000/

완료되었으면 Ctrl + O를 사용하여 Nano 텍스트 편집기를 저장하고 터미널로 돌아갑니다. 그런 다음 다음 systemctl 명령을 사용하여 CentOS/Rhel 시스템에 그레이로그 서버를 로드합니다.

sudo chkconfig --add graylog-server
sudo systemctl daemon-reload
sudo systemctl enable graylog-server.service
sudo systemctl start graylog-server.service

systemd 명령이 성공적으로 실행되면 아래 주소의 웹에서 그레이로그 서버에 접속할 수 있습니다.

참고: 웹 인터페이스에 로그인하려면 admin/admin을 사용하십시오.

https://local-ip-address-of-server/
저자
Korea

기술 트렌드와 실용적인 팁을 전하는 लेखक입니다.