웹사이트 검색

RHEL 시스템에 Graylog 로그 관리 도구를 설치하는 방법


Graylog는 서버, 라우터, 방화벽과 같은 IT 인프라의 수많은 장치와 애플리케이션에서 실시간 데이터를 수집, 저장, 인덱싱 및 분석하기 위한 업계 최고의 오픈 소스 로그 관리 솔루션입니다.

Graylog는 자세한 분석 및 보고를 위해 여러 검색을 결합하여 수집된 데이터에 대해 더 많은 통찰력을 얻는 데 도움이 됩니다. 또한 원격 소스의 로그에 대한 심층 분석을 수행하여 위협과 가능한 사악한 활동을 탐지합니다.

Graylog는 다음으로 구성됩니다.

  • Graylog 서버 – 이는 기본 서버이며 로그 처리에 사용됩니다.
  • Graylog 웹 인터페이스 – 여러 엔드포인트에서 수집된 데이터와 로그를 한눈에 볼 수 있는 브라우저 애플리케이션입니다.
  • MongoDB – 구성 데이터를 저장하기 위한 NoSQL 데이터베이스 서버입니다.
  • ElasticSearch – 다양한 소스의 원시 데이터를 구문 분석하고 색인화하는 무료 오픈 소스 검색 및 분석 엔진입니다.

Graylog의 아키텍처는 다음의 네트워크 트래픽 및 로그를 포함한 모든 유형의 구조화된 데이터를 허용합니다.

  • Syslog(TCP, UDP, AMQP, Kafka).
  • AWS – AWS 로그, CloudTrail 및 FlowLogs.
  • 넷플로우(UDP).
  • GELF(TCP, UDP, AMQP, 카프카).
  • ELK – Beats 및 Logstash.
  • HTTP API의 JSON 경로.

기술 스택에 Graylog를 구현하는 거대 기술 기업으로는 Fiverr, CircleCI, CraftBase 및 < Strong>BitPanda.

이 가이드에서는 RHEL 8AlmaLinux, 와 같은 RHEL 기반 배포판에 Graylog 로그 관리 도구를 설치하는 방법을 보여줍니다. >CentOS Stream,Rocky Linux.

1단계: EPEL Repo 및 필수 구성 요소 패키지 설치

시작하려면 이 가이드를 진행하는 데 도움이 될 몇 가지 필수 패키지가 필요합니다. 먼저 RHELRHEL 배포판을 위한 다양한 소프트웨어 패키지 세트를 제공하는 EPEL 저장소를 설치하세요.

sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

다음으로, 도중에 필요할 다음 패키지를 설치하십시오.

sudo dnf install -y pwgen wget curl perl-Digest-SHA

2단계: RHEL에 Java(OpenJDK) 설치

Graylog 설치 전제조건 중 하나는 Java 8 이상 버전입니다. 여기서는 OpenJDK 11에서 제공하는 Java 11Java의 최신 LTS 릴리스를 설치하겠습니다.

따라서 다음 명령을 실행하여 OpenJDK를 설치하세요.

sudo dnf install java-11-openjdk java-11-openjdk-devel -y

그러면 Java 종속성과 기타 여러 종속성이 설치됩니다.

설치가 완료되면 설치된 버전을 확인합니다.

java -version

3단계: RHEL에 Elasticsearch 설치

Elasticsearch는 구조화된, 비구조화된, 숫자, 지리공간 및 텍스트 데이터를 포함한 다양한 데이터를 처리하는 무료 오픈 소스 검색 및 분석 엔진입니다.

이는 ELK(Elasticsearch, Logstash 및 Kibana)라고도 알려진 Elastic 스택의 핵심 구성 요소이며 간단한 REST API, 확장성 및 속도로 널리 사용됩니다.

Graylog에는 Elasticsearch 6.x 또는 7.x가 필요합니다. 이 가이드를 게시할 당시 최신 릴리스인 Elasticsearch 7.x를 설치하겠습니다.

Elasticsearch 저장소 파일을 만듭니다.

sudo vim  /etc/yum.repos.d/elasticsearch.repo

그런 다음, 다음 코드 줄을 파일에 붙여넣습니다.

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

변경 사항을 저장하고 종료합니다.

다음으로, 표시된 대로 DNF 패키지 관리자를 사용하여 Elasticsearch를 설치합니다.

sudo dnf install elasticsearch-oss

ElasticsearchGraylog와 함께 작동하려면 몇 가지 변경이 필요합니다. 따라서 elasticsearch.yml 파일을 엽니다.

sudo vim /etc/elasticsearch/elasticsearch.yml

표시된 대로 클러스터 이름을 Graylog로 업데이트합니다.

cluster.name: graylog

변경 사항을 저장하고 종료합니다.

그런 다음 systemd 관리자 구성을 다시 로드하십시오.

sudo systemctl daemon-reload

그런 다음, 다음 명령을 실행하여 Elasticsearch 서비스를 활성화하고 시작합니다.

sudo systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service

Elasticsearch는 HTTP 요청을 처리하기 위해 기본적으로 포트 9200을 수신합니다. 표시된 대로 CURL 요청을 보내 이를 확인할 수 있습니다.

curl -X GET http://localhost:9200

4단계: RHEL에 MongoDB 설치

GraylogMongoDB 데이터베이스 서버를 사용하여 구성 데이터를 저장합니다.

MongoDB 4.4를 설치하지만 먼저 MongoDB용 구성 파일을 만듭니다.

sudo vim /etc/yum.repos.d/mongodb-org-4.repo

그런 다음 다음 구성을 붙여넣습니다.

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

변경 사항을 저장하고 종료합니다.

다음으로 MongoDB를 다음과 같이 설치합니다.

sudo dnf install mongodb-org

설치가 완료되면 MongoDB를 시작하고 활성화하여 시스템 시작 시 시작되도록 하세요.

sudo systemctl start mongod
sudo systemctl enable mongod

MongoDB 버전을 확인하려면 다음 명령을 실행하세요.

mongo --version

5단계: RHEL에 Graylog 서버 설치

모든 필수 구성 요소가 설치되었으면 이제 다음 명령을 실행하여 Graylog를 설치합니다.

sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-4.2-repository_latest.rpm
sudo dnf install graylog-server

다음과 같이 Graylog 설치를 확인할 수 있습니다.

rpm -qi graylog-server

이제 Graylog 서버를 시작하고 활성화하여 부팅 시 시작되도록 하세요.

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

6단계: RHEL에서 Graylog 서버 구성

Graylog가 예상대로 작동하려면 몇 가지 추가 단계가 필요합니다. 구성 파일에서 다음 매개변수를 정의해야 합니다.

root_password_sha2 
password_secret
root_username
http_bind_address

기본 구성 파일인 /etc/graylog/server/server.conf 파일에서 이러한 변수를 정의합니다.

root_password_sha2는 루트 사용자의 해시 비밀번호입니다. 이를 생성하려면 다음 명령을 실행하십시오. P@ssword321은 단지 자리표시자일 뿐입니다. 자신만의 비밀번호를 자유롭게 지정하세요.

echo -n P@ssword321 | shasum -a 256

산출

68e865af8ddbeffc494508bb6181167fccf0bb7c0cab421c54ef3067bdd8d85d

이 비밀번호를 기록해 두고 어딘가에 저장해 두세요.

그런 다음 다음과 같이 password_secret을 생성합니다.

pwgen -N 1 -s 96

산출

T1EtSsecY0QE4jIG3t6e96A5qLU5WhS9p5SliveX9kybWjC3WKhN4246oqGYPe4BTLXaaiOcM7LyuSd9bGAonQxkTsTjuqBf

다시 한 번 해시된 비밀번호를 기록해 두세요.

다음으로 Graylog 구성 파일을 엽니다.

sudo vim /etc/graylog/server/server.conf

표시된 대로 root_password_sha2password_secret에 대해 생성한 값을 붙여넣습니다.

root_username = admin
root_password_sha2 = 68e865af8ddbeffc494508bb6181167fccf0bb7c0cab421c54ef3067bdd8d85d
password_secret = T1EtSsecY0QE4jIG3t6e96A5qLU5WhS9p5SliveX9kybWjC3WKhN4246oqGYPe4BTLXaaiOcM7LyuSd9bGAonQxkTsTjuqBf

또한 다음과 같이 http_bind_address 매개변수를 설정하여 외부 사용자가 Graylog에 액세스할 수 있도록 합니다.

http_bind_address = 0.0.0.0:9000

또한 Graylog 서버의 시간대를 구성합니다.

root_timezone = UTC

구성 파일을 저장하고 종료합니다.

변경 사항을 적용하려면 Graylog 서버를 다시 시작하세요.

sudo systemctl restart graylog-server.service

로그 파일을 통해 Graylog가 예상대로 실행되고 있는지 확인할 수 있습니다.

tail -f /var/log/graylog-server/server.log

마지막 줄의 다음 출력은 모든 것이 정상임을 보여줍니다.

Graylog는 웹 인터페이스에 대한 액세스를 제공하는 포트 9000을 수신합니다. 따라서 방화벽에서 이 포트를 엽니다.

sudo firewall-cmd --add-port=9000/tcp  --permanent
sudo firewall-cmd --reload

7단계: Graylog 웹 UI에 액세스

Graylog에 액세스하려면 다음 URL을 탐색하세요.

http://server-ip:9000
OR
http://domain-name:9000

server.conf 파일에서 root_password_sha2에 대해 구성된 사용자 이름 admin과 비밀번호로 로그인합니다.

로그인하면 다음 대시보드가 표시됩니다.

여기에서 다양한 데이터 소스로부터 수집된 데이터 및 로그 분석을 진행할 수 있습니다.

Graylog는 개발자와 운영팀에게 계속해서 인기 있는 중앙 집중식 로그 관리 솔루션입니다. 수집된 데이터를 분석하면 다양한 애플리케이션과 장치의 작동 상태에 대한 깊은 통찰력을 제공하고 오류를 찾아 IT 운영을 최적화하는 데 도움이 됩니다.

이것이 이 가이드의 전부입니다. 이 튜토리얼에서는 RHEL 기반 Linux 배포판에 Graylog 서버를 설치하는 방법을 시연했습니다.