[Elastic] Ubuntu OS + ELK 환경설정 - 2
References
https://nan491.tistory.com/entry/VMware-Ubuntu에서-ElasticsearchELK-설치하기?category=306998
https://velog.io/@munang/Centos7-에-ElasticSearch-설치하기
https://www.elastic.co/guide/kr/x-pack/current/security-getting-started.html
서론
본 포스트는 Linux(Ubuntu OS) + ELK 환경설정 과정을 재구성 하였습니다.
지난 시간 Virtual Machine 내 Ubuntu 설치 및 ELK 세팅에 필요한 기본 패키지 설정을 진행하였다.
따라서, 이번 포스트에는 ELK 설치 및 yml 파일 설정을 진행한다.
주의 사항
Elasticsearch, Kibana, Logstash, Filebeat 모두 버전이 동일해야 합니다.
본 포스트에서는 8.2.0 버전으로 진행하였습니다. 만약, 최신 버전을 이용하고자 하신다면 최소 JDK 11 버전 이상으로 사전 설정이 필요하고, 본 포스트에 기재되는 설정 내용이 달라질 수 있다는 점 유의 해주시길 바랍니다.
ELK 설치 파일 다운로드
Ubuntu OS에 있는 Firefox 웹 브라우저를 키고 다음과 같은 설치 링크로 접속한다.
- Elasticsearch
https://www.elastic.co/kr/downloads/past-releases/elasticsearch-8-2-0
- Kibana
https://www.elastic.co/kr/downloads/past-releases/kibana-8-2-0
- Logstash
https://www.elastic.co/kr/downloads/past-releases/logstash-8-2-0
- Filebeat
https://www.elastic.co/kr/downloads/past-releases/filebeat-8-2-0
네 파일 모두 DEB X86_64를 클릭하여 deb 확장자 파일을 다운로드 한다.
Elasticsearch
Elasticsearch 설치
다운로드 받은 Elasticsearch 설치 파일을 실행한다.
$ sudo dpkg -i elasticsearch-8.2.0-amd64.deb
Elasticsearch 설정
설치 완료 후 Elasticseatch를 Service에 등록한다.
$ sudo systemctl enable elasticsearch.service
service 명령어를 통해 실행한다.
$ sudo service elasticsearch start
curl 모듈을 통해 연결이 정상적으로 되었는지 확인한다.
$ curl -XGET 'localhost:9200'
// JSON 형태의 내용이 출력되면 정상!
{
"name" : "wrlmwrg"
...
}
※ Elasticsearch 설정 오류 발생 시 해결
elasticsearch.service failed
Job for elasticsearch.service failed because the control process exited with error code. See "systemctl status elasticsearch.service" and "journalctl -xe" for details.
가상머신 메모리 부족이므로 다음과 같이 진행한다.
// nano 에디터로 JVM 옵션 설정 파일을 연다
$ sudo nano /etc/elasticsearch/jvm.options
...
// 해당 문구에 있는 주석을 해제 후 저장한다
-Xms4g
-Xmx4g
Permission denied
./elasticsearch-env: line 88: /etc/default/elasticsearch: Permission denied
Elasticsearch YML 설정 파일의 보안 옵션 활성화가 원인이므로 다음과 같이 진행한다.
// nano 에디터로 Elasticsearch YML 옵션 설정 파일을 연다
$ sudo nano /etc/elasticsearch/elasticsearch.yml
...
// 해당 문구에 있는 옵션을 false로 설정 후 저장한다
xpack.security.audit.enabled: false
Logstash
다운로드 받은 Logstash 설치 파일을 실행한다.
$ sudo dpkg -i logstash-8.2.0-amd64.deb
Logstash의 경우 이 후 작업 과정에서 추가적으로 만질 곳이 필요하니 지금은 패스한다.
Kibana
Kibana 설치
다운로드 받은 Kibana 설치 파일을 실행한다.
$ sudo dpkg -i kibana-8.2.0-amd64.deb
Kibana 설정
Kibana YML 설정 파일 내용을 수정 후 저장한다.
$ sudo nano /etc/kibana/kibana.yml
...
// Elasticsearch와 연동할 url을 설정한다
elasticsearch.url: "<http://localhost:9200>"
// Kibana 서버 호스트를 설정한다
server.host: "localhost"
Filebeat
Filebeat 설치
다운로드 받은 Filebeat 설치 파일을 실행한다.
$ sudo dpkg -i filebeat-8.2.0-amd64.deb
Filebeat 설정
Filebeat YML 설정 파일 내용을 수정 후 저장한다.
$ sudo nano /etc/filebeat/filebeat.yml
...
// 설정 변경 옵션을 활성화한다
# Change to true to enable this input configuration
enabled: true
// 로그 파일의 경로를 지정한다
// 만약 별도로 생성되는 로그 파일이 있다면 해당 경로로 지정한다
# Path that should crawled and fetched. Glob based paths.
paths:
- /var/log/*.log
- /var/log/syslog
- /var/log/apache2/*.log
- ( 필요시 로그 경로 추가 ...)
구동 테스트
사전 작업
실행 전 서비스를 전부 종료한다.
$ sudo service filebeat stop
$ sudo service kibana stop
$ sudo service elasticsearch stop
$ sudo service apache2 stop
역 순으로 다시 서비스를 전부 실행한다.
$ sudo service apache2 start
$ sudo service elasticsearch start
$ sudo service kibana start
$ sudo service filebeat start
Elasticsearch 정상 실행 여부 확인
Elasticsearch가 정상적으로 실행되는지 확인한다.
$ curl -XGET 'localhost:9200'
// JSON 형태의 내용이 출력되면 정상!
{
"name" : "wrlmwrg"
...
}
Firefox 웹 브라우저를 열어 127.0.0.1:9200/_cat/indices 링크로 접속하여 Filebeat와 정상적으로 연동이 되는지 확인한다.
Kibana 접속 확인
127.0.0.1:5601 링크로 접속하여 Kibana 메인 페이지가 뜨는지 확인한다.