모니터링
-
logback 초간단 사용법모니터링 2024. 3. 11. 00:01
개요Logback은 Java 커뮤니티에서 가장 널리 사용되는 로깅 프레임워크 중 하나입니다. log4j를 대체하고 있으며 빠른 적용이 가능합니다. Dependencydependencies { implementation("ch.qos.logback:logback-core:1.3.5") implementation("ch.qos.logback:logback-classic:1.3.5") testImplementation("org.slf4j:slf4j-api:2.0.4")}3가지 의존성을 추가해주면 됩니다. Logback Architecture %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n ..
-
Spring Actuator 안전하게 사용하기모니터링 2024. 1. 30. 00:01
개요 Spring Actuator를 더 안전하게 사용하기 위한 방법들을 알아보고자 합니다. Spring Actuator란 무엇인가? # build.gradle 예시 dependencies { implementation 'org.springframework.boot:spring-boot-starter-actuator' } 간단하게 gradle 의존성만 추가해 주면 Spring Application의 모니터링 및 관리 측면에 지원을 주는 라이브러리입니다. JMX, HTTP을 통하여 앱을 모니터링하고, 메트릭을 수집하고, 트래픽이나 데이터베이스의 상태를 파악하는 것이 해당합니다. JMX란? Java Management Extension의 약어로 Java Application을 모니터링하고 관리하기 위해 사용되..
-
Spring Boot + Prometheus + Grafana 로 모니터링 구축모니터링 2024. 1. 25. 00:01
개요 Spring Actuator, Prometheus, Grafana, Thanos 등 개념공부를 해보았으니 이제 직접 모니터링 시스템을 구축해 보도록 하겠습니다. 본 글에서는 Actuator, Prometheus, Grafana에 대해 어느정도 알고 계신다고 가정하고 docker를 활용하여 모니터링 시스템을 구축하겠습니다. Prometheus, Grafana를 직접 설치하는 예제들도 존재하므로 docker를 활용하고 싶지 않은 분들은 다른 분들의 글을 참고하시면 좋을 것 같습니다. 개념공부를 하면 정리했던 글들을 모아보았습니다. 필요하신 분들은 참고하시면 좋을 것 같습니다. Spring Actuator란? 프로메테우스란 무엇인가? Spring Actuator health check 주의사항 내가 만든..
-
Thanos란?모니터링 2024. 1. 20. 00:01
개요 Thanos라는 용어를 듣고 어떤 것인지 개념을 잡아보고자 합니다. Thanos란? Thanos란 여러개의 프로메테우스로부터 메트릭을 조합하여 Thanos에서 전체 프로메테우스의 메트릭을 볼 수 있게 해 주고 수집된 메트릭을 스토리지에 저장합니다. Thanos에 대해 잘 이해하기 위해서는 프로메테우스가 어떤것인지 어느 정도 알고 있어야 합니다. 프로메테우스에 대해서 잘 모르신다면 "프로메테우스란 무엇인가?" 글을 보면 좋을 것 같습니다. 프로메테우스의 문제 프로메테우스는 클러스터링 구조를 지원하지 않아 2가지 문제를 지닙니다. 확장성의 어려움 가용성의 어려움 프로메테우스는 메트릭을 로컬 디스크에 수집하여 보관하기 떄문에 저장소의 용량의 한계에 도달하면 오래된 데이터가 자동으로 삭제되어 일정 시간이 ..
-
Grafana란?모니터링 2024. 1. 19. 00:01
개요 시계열 데이터에 대한 시각화 대시보드를 제공해주는 Grafana에 대해 알아보고자 합니다. Grafana란? Grafana란 시계열 메트릭 데이터를 시각화 하는데 대시보드를 제공해주는 오픈소스입니다. 다양한 DB를 연결하여 DB의 데이터를 가져과 시각화 할 수 있으며, 그래프를 그리는 것도 간단히 마우스 클릭으로 완료할 수 있습니다. 시각화한 그래프에서 특정 수치 이상으로 값이 치솟을 때 알림을 전달받을 수 있는 기능도 제공합니다. 운영 관점에서 굉장히 유용한 기능입니다. 또한 일반 사용자들이 만들어놓은 대시보드를 import 해서 사용할 수 있고 그 대시보드를 커스터마이징 할 수 있습니다. Grafana의 playground를 통해 Grafana가 무엇인지 맛보기를 확인해보아도 좋을 것 같습니다...
-
ELK란 무엇인가?모니터링 2024. 1. 13. 00:01
ELK란? ELK란 분석 및 저장을 담당하는 Elasticsearch, 수집을 담당하는 Logstatsh, 시각화하는 도구인 Kibana의 앞글자를 따서 ELK라고 부릅니다. 애플리케이션의 로그 집계 및 인프라 모니터링 시각화를 수행할 수 있도록 도와줍니다. 비정형 또는 반정형 데이터를 다룰 때 데이터에서 인사이트를 얻을 수 있도록 도와줍니다. Elasticsearch란? Elasticsearch는 검색 및 분석을 위한 엔진입니다. 대량의 데이터를 빠르고 효율적으로 저장하고 검색할 수 있도록 설계되었습니다. 빠르게 데이터를 검색, 필터링, 분석할 수 있는 대규모 데이터베이스라고 상상하면 좋습니다. Logstash로 받은 데이터를 저장했다가 검색할 수 있습니다. Logstash란? Logstash는 데이터..
-
내가 만든 ThreadPool 모니터링 하기모니터링 2023. 11. 17. 00:01
개요 내가 만든 ThreadPool 모니터링하기 의존성 및 yml 설정 dependencies { implementation("org.springframework.boot:spring-boot-starter-actuator") implementation("io.micrometer:micrometer-core") } actuator를 통한 모니터링과 custom metric을 등록하기 위해 micrometer 의존성을 추가합니다. application.yml management: health: db: enabled: false redis: enabled: false endpoints: web: exposure: include: metrics,health Spring Boot Actuator Metrics ..
-
Spring Actuator health check 주의사항모니터링 2023. 8. 14. 00:01
개요 Spring Actuator의 health check를 유의 깊게 살펴보지 않으면 발생할 수 있는 장애를 재현해 보며 이를 분석하고 해결하는 과정을 공유하고자 합니다. Spring Actuator란? Spring Boot 애플리케이션의 운영 정보와 모니터링을 제공하는 라이브러리입니다. Actuator를 사용하면 애플리케이션의 상태 정보를 쉽게 확인할 수 있으며, 실행 중인 애플리케이션의 로그, 메모리 사용량, HTTP 요청 수 등의 정보를 수집할 수 있습니다. Actuator의 애플리케이션의 상태 정보를 쉽게 확인할 수 있는 기능중 하나로 health check를 제공합니다. Health Check란? health check란 서버의 상태를 주기적으로 확인하여 서버가 살아있는지(정상 동작) 판단하는..