ELK – Logstash Rocky Linux 9.x Version Install.
HOST : Mac OS 14.x
VMware : Fusion Software
Linux OS : Rocky Linux 9.x Version
ELK – Elasticsearch 설치는 아래 링크를 참고해주시면 됩니다.
Kibana <- Install
Logstash : 서버 로그, 이벤트 데이터 등 다양한 유형의 로그를 중앙 집중화하여 처리하는 도구이며 데이터 수집, 변환, 저장을 담당하며, 이를 위해 다양한 입력, 필터, 출력 플러그인을 제공합니다.
** Logstash는 3가지 플러그인을 제공한다고 하였으며 자세하게 알아보겠습니다. **
- 입력 플러그인(Input Plugins) : 다양한 소스로부터 데이터를 가져오는 역할을 합니다.
- 예를 들어, 파일, Beats, syslog, HTTP, S3, Kafka 등 다양한 입력 플러그인이 제공됩니다.
- 필터 플러그인(Filter Plugins) : 입력 플러그인을 통해 가져온 데이터를 처리하고 변형하는 역할을 합니다.
- 예를 들어, grok, mutate, drop, clone, geoip 등의 다양한 필터 플러그인을 통해 로그 데이터를 정제하고, 구조화하며, 필요한 정보를 추출하거나 불필요한 정보를 제거할 수 있습니다.
- 출력 플러그인(Output Plugins) : 처리된 데이터를 다양한 목적지로 전송하는 역할을 합니다. Elasticsearch, file, stdout, email, S3, Kafka 등 다양한 출력 플러그인이 제공되며, 이를 통해 데이터를 저장하거나 다른 시스템으로 전송할 수 있습니다.
Step 1 : Install Logstash on Rokcy Linux
- Add Logstash Repository
/etc/yum.repos.d/elasticsearch.repo 경로에 추가합니다.
$ sudo vi /etc/yum.repos.d/elasticsearch.repo
[elasticsearch]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md
/etc/logstash/conf.d/logstash.conf 플러그인 3가지 설명 드렸던 내용 처럼 예시로 간단하게 구성했습니다.
etc/logstash/conf.d/logstash.conf설정파일의 구성은 환경에 맞춰서 작성해주시면 됩니다.
$ sudo vi /etc/logstash/conf.d/logstash.conf
input {
beats {
port => 5044
host => "0.0.0.0"
}
}
output {
elasticsearch {
hosts => "localhost:9200"
index => "%{[@metadata][beat]}-%{[@metadata][version]}-%+YYYY.MM.dd}"
}
}
/var/log/syslog 파일로부터 로그를 수집하고, grok 필터를 사용해 로그 메시지를 파싱한 후, 처리된 데이터를 localhost의Elasticsearch 인스턴스로 전송
input {
file {
path => "/var/log/syslog"
start_position => "beginning"
}
}
filter {
grok {
match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
}
}
- Logstash를 시스템 서비스로 설치
$ cd /usr/share/logstash/bin
$ sudo ./system-install
- Logstash Services Start
start, enable, status를 통해서 서비스 활성화 상태 확인해주시면됩니다.
$ sudo systemctl start logstash
서비스까지 정상적으로 active되면 설정이 완료 됩니다.
Next Step : kibana Insstall