AWS EC2에서 Logstash 연결 하기
본 포스팅은 AWS EC2에서 Elastic Search, Kibana가 이미 연결되어 있으며,
Logstash 기본 Setting과 filebeat가 설 완료된 상태를 가정하여 작성되었습니다.
logstash는 Local에서 메시지를 전송할 수 있지만, 본 포스팅에서는 서버를 셋팅하는 방식을 정리하였습니다.
1) 먼저 AWS 인스턴스를 하나 더 생성합니다. 인스턴스 이름은 logstash-01로 합니다.
: 현재까지는 AWS 인스턴스가 elastic-01, elastic-02, elastic-03 생성되어 있으며,
각 인스턴스에는 elastic search가 설치되어 있고, elastic-01에는 kibana가 설치되어 연결되어 있습니다.
2) 터미널에서 logstash-01 서버와 연결합니다.
해당 인스턴스에 Logstash와 filebeat를 설치합니다.
(1) Logstash 설치
############ Logstash 설치 ############
# wget + 복사한 링크를 사용해 다운로드
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.10.2-linux-x86_64.tar.gz
# 압축 풀기
tar xvfz logstash-7.10.2-linux-x86_64.tar.gz
# bin/logstash 를 실행해서 잘 설치가 되었는지(local에서 실행했을 때와 동일한 에러가 나오는지) 확인
(2) Filebeat설치
############ Filebeat 설치 ############
# wget + 복사한 링크를 사용해 다운로드
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.10.2-linux-x86_64.tar.gz
# 압축 풀기
tar xfz filebeat-7.10.2-linux-x86_64.tar.gz
(3) Sample Test
# 경로 이동
cd filebeat-7.10.2-linux-x86_64/
# 로그 파일(샘플 데이터)을 받을 경로를 생성
mkdir logs
cd logs
# apache_logs(샘플 데이터) 다운로드
wget https://raw.githubusercontent.com/elastic/examples/master/Common%20Data%20Formats/apache_logs/apache_logs
# 현재 경로 확인
pwd
### 결과 복사 : /home/ubuntu/filebeat-7.10.2-linux-x86_64/logs
# 이전 단계로 경로 이동
cd ..
# filebeat 설정하기
vi filebeat.yml
#################
filebeat inputs:
- type: log
enabled: true # (false에서 true로 변경)
...
paths: # path 아래의 경로로 설정
- /home/ubuntu/filebeat-7.10.2-linux-x86_64/logs/apache_logs
...
#output.elasticsearch:
# Array of hosts to connect to.
#hosts: ["localhost:9200"] # 외부 서버로 연결 필요시 변경 ipv4
...
#username: "elastic"
#password: "changeme"
# ------------------------------ Logstash Output -------------------------------
output.logstash:
# The Logstash hosts
hosts: ["localhost:5044"]
(3) beats.conf를 활용해서 logstash 접속
bin/logstash -f beats.conf
(4) 파일비트 잘 연결되었는지 체크
# 권한 설정
chmod 700 filebeat
chmod go-w /home/ubuntu/filebeat-7.10.2-linux-x86_64/filebeat.yml
# 파일비트 실행 (아래 명령어 3번정도 하면 Logstash 콘솔에 출력이 됨)
./filebeat -e
# kibana dev tool에 가서 아래 명령어를 통해 apache.logstash-<yyyy.mm.dd> 파일을 찾고 이름 복사
GET _cat/indices
# 아래 명령어를 통해 입력된 내용 확인
get apache.logstash-2024.05.18/_search
반응형
'Data Engineering > ElasticSearch, Kibana, Logstash' 카테고리의 다른 글
AWS EC2에서 Elastic Search, Kibana 접속하기 (0) | 2024.05.18 |
---|
댓글