본문 바로가기
728x90

logstash6

Nginx 로그를 패턴 매칭해서 AWS Elasticsearch에 저장하기 Nginx로그를 Filebeat으로 수집할때 Filebeat에 Nginx Mode가 있어 자동으로 패턴을 분석해줍니다. 하지만 OSS버전의 Filebea로는 잘 적용되지 않았습니다. 그래서 Filebeat로그를 Logstash로 받아 Logstash에서 패턴을 매칭한다음 AWS Elasticsearch에 저장했습니다. 우선 Filebeat 설정을 OSS Logstash에 맞게 변경해줍니다. 아래는 제 filebeat.yml 예시입니다. logging.metrics.enabled: false filebeat.inputs: - type: log enabled: true paths: - '/var/log/nginx/access.log*' fields: server_name: nginx log_type: ngi.. 2021. 10. 15.
AWS Elasticsearch 10MB 제한 AWS Elasticsearch는 인스턴스 유형에 따라 네트워크 제한이 있습니다. https://docs.aws.amazon.com/opensearch-service/latest/developerguide/limits.html 프리티어나 가볍가 사용하려면 10MB 제한 내에서 사용해야되는데 Logstash 기본값은 20MB로 보내기 때문에 데이터가 많아지면 Elasticsearch에 저장이 되지 않습니다. Logstash에서 보내는 용량을 조절하기 위해서는 https://github.com/awslabs/logstash-output-amazon_es 플러그인을 설치하면 보내는 용량을 조절할 수 있습니다. 저는 EC2에 Docker logstash를 설치 했었는데 플러그인 설치과정에서 에러가 발생했습니다... 2021. 9. 26.
Logstash output 분리 Logstash에서 들어오는 데이터를 구분하여 Elasticsearch Index로 분리해서 저장할 수 있습니다. output { if 조건 { ... } else if 조건 { ... } else { ... } 위와 같이 처리할 수 있습니다. 아래는 제가 적용한 logstash.conf의 예시 입니다. input { tcp { port => 5000 codec => json_lines } } output { if [log_type] and [server_name]{ elasticsearch { hosts => ["https://....es.amazonaws.com:443"] ssl => true index => "log-%{[server_name]}-%{[log_type]}-%{+YYYY.MM.dd}".. 2021. 9. 26.
[ELK Stack 로그 수집 4/4] Kibana 로그 확인 이전글 2021.09.10 - [DevOps] - [Spring Boot 로그 수집] AWS Elasticsearch Service 설치 2021.09.10 - [DevOps] - [Spring Boot 로그 수집] Logstash 설치 2021.09.15 - [DevOps] - [Spring Boot 로그 수집] Spring Boot 로그 설정 개요 Spring Boot 어플리케이션에서 발생하는 로그를 AWS Logstash 를 통해서 AWS Elasticsearch에 저장되는 로그를 Kibana를 통해서 확인해 보겠습니다. Kibana 로그인 AWS ES 페이지에서 Kibana 접속 URL을 확인할 수 있습니다. Kibana에 접속하면 Elasticsearch 생성시 작성했던 마스터 계정을 입력하면 .. 2021. 9. 22.
반응형