반응형

 

  • ELK 로그 수집을 위한 filebeat 설치

ELK에서 로그를 수집하기 위해 filebeat을 에이전트 노드에 설치해야 합니다.

* ELK 서버에 filebaet을 설치하지 않고 ELK서버가 로그를 수집하기 위한 대상 서버들에게 설치합니다.

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.6.2-x86_64.rpm
rpm -vi filebeat-6.6.2-x86_64.rpm
systemctl start filebeat
systemctl enable filebeat

 

  • filebeat 로그 수집 설정 방법-1

위의 커맨드를 입력하여 설치 이후 filebeat modules list 를 입력하면 활성화된 모듈과, 비활성화된 모듈을 확인할 수 있습니다.

[root@test ~]# filebeat modules list
Enabled:

Disabled:
apache2
auditd
elasticsearch
haproxy
icinga
iis
kafka
kibana
logstash
mongodb
mysql
nginx
osquery
postgresql
redis
suricata
system
traefik

 

확인 하였다면 아래와 같이 filebeat modules enable apache2 를 입력하여 apache2 모듈을 활성화 시킨 후 filebeat modules list를 입력하고 재대로 활성화 되었는지 확인 합니다.

[root@test ~]# filebeat modules enable apache2
Enabled apache2
[root@test ~]# filebeat modules list
Enabled:
apache2

Disabled:
auditd
elasticsearch
haproxy
icinga
iis
kafka
kibana
logstash
mongodb
mysql
nginx
osquery
postgresql
redis
suricata
system
traefik

 

활성화된것까지 확인 했다면 filebeat setup -e 를 입력하면 초기 환경이 셋팅되는데 elasaticsearch와 커넥션이 맺어지질 않아 마지막에 에러를 발생 시키니 무시 합니다. 이후 vi 편집기를 이용해 /etc/filebeat/modules.d/apache2.yml를 연 뒤 아래 코드를 입력 해줍니다.

- module: apache2
  # Access logs
  access:
    enabled: true
    input:
      fields:
        server_name: test-web
        log_type: apache2_access
    var.paths: ["/var/log/httpd/access_log"]

    # Set custom paths for the log files. If left empty,
    # Filebeat will choose the paths depending on your OS.
    #var.paths:

  # Error logs
  error:
    enabled: true
    input:
      fields:
        server_name: test-web
        log_type: apache2_error
    var.paths: ["/var/log/httpd/error_log"]

    # Set custom paths for the log files. If left empty,
    # Filebeat will choose the paths depending on your OS.
    #var.paths:

 

  • filebeat 로그 수집 설정-2

vi 편집기로 /etc/filebeat/filebeat.yml 파일을 열은 후 아래를 참고하여 수집할 로그의 경로와 정보를 작성 합니다. fields의 server_name과 log_type은 이후 kibana에서 해당 키워드들을 이용하여 로그를 검색하거나 할 때 사용하므로 임의로 설정하시면 됩니다.

이 방법으로 설정할 시 위의 apache module은 필요 없으므로 filebeat modules disable apache2를 이용해 비활성화 시켜주시면 됩니다.

 

  • filebeat 마무리 설정

ELK 서버에게 전송할 로그들의 경로를 맞춰주고 server_name과 log_type을 이용해 kibana쪽에서 필터링을 할 수 있다고 하니 임의로 작성해 줍니다. 아파치 모듈 설정은 끝났으므로 vi 편집기로 /etc/filebeat/filebeat.yml 파일을 열고 filebeat 설정 파일을 수정 합니다.

초기 설정은 아래 이미지와 같이 되어 있는데, 변경할 부분은 빨간색 체크박스를 참고하여 로그 경로에 맞게 변경 하시면 됩니다.

초기 설정
초기 설정

 

변경 후 설정
변경 후 설정

마지막 Logstash output에 적힌 ELK-Server-IP는 ELK 서버의 IP를 작성 해주시면 됩니다. (ex. hosts: ["10.10.10.10:5044"])

이제 filebeat 서비스를 재시작하여 변경한 config들을 적용시켜주면 filebeat 설정은 끝납니다.

systemctl restart filebeat

 

반응형

+ Recent posts