WHEREIS

*** 무료 vs 상용 기능비교

www.graylog.org/products/open-source-vs-enterprise

 

*** 전제조건 

# yum install java-1.8.0-openjdk-headless.x86_64 pwgen 

 

*** 설치 전, 버전 호환성에 대해 검토 후 하길 바람


*** mongodb 설치

# echo '[mongodb-org-4.0] 
name=MongoDB Repository 
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/ 
gpgcheck=1 
enabled=1 
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc' > /etc/yum.repos.d/mongodb-org.repo 

 

# yum install mongodb-org


# systemctl daemon-reload 
# systemctl enable mongod.service 
# systemctl start mongod.service 


*** Elasticsearch 설치

# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch 

# echo '[elasticsearch-6.x] 
name=Elasticsearch repository for 6.x packages 
baseurl=https://artifacts.elastic.co/packages/oss-6.x/yum 
gpgcheck=1 
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch 
enabled=1 
autorefresh=1 
type=rpm-md' > /etc/yum.repos.d/elasticsearch.repo 

# yum install elasticsearch-oss 

# vi /etc/elasticsearch/elasticsearch.yml 

 17 cluster.name: graylog 
 18 action.auto_create_index: false

 34 path.data: /tank0/elasticsearch     # data 경로 수정(필요 시)


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



*** graylog 설치 

# rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-3.1-repository_latest.rpm 
# yum install graylog-server 




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


# vi /etc/graylog/server/server.conf 
55 password_secret = (shell 에서 "pwgen -N 1 -s 96" 명령어의 결과 값을 입력) 
66 root_password_sha2 = (위에 61193584fa4dd66f5fa0dae6b7220de8a94b918fc0c39b8c05c3ee85a727bb6f 값을 입력) 
103 http_bind_address = 0.0.0.0:9000   # 앞 단에 웹서버를 두고, proxy 로 사용할 경우에는 안 해도 됨 

74  root_timezone = Asia/Seoul  

332  elasticsearch_shards = 1  # Elasticsearch 클러스터의 노드 수 (default 4)

 


* web서버 설정은 아래 URL 참고   (그냥 config 긁어다 넣으면 될 정도라.. 생략 함)
https://docs.graylog.org/en/3.1/pages/configuration/web_interface.html#configuring-webif-nginx 


# systemctl daemon-reload 
# systemctl enable graylog-server.service 
# systemctl start graylog-server.service 


이제 URL 으로 접속 후, admin // "Enter Password: lklingling" 위에 입력한 패스워드를 입력한다.
https://<도메인>

 

*** 로그 받아오기 설정

 

1. input 등록 (graylog web ui 에서)

system -> inputs 

Syslog UDP 선택 (상황에 따라서 적절하게)

2. Launch new input 클릭

global은 모든 node 에 로그를 뿌려주는? 거라고 하고, 여기서 주위할 것은 port 번호가 기존 rsyslog 서버와 중복되면 안 된다. (별도의 데몬이 구동 됨)

3. 클라이언트 syslog forwarding 설정 (여기까지 하면 정상적으로 로그를 받아와야 함)

 

*** centos6

$template GRAYLOGRFC5424,"<%PRI%>%PROTOCOL-VERSION% %TIMESTAMP:::date-rfc3339% %HOSTNAME% %APP-NAME% %PROCID% %MSGID% %STRUCTURED-DATA% %msg%\n"
*.* @rlog.333:5140;GRAYLOGRFC5424

 

*** centos7

*.* @rlog.dff5140;RSYSLOG_SyslogProtocol23Format

정확히는 rsyslog 버전에 따라 설정이 다르나, 일반 미러 사이트에서 설치했다면 아마 위와같이 하면 될 것이다.

 

 

마지막으로 보관 용량을 설정하는 것을 해보겠다.

로그를 쌓기만 하면 용량이 full 차게 되므로 주기적으로 삭제해 주어야 한다.

 

system -> indices 

잠깐 틀어놨는데 용량이 800M 가 쌓였다.

edit 을 누르면 하단에 이 부분이 보관기간을 명시하는 부분 같다.

index 파일을 얼마 후 rotate 시킬지와 몇개의 인덱스 파일을 보관할지에 대한 부분인 것 같다.

따라서 보관 기간은 3 일 * 20개 파일 해서 60일이 되지 않을까.. 조심스레 추측해본다.

시간을 1시간으로 변경하고 비교해 보면 될 듯,,,  (항상 보는 그대로 믿는건 안 좋음.)

 

 

*** 간단한 이메일 알람설정

 

웹 UI 에서 설정하기 전에, 서버 conf 파일에 smtp 서버를 지정하자.

# vi /etc/graylog/server/server.conf

transport_email_enabled = true
transport_email_hostname = smtp.kkk.com
transport_email_port = 25

 

그 다음에 웹페이지를 접속하여...

 

Alerts (상단 메뉴) -> Get Started! (가운데 초록색 버튼)

크게 중요한 설정은 아닌듯

 

알람을 보낼 로그를 search query 부분에 입력

 

notifications 설정(메일 보내는주소, 수신자, 메일 내용을 입력)

 

위와 같이 backlog 갯수 수정

 

다음과 같이 해당서버의 이벤트 로그가 발생했을 때,  메일을 수신하면 정상적으로 설정된 것이다.

(테스트 용으로 입력하여, 위의 필터부분과 다름)

 

 

 

위와 같이 써보고, 몇 개월 지난 시점에 추가로 필요한 설정이 있다면 업데이트 예정.

 


참고사이트: https://docs.graylog.org/en/3.1/pages/installation/os/centos.html

multi node 구성 : https://docs.graylog.org/en/3.1/pages/configuration/multinode_setup.html#configure-multinode

rabbitmq 연동 : https://marketplace.graylog.org/addons/246dc332-7da7-4016-b2f9-b00f722a8e79

인덱스 설정 : https://docs.graylog.org/en/3.1/pages/configuration/index_model.html

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band
loading