How to Install Elastic Stack(ELK) on RHEL – Logstash

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 설치는 아래 링크를 참고해주시면 됩니다.

How to Install ELK(Elastic Stack) - Logstash

Kibana <- Install


Logstash : 서버 로그, 이벤트 데이터 등 다양한 유형의 로그를 중앙 집중화하여 처리하는 도구이며 데이터 수집, 변환, 저장을 담당하며, 이를 위해 다양한 입력, 필터, 출력 플러그인을 제공합니다. 

** Logstash는 3가지 플러그인을 제공한다고 하였으며 자세하게 알아보겠습니다. ** 

  1. 입력 플러그인(Input Plugins) : 다양한 소스로부터 데이터를 가져오는 역할을 합니다.
    • 예를 들어, 파일, Beats, syslog, HTTP, S3, Kafka 등 다양한 입력 플러그인이 제공됩니다.
  2. 필터 플러그인(Filter Plugins) : 입력 플러그인을 통해 가져온 데이터를 처리하고 변형하는 역할을 합니다.
    • 예를 들어, grok, mutate, drop, clone, geoip 등의 다양한 필터 플러그인을 통해 로그 데이터를 정제하고, 구조화하며, 필요한 정보를 추출하거나 불필요한 정보를 제거할 수 있습니다.
  3. 출력 플러그인(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

ELK -> Add Logstash Repository

/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}"
  }
}
logstash.conf 환경 설정 수정

/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를 시스템 서비스로 설치
  • Logstash Services Start

start, enable, status를 통해서 서비스 활성화 상태 확인해주시면됩니다.

$ sudo systemctl start logstash  
Logstash Services Start

서비스까지 정상적으로 active되면 설정이 완료 됩니다.


Next Step : kibana Insstall

By Low ahn

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다