티스토리 뷰
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/
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' 카테고리의 다른 글
IPMI admin setting by ipmitool (0) | 2020.10.14 |
---|---|
memory doesn't recognize if memory is added at the slot (0) | 2020.07.01 |
jenkins with scp plugin (0) | 2013.01.30 |
wiki engine (0) | 2013.01.04 |
install vmplayer in ubuntu (0) | 2012.08.06 |
- Total
- Today
- Yesterday
- kubernetes
- Helm Chart
- mattermost
- openstack backup
- Jenkinsfile
- open policy agent
- metallb
- hashicorp boundary
- DevSecOps
- azure policy
- Terraform
- openstacksdk
- minio
- nginx-ingress
- crashloopbackoff
- GateKeeper
- K3S
- wsl2
- vmware openstack
- minikube
- macvlan
- kubernetes install
- ansible
- aquasecurity
- OpenStack
- boundary ssh
- ceph
- kata container
- jenkins
- socket
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |