웹사이트 검색

CentOS 7|RHEL 7에 Graylog 4를 설치하는 방법


이 가이드에서는 CentOS 7|RHEL 7 Linux 시스템에 Graylog 4를 설치하는 단계를 안내해 드리겠습니다. Graylog는 데이터 센터, 클라우드 또는 둘 다에서 수평적으로 확장할 수 있는 기능을 통해 여러 로그 소스, DC 및 지역에서 최대 테라바이트의 로그 데이터를 집계할 수 있는 오픈 소스 로그 관리 플랫폼입니다.

Graylog 검색 기능은 정말 빠르고 강력하므로 서버를 스트림으로 그룹화하여 로그를 쉽게 검색할 수 있습니다. Graylog UI는 완전한 사용자 관리 및 LDAP 지원을 통해 간단하고 직관적입니다. 또한 경고 및 보고 기능도 지원합니다.

Graylog 4.x는 Elasticsearch 7.x 및 모든 최신 버전의 MongoDB(4.x)를 완벽하게 지원합니다. Ubuntu 및 CentOS 8 사용자인 경우 다음을 확인하세요.

  • Ubuntu 20.04/Ubuntu 18.04에 GrayLog 설치
  • CentOS 8에 GrayLog 설치

Graylog는 해당 기능을 위해 Java, Elasticsearch 및 MongoDB에 의존합니다. Elasticsearch는 로그 저장을 담당하고 MongoDB는 Graylog 관련 구성을 저장합니다.

1단계: SELinux 구성

시스템에서 SELinux를 사용하는 경우 다음 설정을 지정하십시오.

sudo yum -y install curl vim policycoreutils
sudo setsebool -P httpd_can_network_connect 1
sudo semanage port -a -t http_port_t -p tcp 9000
sudo semanage port -a -t http_port_t -p tcp 9200
sudo semanage port -a -t mongod_port_t -p tcp 27017

2단계: 필수 저장소를 추가합니다.

EPEL 저장소를 활성화합니다.

CentOS 7:

sudo yum -y install epel-release

RHEL 7:

sudo subscription-manager repos --enable rhel-*-optional-rpms \
                           --enable rhel-*-extras-rpms \
                           --enable rhel-ha-for-rhel-*-server-rpms
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

MongoDB 저장소 추가:

sudo tee /etc/yum.repos.d/mongodb-org-4.4.repo <<EOF
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
EOF

Elasticsearch 저장소 추가:

sudo tee /etc/yum.repos.d/elasticsearch.repo <<EOF
[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
EOF

YUM 패키지 인덱스 캐시 업데이트:

sudo yum clean all
sudo yum -y makecache

추가된 모든 저장소가 작동하는지 확인합니다.

$ yum repolist
repo id                                                                             repo name                                                                                                 status
base/7/x86_64                                                                       CentOS-7 - Base                                                                                           10072
droplet-agent/x86_64                                                                DigitalOcean Droplet Agent                                                                                    8
elasticsearch-7.x                                                                   Elasticsearch repository for 7.x packages                                                                  1058
extras/7/x86_64                                                                     CentOS-7 - Extras                                                                                           509
mongodb-org-4.4                                                                     MongoDB Repository                                                                                          172
updates/7/x86_64                                                                    CentOS-7 - Updates                                                                                         3573
repolist: 15392

3단계: Java, Elasticsearch 및 MongoDB 설치

필요한 모든 패키지를 설치하려면 이 명령을 실행하세요.

sudo yum -y install vim pwgen java-11-openjdk java-11-openjdk-devel
sudo yum -y install pwgen elasticsearch-oss mongodb-org

이제 Java 및 기타 패키지가 설치되어 있는지 확인하십시오.

$ java -version
openjdk version "11.0.20" 2023-07-18 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.20.0.8-1.el7_9) (build 11.0.20+8-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.20.0.8-1.el7_9) (build 11.0.20+8-LTS, mixed mode, sharing)

MongoDB 서비스를 시작하고 활성화합니다.

mongod 서비스를 시작하고 부팅 시 시작되도록 설정합니다.

sudo systemctl enable --now mongod
sudo systemctl status mongod

MongoDB 경로:

4단계: Graylog용 Elasticsearch 구성

Elasticsearch 구성 파일을 수정하고 클러스터 이름을 graylog로 설정해야 합니다. 또한 줄의 주석 처리를 해제(첫 번째 문자인 # 제거)하고 action.auto_create_index: false 를 추가해야 합니다. 를 구성 파일에 추가합니다.

편집할 파일은 /etc/elasticsearch/elasticsearch.yml입니다.

$ sudo vi /etc/elasticsearch/elasticsearch.yml
cluster.name: graylog
action.auto_create_index: false

Elasticsearch 서비스를 시작하고 활성화합니다.

sudo systemctl daemon-reload
sudo systemctl enable --now elasticsearch

서비스 상태 확인:

$ systemctl status elasticsearch
● elasticsearch.service - Elasticsearch
   Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2023-08-21 14:26:45 UTC; 3s ago
     Docs: https://www.elastic.co
 Main PID: 8722 (java)
   CGroup: /system.slice/elasticsearch.service
           └─8722 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=tr...

Aug 21 14:26:26 centos-01 systemd[1]: Starting Elasticsearch...
Aug 21 14:26:26 centos-01 systemd[1]: Started Elasticsearch.

기본 Elasticsearch 파일 위치는 다음과 같습니다.

5단계: CentOS 7|RHEL 7에 Graylog 서버 설치

이제 다음 명령을 사용하여 Graylog 저장소와 Graylog 자체를 설치하십시오.

sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-4.3-repository_latest.rpm
sudo yum -y install graylog-server

또한 /etc/graylog/server/server.conf에서 password_secret 및 root_password_sha2 변수 추가를 설정해야 합니다.

### Generate root_password_sha2
$ echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1
Enter Password: password <INPUT-PASSWORD>

Sha2 비밀번호가 화면에 인쇄됩니다. 이를 업데이트하기 위해 구성 파일에서 사용하겠습니다.

5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8

이전에 설치한 pwgen 도구를 사용하여 password_secret을 생성합니다.

$ pwgen -N 1 -s 96
pYJuHjPD0166gUEzhL3XUpTkacYAu26FFxVIRjvczINydWF7WwBbUEUaD5KukCUBIKpklbYn85ebWTOQg4UMMS0twWqB7Rep

이러한 설정은 필수이며, 설정이 없으면 Graylog가 시작되지 않습니다!

$ sudo vi /etc/graylog/server/server.conf
password_secret = Replace-me-with-generated-password-secret
root_password_sha2 = Replace-me-with-generated-hashed-root-secret

예 :

password_secret = pYJuHjPD0166gUEzhL3XUpTkacYAu26FFxVIRjvczINydWF7WwBbUEUaD5KukCUBIKpklbYn85ebWTOQg4UMMS0twWqB7Rep
root_password_sha2 = 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8

또한 Graylog HTTP 인터페이스에서 사용하는 네트워크 인터페이스에 주소를 바인딩해 보겠습니다.

$ sudo vi /etc/graylog/server/server.conf
#line 105
http_bind_address = 0.0.0.0:9000

시스템의 모든 주소에 바인딩하려면 greylog 서비스를 다시 시작하세요.

sudo systemctl restart graylog-server

Graylog 디렉토리 구조:

6단계: CentOS 7|RHEL 7에서 Graylog 서비스 시작

이제 greylog 서비스를 시작하고 시스템 부팅 시 시작되도록 활성화합니다.

sudo systemctl daemon-reload
sudo systemctl enable --now graylog-server.service

서비스 상태 확인:

$ systemctl status  graylog-server.service
● graylog-server.service - Graylog server
   Loaded: loaded (/usr/lib/systemd/system/graylog-server.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2022-03-19 08:25:09 UTC; 13s ago
     Docs: http://docs.graylog.org/
 Main PID: 19249 (graylog-server)
   CGroup: /system.slice/graylog-server.service
           ├─19249 /bin/sh /usr/share/graylog-server/bin/graylog-server
           └─19250 /usr/bin/java -Xms1g -Xmx1g -XX:NewRatio=1 -server -XX:+ResizeTLAB -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled -XX:+C...

Sep 16 09:08:11 cent701.novalocal systemd[1]: Stopped Graylog server.
Sep 16 09:08:11 cent701.novalocal systemd[1]: Started Graylog server.

Graylog 방화벽 구성

단일 노드 설치의 경우 UI 액세스 및 API용으로 포트 9000만 열면 됩니다. CentOS 7|RHEL 7에서 이 작업을 수행하려면 Firewalld를 사용하세요.

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

이제 http://public_ip:9000을 사용하여 Graylog 웹 인터페이스에 액세스할 수 있습니다. 아래와 같은 인터페이스를 얻어야 합니다.

CentOS 7|RHEL 7에서 Elasticsearch 7.x와 함께 Graylog 4.x 설치가 완료되었습니다. Let's Encrypt SSL을 사용하여 Graylog Nginx 역방향 프록시 구성에 대한 다음 문서를 읽어보세요.

Graylog에 메시지를 수집하고 추출기로 메시지를 추출하거나 파이프라인을 사용하여 메시지 작업을 수행하는 방법을 알아보세요.

태그 :

  • CentOS 7에 Graylog 4 설치
  • RHEL 7에 Graylog 4 설치
  • CentOS 7/RHEL 7에 Graylog 설치

기타 로그 관련 기사:

  • Rsyslog를 사용한 VMware vSphere 및 vCenter 중앙 로그 관리
  • Ubuntu 18.04에서 Graylog 서버로 로그 관리
  • 로그에서 Postfix 메일 통계를 얻는 방법

관련기사: