2013-01-17 11 views
1

여러 인스턴스에서 액세스 할 수있는 장치에 uWSGI ("/var/log/uwsgi/uwsgi.log")와 같은 응용 프로그램의 로그를 저장하고 해당 로그를 해당 특정 로그에 저장할 수 있습니다. 장치를 자신의 인스턴스 이름 인 dir로 만듭니다.AWS EC2 인스턴스 응용 프로그램 로그

그래서 AWS는 어떤 것을 할 수있는 솔루션 ....

답변

1

두 가지 옵션 내가 사용했습니다 제공하지 : 중앙 위치에 로그인 할 수

  • 를 사용하여 시스템 로그 (또는 시스템 로그-NG)를 . 우리는 AWS 로그 데이터를 오프 사이트로 데이터 센터에 제공하기 위해이 작업을 수행합니다. Syslog-NG는 일반 ole 'syslog보다 더 신뢰할 수 있으며 MongoDB를 지원 저장소로 사용할 수 있습니다.

  • logrotate를 사용하여 로그를 S3으로 푸시하십시오. 그것은 시스템 로그 솔루션과 같은 실시간은 아니지만, 당신이 인스턴스를 많이 가지고 있고 VPC

LogglySplunk Storm를 사용하지 않을 또한이 흥미 특히, 설정하고 관리하기 위해 많은 쉽게 이 문제를 해결하기위한 SaaS 제품

2

여기에서 취할 수있는 여러 가지 방법이 있습니다. 파일 시스템에 직접 작성하는 것과 같은 경험을 원한다면 s3fs과 같은 것을 사용하여 각 인스턴스에 공통 S3 버킷을 마운트 할 수 있습니다. 솔직히 대용량 애플리케이션에서 그러한 설정의 성능에 대해 우려 할지라도, 이것은 실시간 로그 병합을 다소간 줄 것입니다.

일정한 간격으로 로그를 처리하여 데이터를 일반 상점에 푸시 할 수 있습니다. 이것은 실시간이 아니지만 매우 간단한 해결책 일 것입니다. 여기서 문제는 시간 순서대로 정렬해야 할 경우 다른 서버의 로그 항목을 인터리브하는 것이 어려울 수 있다는 것입니다.

개인적으로 모든 액세스 로그, 오류 로그 등을 기록하는 각각의 인스턴스 클러스터에 대해 Graylog 서버를 설정했습니다. UDP 기반이므로 방화벽이 응용 프로그램 서버의 입장에서 잊어 버렸습니다. . 좋은 검색/쿼리 도구도 제공합니다. 개인적으로이 접근 방식은 응용 프로그램 서버에서 로그 관리를 완전히 제거하므로 좋습니다.

관련 문제