hmu332233 / tips

https://tips.minung.dev
1 stars 0 forks source link

ELK 설정 config #22

Open hmu332233 opened 3 years ago

hmu332233 commented 3 years ago

개요

filebeat -> logstash -> elasticsearch

filebeat: 파일 서빙 역할 (설치: https://www.elastic.co/guide/en/beats/filebeat/current/setup-repositories.html) logstash: 파일 파싱 역할

filebeat

filebeat:
  inputs:
    - type: log
      paths:
        - /log/example.log
      fields:
        service: example-log
      fields_under_root: true

output:
  logstash:
    hosts: ["0.0.0.0:5044"]

logstash

input {
        beats {
                port => 5044
        }
}
filter {
    if [service] == "example-log" {
        json {
            source => "message"
        }

        date {
            match => ["time", "yyyy-MM-dd'T'HH:mm:ss.SSSZ"]
            target => "@timestamp"
        }
    }
}
output {
        if [service] == "example-log" {
                elasticsearch {
                        hosts => ["http://0.0.0.0:9200"]
            index => ["example-log-%{+YYYY.MM.dd}"]
                    user => "user"
                        password => "password"
        }
        }
}
hmu332233 commented 3 years ago

로그를 생성하는 서버에서는 logrotate를 이용하여 로그를 일정 주기 단위로 자르고, 삭제하는 방식으로 관리를 한다.

logrotate (/etc/logrotate.d)

/log/example.log
{
    daily
    rotate 90
    missingok
    dateext
    dateformat .%Y-%m-%d
    copytruncate
    delaycompress
}