IDC 엔지니어의 기술 이야기

Graylog 서버 설치(Graylog+MongoDB+elasticsearch) 본문

OS_APP/Monitoring

Graylog 서버 설치(Graylog+MongoDB+elasticsearch)

붉은볼곰팅이 2023. 5. 16. 14:45
반응형

Graylog는 리소스를 많이 잡아먹는 프로그램이다.

가상화에서 구현하기에는 무리가 있을것 같네

단. 방화벽 1,2대정도 로그 수집후 테스트 하는것이라면 가상화에서 구현해도 괜찮을듯 싶다

 

초록색 : 명령어 입력

파랑색 : 설정 입력(Vi,Nano등)

빨강색 : 주석 

 

서버스펙 : 32Process, 32G 서버

OS : Rocky 8.7

 

Chapter_1 : JAVA 설치
## 기본 설치된 JAVA 삭제(없으면 해당과정 PASS)
[root@graylog ~]# rpm -qa | grep java
java-1.8.0-openjdk-headless-1.8.0.352.b08-2.el8_7.x86_64
[root@graylog ~]# yum remove java-1.8.0-openjdk-headless-1.8.0.352.b08-2.el8_7.x86_64

## JAVA OPEN JDK 설치
[root@graylog ~]# dnf install java-11-openjdk-devel

## JAVA 환경 설정
[root@graylog ~]# which javac
/usr/bin/javac
[root@graylog ~]# readlink -f /usr/bin/javac
/usr/lib/jvm/java-11-openjdk-11.0.19.0.7-1.el8_7.x86_64/bin/javac
[root@graylog ~]# vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.19.0.7-1.el8_7.x86_64  // 가장 아랫줄에 추가
[root@graylog ~]# source /etc/profile
[root@graylog ~]# java -version
openjdk version "11.0.19" 2023-04-18 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.19.0.7-1.el8_7) (build 11.0.19+7-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.19.0.7-1.el8_7) (build 11.0.19+7-LTS, mixed mode, sharing)


Chapter_2 : MongoDB 설치
## MongoDB 리포지토리 추가
[root@graylog ~]# vi /etc/yum.repos.d/mongodb-org-6.repo
[mongodb-org-6.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc

## MongoDB 리포지토리 추가 확인
[root@graylog ~]# dnf repolist
레포지터리 ID                                레포지터리 이름
mongodb-org-6.0                          MongoDB Repository

## MongoDB 설치
[root@graylog ~]# dnf install mongodb-org

## MongoDB 서비스 등록 및 시작
[root@graylog ~]# systemctl daemon-reload
[root@graylog ~]# systemctl enable mongod
[root@graylog ~]# systemctl start mongod
[root@graylog ~]# systemctl status mongod

Chapter_3 : Elasticsearch 설치
## Elasticsearch 리포지토리 추가
[root@graylog ~]# vi /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

## Elasticsearch 리포지토리 추가 확인
[root@graylog ~]# dnf repolist
레포지터리 ID                                 레포지터리 이름
elasticsearch-7.x                         Elasticsearch repository for 7.x packages

## Elasticsearch 설치
[root@graylog ~]# dnf install elasticsearch

## 설정파일 수정
[root@graylog ~]# vi /etc/elasticsearch/elasticsearch.yml
cluster.name: graylog   //  가장 아래줄에 신규 추가
action.auto_create_index: false  // 가장 아래줄에 신규 추가

## 서비스 등록 및 시작
[root@graylog ~]# systemctl daemon-reload
[root@graylog ~]# systemctl start elasticsearch
[root@graylog ~]# systemctl enable elasticsearch
[root@graylog ~]# systemctl status elasticsearch

## 정상 설치 확인
[root@graylog ~]# curl localhost:9200
{
  "name" : "graylog",
  "cluster_name" : "graylog",
  "cluster_uuid" : "ZYAkisdGRZ-MbBye_zV-EA",
  "version" : {
    "number" : "7.17.10",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "fecd68e3150eda0c307ab9a9d7557f5d5fd71349",
    "build_date" : "2023-04-23T05:33:18.138275597Z",
    "build_snapshot" : false,
    "lucene_version" : "8.11.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

Chapter_4 : Graylog 설치
## Graylog 리포지토리 추가
[root@graylog ~]# rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-4.3-repository_latest.rpm
[root@graylog ~]# dnf repolist
레포지터리 ID                             레포지터리 이름
graylog                               graylog

## Graylog 설치
[root@graylog ~]# dnf install graylog-server graylog-integrations-plugins

## Graylog 설정
[root@graylog ~]# yum -y install epel-release
[root@graylog ~]# yum install pwgen
[root@graylog ~]# pwgen -N 1 -s 96
u4sMPFKppZPZs7jGsKB7TATItnEQQjZVmGtHIcsEpESLHbW45wgmya85pHNK554EXQZr8UR8y4plC4kxrqOaux8DWNZUX0wM

[root@graylog ~]# echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1
Enter Password: graylog password // 패스워드는 원하는걸로 수정
3ad164668b59ce31e137ad6ed79de30d3c33f92f3805c6375718e089ed3e983a

[root@graylog ~]# vi /etc/graylog/server/server.conf
password_secret = u4sMPFKppZPZs7jGsKB7TATItnEQQjZVmGtHIcsEpESLHbW45wgmya85pHNK554EXQZr8UR8y4plC4kxrqOaux8DWNZUX0wM   // password_secret 주석제거후 위에서 생선된 정보 추가
root_password_sha2 = 3ad164668b59ce31e137ad6ed79de30d3c33f92f3805c6375718e089ed3e983a   //root_password_sha2 주석 제거후 위에 생성된 내용 추가
http_bind_address = 0.0.0.0:9000 // 주석제거후 변경

root_timezone = Asia/Seoul // 주석제거후 변경

## Graylog 서비스 등록
[root@graylog ~]# systemctl daemon-reload
[root@graylog ~]# systemctl enable graylog-server
[root@graylog ~]# systemctl start graylog-server
[root@graylog ~]# systemctl status graylog-server

## Graylog 서버 접속
http://192.168.189.50:9000/

반응형

'OS_APP > Monitoring' 카테고리의 다른 글

Prometheus+Grafana+Exporter 연동 구축  (1) 2023.10.16
Docker+Prometheus+Grafana+Node Exporter 설치 및 연동  (0) 2023.09.21
Observium 설정  (0) 2023.07.04
Observium 설치  (0) 2023.07.04
Graylog 설정  (0) 2023.07.03