Operation/Monitoring 3

Spring - Sentry 이해하기! (+ 모니터링 개선, Tag 사용하기!)

서비스의 모니터링이 점점 어려워지는 문제가 발생하고 있었다. 가장 큰 문제는 불필요한 에러 Alert이 너무 많다는 것이다.그 결과 신경이 더 많이 사용되고 정말 받아야 하는 Alert이 왔을 때 놓치거나 무신경하게 대응할 수 있게 된다.서비스의 중요도나 위험도, 트래픽 등을 고려했을 때 모니터링 개선이 반드시 필요해서 시간내서 학습하고 적용하게 되었다.SentrySentry는 에러 모니터링 및 성능 모니터링을 제공해주는 도구이다. 주로 에러 트래킹이나 Slack 등을 통한 Alert으로 많이 사용한다.예시를 위해 SpringBoot 3.1.9 버전과 아래 라이브러리를 사용했다.implementation 'io.sentry:sentry-spring-boot-starter-jakarta:7.5.0'yml은..

Pinpoint 이해하기! (+ vs Prometheus)

Pinpoint는 Naver에서 2015년에 오픈소스로 공개한 APM 도구이다. 분산 환경에서 JVM 언어 기반으로 작성된 서버에서 많이 사용한다. APM이란 ? APM이란 Application Performance Management / Application Performance Monitoring의 약자이다. 즉, 애플리케이션의 성능을 관리/모니터링 한다고 보면 된다. APM 도구를 사용하면 서버에서 발생하는 메트릭(CPU, Memory, Thread, Transaction, …), 이벤트, 로그, 트랜잭션 등을 모니터링할 수 있다. 이렇게 분석한 데이터는 아래의 목적을 위해 활용할 수 있다. 성능 문제를 예측하고 방지 고객 기대 성능 보장, 고객 경험 향상 응답 시간 보장 가용성 증대, 다운타임 감..

Apache JMeter란 무엇인가? (+ 사용 방법 with 성능 및 부하 테스트)

Apache JMeter Apache JMeter는 서버가 제공하는 성능 및 부하를 측정할 수 있는 테스트 도구이다. JMeter는 순수 Java 애플리케이션 오픈소스이며 서버나 네트워크 또는 개체에 대해 과부하를 시뮬레이션하여 강도를 테스트하거나 다양한 부하 유형에서 전체 성능을 분석하는 데 사용할 수 있다. 비슷한 부하테스트 도구로는 Apache Benchmark, Ngrinder, Pinpoint, Gatling등이 있다. 다음은 Apache JMeter가 가진 특징을 나열한 것이다. 다양한 프로토콜/서버를 테스트할 수 있다. 웹 - HTTP, HTTPS SOAP / REST 웹 서비스 FTP 데이터베이스 (JDBC 사용) Mail (SMTP, POP3, IMAP) ... CLI 지원 CI 또는 C..