-
[CloudWatch] django log를 Cloudwatch에 기록하는 방법공부/AWS 2023. 5. 28. 13:50
클라우드로 서비스를 하다보면 로그를 확인하거나 관리하면서 오류를 해결해야한다.
이번에는 django로 서비스를 하면서 Cloudwatch에서 로그를 확인 할 수 있도록 하는 방법을 기술하려고 한다.
1. watchtower, boto3 를 install 해야한다. (watchtower)
pip install watchtower pip install boto3
2. 설치 후 AWS에 Cloud watch로 이동해서 로그 그룹 선택 후 로그 그룹 생성을 합니다.
- 로그 그룹 이름은 자유롭게 입력하세요.(저의 경우 test로 기입했다고 생각하고 설명 드리겠습니다.)
- test 로그그룹을 선택 후 로그 스트림 생성에서 원한는 이름 으로 작성(test-log로 생성하였습니다.)
3. watchtower에 생성했던 로그 그룹과 로그 스트림을 입력
boto3_logs_client = boto3.client('logs',region_name='ap-northeast-2') LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'filters': { 'require_debug_false': { '()': 'django.utils.log.RequireDebugFalse', }, 'require_debug_true': { '()': 'django.utils.log.RequireDebugTrue', }, }, 'formatters': { 'aws': { 'format': u'%(asctime)s [%(levelname)-8s] %(funcName)s - %(message)s [%(pathname)s:%(lineno)d] ', 'datefmt': '%Y-%m-%d %H:%M:%S' }, }, 'handlers': { 'watchtower': { 'level': 'DEBUG', 'filters': ['require_debug_true'], 'class': 'watchtower.CloudWatchLogHandler', 'boto3_client': boto3_logs_client, 'log_group': 'test', 'stream_name': 'test-log', 'formatter': 'aws', }, }, 'loggers': { 'django': { 'level': 'INFO', 'handlers': ['watchtower'], 'propagate': False, }, 'django.db.backends': { 'level': 'DEBUG', 'handlers': ['watchtower'], 'propagate': False, }, }, } log = logging.getLogger('django')
- 기존에 작성한 글에서 설명이 돼 있기 때문에 생략하겠습니다. 필요하시면 여기 에서 다시 보시기를 바라겠습니다.
- 실제로 AWS 환경변수는 env에서 사용하고 있습니다.
- 로그를 middleware에서 기록할 수 있도록 하는 부분도 기록 하였습니다. (참고하시면 도움이 될 거 같아요- 링크)
- 이렇게 설정해주면 로그를 이제 AWS에서 확인 할 수 있습니다.
Ref.
AWS CloudWatch에 백엔드 서버 로깅하기 (feat. watchtower)
CloudWatch는 AWS에서 제공하는 모니터링 및 관찰 서비스이다. CloudWatch를 사용하여 서버의 비정상적인 동작을 감지하고 경보를 설정하고 로그와 지표를 시각화하고 자동화된 작업을 수행하고 문제
yongineer.netlify.app
https://github.com/kislyuk/watchtower
GitHub - kislyuk/watchtower: Python CloudWatch Logging: Log Analytics and Application Intelligence
Python CloudWatch Logging: Log Analytics and Application Intelligence - GitHub - kislyuk/watchtower: Python CloudWatch Logging: Log Analytics and Application Intelligence
github.com
https://velog.io/@dnpxm387/TIL167-AWS-CloudWatch
TIL#167 AWS CloudWatch log
aws cloudwatch log
velog.io
- 어떤 문제를 해결하기 위해 검색하고 블로그에 작성한 글입니다. 부족한점이 많지만 틀린점이나 부족한점이 있다면 말씀해주시면 감사하겠습니다.
'공부 > AWS' 카테고리의 다른 글
AWS Session Manager 생성 (0) 2025.01.09 [RDS MariaDB] Error: Too many connections (0) 2024.09.16 EC2 CPU 상승 알림 (SNS + Lambda + CloudWatch) (0) 2024.07.28 [Route53] Route 53에 도메인 등록 과정 및 도메인 취소 요청 (0) 2023.05.28 ALB(https) - ECS Fargate(Nginx - Django) 배포하기 (0) 2023.04.12