MySQL 모니터링 시스템 개발
개요
회사에서 MySQL 모니터링 할 일이 있어 Lambda를 이용하여 모니터링 스크립트를 적용해 두었다.
하지만 간단한 기능만 있고 좀더 다양한 기능을 만들어 보고 싶어 혼자 만들어 볼려고 한다.
`Percona`, `mysql_exporter`등 다양한 기능의 좋은 솔루션들이 있지만 기능이 너무 많아 접근성이 어렵고 일단 영어다..
그외에도 유료, 무료 다양한 APM이 있지만 소규모의 회사에서 복잡한 설정 없이 다운로드만 하여 사용 할 수 있는 프로그램을 만드는 것을 목표로 하겠다!!
개발 영역
- 사용자 페이지 또는 스크립트
- 모니터링 Agent
기능
- 알람 발송 기능 - 채널: Slack, telegram, Mail
- DB 접속 상태 모니터링
- DB 접속자 임계치 모니터링
- DB 접속자 증가율 모니터링
- Slow 쿼리 모니터링
- 등록되지 않은 IP 접근 시도 모니터링
- 중복 쿼리 모니터링
- 테이블 락 모니터링
- 쿼리 타입별 증가율 모니터링
- 쿼리 타입별 통계 기반 증가율 모니터링 # 별도의 저장소 필요 (저번주 보다 10% 사용량 증가 하였습니다..)
- 네트워크 사용량 증가율 모니터링
- Replication 상태 모니터링
참고 링크
- https://runebook.dev/ko/docs/mariadb/server-status-variables/index