728x90 aws opensearch5 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 Elsticsearch Nginx 로그 수집 Elasitc Filebeat으부터 Nignx의 로그를 AWS Elasticsearch로 수집할 수 있습니다. AWS Elasticsearch는 filebeat의 oss버전을 설치해야 합니다. 이는 AWS와 Elastic의 라이센스 문제로 AWS는 일반버전을 지원하지 않습니다. filebeat 설치 $curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-oss-7.10.2-x86_64.rpm $rpm -vi filebeat-oss-7.10.2-x86_64.rpml /etc/filebeat/filebeat.yml filebeat.inputs: - type: log enabled: true paths: - '/var/log/ngi.. 2021. 10. 15. AWS Elasticsearch Index 자동삭제로 용량 관리 Elasticsearch 로그수집중 오래된 로그는 자동으로 Kibana 설정을 통해서 삭제할 수 있습니다. Kibana 'Index Management'로 이동합니다. 'State management policies'메뉴에서 'Create policy'로 정책을 생성합니다. Policy ID를 입력합니다. 'Define policy'는 15일 지난 Index에 대해서 삭제하라는 내용입니다. { "policy": { "description": "delete old indexes", "default_state": "hot", "states": [ { "name": "hot", "actions": [], "transitions": [ { "state_name": "delete", "conditions": { .. 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. 이전 1 2 다음 반응형