PostgreSQL RDS Slow 쿼리 Slack으로 알람 보내기


• AWS RDS PostgreSQL에서 슬로우 쿼리에 대한 로그를 남기고 슬랙 알람을 보내는 방법을 소개한다. 먼저 RDS PostgreSQL의 파라미터 그룹에 접속하여 'log_statement'와 'log_min_duration_statement' 두 개의 파라미터를 변경하고, DB를 재시작하여 적용한다.
• 변경된 파라미터에 따라 지정된 시간 이상 쿼리가 수행되면 로그가 남게 되며, 이를 통해 슬로우 쿼리를 확인할 수 있다. 이후에는 CloudWatch에 적재된 슬로우 쿼리를 ElasticSearch로 보내 대시보드를 통한 슬로우쿼리 모니터링 시스템을 구축할 수 있다.
• 로그를 남기는 설정을 1초 이상으로 설정하여 슬로우 쿼리를 판단하고, 이후에 상황에 따라 Lambda에서 별도의 슬랙 알람 발송 조건을 두는 방법을 제안하였습니다. 이를 통해 ELK나 기타 다른 모니터링 도구에서 상세 분석이 가능하게 됩니다.
• Cloudwatch에서 실시간으로 보내주는 로그를 파싱해서 슬랙으로 보내주는 Lambda 함수를 생성하였습니다. 이 함수는 Cloudwatch의 로그 데이터를 받아서 Base64로 디코딩하고 gzip 압축을 풀어서 JSON 형태로 console에 출력합니다.

북마크
공유하기
신고하기