💡 ELK란?
ELK는 위 그림과 같이, 분석 및 저장 기능을 담당하는 ElasticSearch, 수집 기능을 하는 Logstash, 이를 시각화하는 도구인 Kibana의 앞글자만 딴 단어
설치방법
📗 elasticsearch 설치
https://www.elastic.co/guide/en/elasticsearch/reference/current/rpm.html
Java 설치
ELK를 설치하기 전 Java가 필요함, yum으로 설치하고 설치가 되어 있는지 확인하려면 아래와 같이 확인한다.
# java -version
openjdk version "1.8.0_262"
OpenJDK Runtime Environment (build 1.8.0_262-b10)
OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)
Elasticsearch GPG Key 다운로드
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
repo파일 추가하기
vi 편집기로 elasticsearch.repo파일을 생성 후 아래 내용을 추가해준다.
vi /etc/yum.repos.d/elasticsearch.repo
[elasticsearch]
name=Elasticsearch repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md
elasticsearch 설치
yum으로 elasticsearch 패키지를 설치 함(RPM 치고 용량이 후덜덜하다..)
# yum install --enablerepo=elasticsearch elasticsearch
Loaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
Determining fastest mirrors
epel/x86_64/metalink | 9.7 kB 00:00:00
* base: mirror.kakao.com
* epel: ftp.riken.jp
* extras: mirror.kakao.com
* updates: mirror.kakao.com
base | 3.6 kB 00:00:00
elasticsearch | 1.3 kB 00:00:00
epel | 4.7 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/5): epel/x86_64/group_gz | 96 kB 00:00:00
(2/5): elasticsearch/primary | 42 kB 00:00:00
(3/5): epel/x86_64/updateinfo | 1.0 MB 00:00:00
(4/5): epel/x86_64/primary_db | 7.0 MB 00:00:00
(5/5): updates/7/x86_64/primary_db | 15 MB 00:00:00
elasticsearch 115/115
Resolving Dependencies
--> Running transaction check
---> Package elasticsearch.x86_64 0:8.1.2-1 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================================================================================================================================================================================================
Package Arch Version Repository Size
================================================================================================================================================================================================================================================================
Installing:
elasticsearch x86_64 8.1.2-1 elasticsearch 492 M
Transaction Summary
================================================================================================================================================================================================================================================================
Install 1 Package
Total download size: 492 M
Installed size: 1.0 G
Is this ok [y/d/N]: y
elasticsearch.yml파일 편집
아래 명령어로 elasticsearch.yml을 열어 network.host 와 http.port의 주석을 해제한다.
나는 network.host를 localhost로 변경하였다.
vi /etc/elasticsearch/elasticsearch.yml
elasticsearch를 브라우저에서 접속한다.
https로 접속해야 한다.
초기 패스워드는 아래 명령어로 초기화해야 한다. 구글 검색에서 나오는 admin/admin 안됨
/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic
로그인 성공하면 다음과 같은 결과가 나온다.
logstash 설치
https://www.elastic.co/guide/en/logstash/current/installing-logstash.html
logstash GPG키 다운로드
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
logstash repo 등록
vi /etc/yum.repos.d/logstash.repo
[logstash-8.x]
name=Elastic repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
yum install logstash
📗 Kibana설치
https://www.elastic.co/guide/en/kibana/current/rpm.html
kibana GPG키 다운로드
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
kibana repo등록
repo등록을 안 하면 kibana패키지 다운로드가 안됨
vi /etc/yum.repos.d/kibana.repo
[kibana-8.x]
name=Kibana repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
kibana 설치
yum install kibana
kibana.yml파일 주석 해제
vi로 열어 아래 3개 코드를 주석 해제한다.
server.host는 모든 아이피에서 접속할 수 있도록 "0.0.0.0"으로 설정함
vi /etc/kibana/kibana.yml
- server.port: 5601
- server.host: "0.0.0.0"
- elasticsearch.hosts: ["http://localhost:9200"]
kibana 서비스 재시작
systemctl restart kibana
접속 확인
브라우저에서 아래 주소:포트로 접속해본다.
http://192.168.171.129:5601/
접속 성공
Enroolment token은 아래 명령어로 생성 후 집어넣어 주고 Configure Elastic을 클릭하면 자동 설치됨
# /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token --scope kibana
Add intergrations를 누른다.
kibana 페이지가 떴다.
프로필 쪽에서 elastic 계정의 패스워드 변경을 할 수 있다.
management > security > users에서 추가 관리자 계정을 만들 수 있다.
📗 firebeat 설치
yum install filebeat
yml 파일 열어서 9200 , 5044 server.host 주석 제거
vi /etc/filebeat/filebeat.yml
📗 설치한 모든 시스템 재구동
systemctl restart elasticsearch
systemctl restart logstash
systemctl restart kibana
systemctl restart filebeat
📗 구축 후 느낀 점
- 오픈소스 시스템 구축은 언제나 복잡하고 어렵다..
- 좀 한 번에 설치할 수 있는 패키지로 말아주면 얼마나 좋을까...
- 구축은 했지만 연동 관련 자료가 너무 없다...(30분 구글링 해봤는데 한글 자료 중 도움될 만한 게 없다.. 답답하면 본인이 만들어야..)
- 컨테이너로 쉽게 설치할 수 있는지도 알아봐야겠다.
'인프라 > 리눅스' 카테고리의 다른 글
ubuntu / centos python 버전 변경하기(update-alternatives) (0) | 2022.04.24 |
---|---|
Centos7 Mysql 5.7 설치 (0) | 2022.04.15 |
Centos7 도커(docker) 설치, 컨테이너 이미지 다운 (1) | 2022.03.06 |
Centos7 도커를 이용한 teleport 설치 (0) | 2022.03.05 |
CentOS7 도커(docker) 설치하기 (0) | 2022.02.18 |
댓글