관리 메뉴

Jacob Baek's home

Graylog 본문

Server/EtcServer

Graylog

jacobbaek Jacob_baek 2017. 10. 12. 15:55

Graylog는

Graylog는 open source 로그 관리 플랫폼으로 sysog 기반으로 동작하게 된다.

루센기반의 분산검색서버인 Elasticsearch와 MongoDB를 기반으로 로그를 분석하는 프레임워크이다.


설치


설치는 기본으로 아래 패키지가 존재해야한다. 즉, 해당 하는 MongoDB 및 Elasticsearch 를 backend로 사용한다.

- Java

- MongoDB

- Elasticsearch


아래 설치는 CentOS7 기준으로 진행하였다.

해당 작업은 공식 문서에 나온 그대로의 작업이다. 공식문서를 참고하는것이 버전에 대한 문제 발생되지 않기에 공식문서를 보고 아래 설치방법은 참조만 한다.

http://docs.graylog.org/en/2.3/pages/installation/os/centos.html


1. java 설치

openjdk 기준으로 설치를 진행했다.

[root@graylog ~]# sudo yum install java-1.8.0-openjdk-headless


2. MongoDB 설치

repository 구성한다.

[mongodb-org-3.2]

name=MongoDB Repository

baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/

gpgcheck=1

enabled=1

gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc


mongodb 설치 및 서비스 구동한다.

[root@graylog ~]# sudo yum install mongodb-org

[root@graylog ~]# sudo systemctl daemon-reload

[root@graylog ~]# sudo systemctl enable mongod.service

[root@graylog ~]# sudo systemctl start mongod.service


3. ElasticSearch 설치

repository 구성한다.

[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


elasticsearch 설치 및 서비스 구동한다.

[root@graylog ~]# sudo yum install elasticsearch

# cluster name을 추가한다.(기존에 주석처리 되어 있을것임)

[root@graylog ~]# vi /etc/elasticsearch/elasticsearch.yml

cluster.name: graylog


[root@graylog ~]# systemctl enable elasticsearch

[root@graylog ~]# systemctl status elasticsearch


아래와 같이 curl을 통해 elasticsearch의 동작을 확인할 수 있다.

[root@graylog ~]# curl -X GET http://localhost:9200

{

  "name" : "grayes.naim.tech",

  "cluster_name" : "grayes",

  "cluster_uuid" : "ch1iVopNTsem1s3g9pFtKQ",

  "version" : {

    "number" : "5.6.3",

    "build_hash" : "1a2f265",

    "build_date" : "2017-10-06T20:33:39.012Z",

    "build_snapshot" : false,

    "lucene_version" : "6.6.1"

  },

  "tagline" : "You Know, for Search"

}


4. 패스워드 설정 및 추가


secure/pepper 할 secret 설정한다.

[root@graylog ~]# yum install pwgen

[root@graylog ~]# pwgen -N 1 -s 96

2LZnTjZ8sfb5VJPsfZEQD3SMrgByEaxLWkn6pUJ71LF0c5H1Jljg2aM08zNZRiaC3psfIZPfbIojvJf7gZZrVShf99QVNIrD


admin계정(default) 에 Password는 아래와 같이 설정한다.

[root@graylog ~]# echo -n passwordstring | sha256sum

7dfd878bc40dd8714e546960c63e58aa0416fd7d44b15c29dd6946b66aa084ad  -


문자로 출력되는 끝까지를 복사하여 아래에 추가한다.

[root@graylog ~]# vi /etc/graylog/server/server.conf

root_password_sha2 =  7dfd878bc40dd8714e546960c63e58aa0416fd7d44b15c29dd6946b66aa084ad



Web 설정


아래와 같이 server.conf 파일의 ip를 변경해 준다.

web_listen_uri = http://10.0.1.101:9000/

rest_listen_uri = http://10.0.1.101:9000/api/
NGINX나 Apache를 통한 reverse proxy를 사용할 계획이라면 기존 127.0.0.1로 그대로 놔두어도 무방하다.

Log 설정


1. Graylog가 설치된 서버

- input 설정



client입장의 rsyslog에서 1514 포트로 전송하도록 한다.

graylog가 동작하는 서버에서 1514로 listen하는지를 확인해보면 된다.


참고로 1024이하의 포트는 사용 할수 없다.

permssion 문제로 Error가 발생된다.



- firewall 설정

input 설정시 listen을 수행한 port 에 대한 firewall 설정을 해제 해주어야 한다.

필자가 설치한 CentOS 7 기반에서는 firewalld로 포트를 open하였다.


example

[root@graylog ~]# firewall-cmd --add-port=1514/udp

[root@graylog ~]# firewall-cmd --add-port=1514/udp --permanent


2. Graylog로 log를 전송할 서버

- 테스트로 Local에 있는 syslog를 graylog에서 분석할수 있도록

rsyslog 기반으로 아래와 같은 설정을 추가한다.


[root@graylog ~]# vi /etc/rsyslog.conf

# 제일 하단에 아래내용 추가

.* @localhost:1514


- 원격에 존재하는 linux 서버의 log를 graylog에서 분석할수 있도록

rsyslog 기반으로 아래와 같은 설정을 추가한다.


[root@remote_rsyslog_server ~]# vi /etc/rsyslog.conf

# 제일 하단에 아래내용 추가

.* @graylog_remote_ip_or_domain:1514


설정후에는 아래와 같은 화면을 확인할 수 있다.


3. 사용법

- stream을 통해 type 및 query keyword를 추가하여 지정한 주기에 맞는 모니터링수행

- dashboard에 save한 search result를 추가

- Alert 생성




'Server > EtcServer' 카테고리의 다른 글

memory doesn't recognize if memory is added at the slot  (0) 2020.07.01
Graylog  (0) 2017.10.12
HAProxy  (0) 2015.11.17
jenkins with scp plugin  (0) 2013.01.30
wiki engine  (0) 2013.01.04
install vmplayer in ubuntu  (0) 2012.08.06
0 Comments
댓글쓰기 폼
Prev 1 2 3 4 5 6 7 Next