본문 바로가기
반응형

CloudWatch4

AWS RDS PostgreSQL에서 Slow, Error, DDL 쿼리 발생시 Slack 발송하기 이전 글 에서 RDS에서 Slow Query가 발생했을때 Slack을 발송하는 것을 구현했다. 이번 시간에는 해당 코드를 발전시켜서 Slow, Error, DDL 쿼리들을 각각의 채널에 발송시키도록 Lambda 코드를 개선해보자. 이후에 이 코드는 Serverless 등의 프레임워크로 교체될 예정이다. 1. 구조 가능하면 AWS Lambda는 각각 하나의 기능만 담당하도록 구성하고 싶었다. 하지만 CloudWatach의 로그 스트림에서는 구독 필터를 2개밖에 할당하지 못한다. 즉, Slow, Error, DDL 등 종류별로 Lambda를 만들어서 구독을 시킬 수가 없다. 그래서 하나의 Lambda에서 로그 종류를 구분해서 각각 Slack 채널에 전송하도록 구성해야한다. 물론 하나의 Lambda가 Gate.. 2023. 4. 13.
CloudWatch 이상 지표를 슬랙 알람으로 받기 (feat. SNS, Lambda) AWS 서비스를 이용하면 CloudWatch를 통해 서비스의 이상 지표를 손쉽게 확인할 수 있습니다. 이를테면 다음과 같은 경우인데요. 평소보다 로드밸런서로 들어오는 요청양이 2배이상 높다거나 RDS의 CPU가 60%이상이 된다거나 RDS에 사용중인 Connection이 갑자기 줄어든다거나 등등의 경우입니다. 이때 별도의 알람을 붙여놓지 않는다면 서비스가 죽고 나서야 알게 됩니다. 그래서 위와 같이 이상지표가 발생하면 즉시 Slack 등 메신저를 통해 알람을 받아야만 하는데요. AWS에서는 SNS와 Lambda를 통해 CloudWatch의 이상 지표를 손쉽게 알람을 받을 수 있습니다. 이번 시간에는 CloudWatch와 SNS, Lambda를 활용해 이상 지표 알람 서비스를 만들어보겠습니다. 1. SNS.. 2021. 7. 17.
CloudWatch를 이용한 RDS (PostgreSQL) 스케줄링 시작/종료 운영되는 환경 (live, production, real 등) 외에, 테스트 용도로 사용되는 환경(dev, qa)은 꼭 24시간 무중단으로 서비스를 할 필요가 없습니다. 그래서 실제 업무시간을 제외하고는 해당 서비스를 종료하여 비용을 절감할 필요가 있습니다. (굳이 사용하지 않는 시간대에 비용을 낭비할 필요는 없겠죠?) 그래서 이번 시간의 목표는 다음과 같습니다. CloudWatch Event를 이용하여 매주 월~금 오전 09:00 에 RDS가 재시작 되도록 스케줄링 한다 매주 월~금 오후 08:00 에 RDS가 정지 되도록 스케줄링 한다. 금요일 오후 8시에 종료되고 월요일 오전 9시에 시작이기 때문에 주말 동안은 계속 종료 상태를 유지합니다. 전체 구조는 다음과 같습니다. 자 그럼 바로 시작해보겠습니.. 2021. 5. 11.
PostgreSQL RDS Slow 쿼리 Slack으로 알람 보내기 서비스를 운영하다보면 여러가지 이유로 서버 장애가 발생합니다. 그 중 가장 빈도수가 높은 원인은 DB의 슬로우쿼리일텐데요. 어떤 쿼리가 언제, 얼마나 긴시간동안 수행되었는지에 대해 알람을 받거나 모니터링이 되어야 서비스에 이슈가 될만한 쿼리들을 지속적으로 탐지하고 개선이 가능하기 때문입니다. 이번 시간에는 AWS RDS PostgreSQL에서 슬로우 쿼리에 대한 로그를 남기고 이에 대해 슬랙 알람을 보내도록 설정하는 방법을 진행하겠습니다. 이번 시간에는 PostgreSQL로 진행하지만 MySQL도 DB 파라미터 설정등에 차이가 있지만, 전체 Flow는 거의 흡사하니 참고해서 진행 가능하실것 같습니다. 전체적인 구조는 다음과 같습니다. 한번 이렇게 구성하고 나면 이후에 CloudWatch에 적재된 슬로우 .. 2021. 5. 8.

728x90
반응형