전체 글

개발자 이우진의 기술 블로그입니다
상황 Actuactor -> Promethus -> Grafana 구조를 구현하려고 한다 자바 백엔드 서버는 로컬 서버 loacalhot:3000에서 실행하고 있다 Prometheus는 docker 인스턴스 :9090 포트로 띄우고 있다 Grafana도 docker 인스턴스 :80 포트로 띄우고 있다 아래 블로그 글을 참고했으나 버전이 바뀌어 맞지 않는 부분이 있다 https://hudi.blog/spring-boot-actuator-prometheus-grafana-set-up/ 그래서 Grafana에서 대시보드를 띄워도 "No Data" 에러가 발생한다. Application도 읽지 못 한다 해결법 prometheus.yml scrape_configs: - job_name: 'prometheus' s..
https://hudi.blog/spring-boot-actuator-prometheus-grafana-set-up/ Spring Boot Actuator, Prometheus, Grafana를 사용한 스프링부트 모니터링 환경 구축 이 포스팅에서는 Spring Actuator, Prometheus, Grafana를 사용하여 스프링부트 애플리케이션과 관련된 여러 메트릭을 수집하고, 시각화하여 모니터링할 수 있는 환경을 구축한다. 이 글에서는 각각의 컨 hudi.blog
해결법 application.yml # Spring Actuator management: env: enabled: true # /info에 포함할 정보 자유롭게 작성 info: contact: email: support@example.com phone: 000-0000-0000 management.env.enabled = true로 설정해 주면 된다 'Spring in Action 5판'에는 관련된 내용이 없는 것으로 보아 책이 출간된 이후 변경된 내용인 것 같다 출처 Spring Boot - Actuator 공식 문서
Spring Boot https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/ Spring Boot Reference Documentation This section goes into more detail about how you should use Spring Boot. It covers topics such as build systems, auto-configuration, and how to run your applications. We also cover some Spring Boot best practices. Although there is nothing particularly spe docs.spring.io Spring B..
HTTP(Hypertext Transfer Protocol)는 웹 서버와 클라이언트 간의 통신을 위한 프로토콜이다. 서버가 클라이언트의 요청에 응답하는 과정에서 발생하는 여러 상황을 나타내기 위해 HTTP 상태 코드가 사용된다. 상태 코드는 RFC 9110에 정의되어 있다. 1xx: 정보 1xx 시리즈의 상태 코드는 요청이 수신되었으며 처리가 진행 중임을 나타낸다. 주로 클라이언트에 추가 정보를 제공하거나 요청을 계속 진행할 것인지 여부를 알려준다. 100 (Continue): 클라이언트가 요청을 계속할 수 있음을 나타낸다. 101 (Switching Protocols): 서버가 업그레이드 요청을 수락하고 프로토콜을 변경할 것임을 나타낸다. 2xx: 성공 2xx 시리즈의 상태 코드는 클라이언트의 요청이 ..
TL;DR GET http://api.example.com/v1/store/employees/{emp-id} POST http://api.example.com/v1/store/employees 동사 대신 리소스를 나타내는 명사 사용 항상 URI가 동사를 사용하는 대신 리소스를 지정하는 명사로 명명되었는지 확인해야 한다. URI는 어떤 CRUD(Create, Read, Update, Delete) 작업도 나타내지 않아야 한다. CRUD는 HTTP Method(GET, POST...)로 표현한다. 또한 동사-명사 조합 (하이픈, 스네이크 케이스, 카멜 케이스)을 피해야 한다. 나쁜 예: http://api.example.com/v1/store/CreateItems/{item-id}❌ http://api.ex..
의미 REpresentational State Transfer Application Programming Interface Representational: 표현형. 리소스가 JSON, XML처럼 특정 형식의 표현을 가지고 있다는 개념 State Transfer: 상태 전달 Stateless Protocol: REST가 상태를 관리하지 않고, 클라이언트와 서버 간의 통신이 상태를 전송하고 유지하지 않는다 이전 요청과 상태를 공유하지 않는다 서버는 클라이언트의 정보를 저장하지 않는다 그래서 클라이언트의 요청이 자체적인 상태 정보를 포함하고 있어야 한다. 서버에 필요한 모든 정보를 포함하여. 이는 시스템의 확장성과 견고성을 향싱시킨다. 서버의 부하를 분산하고, 클라이언트가 장애를 겪거나 재시작될 때 시스템의 ..
시스템 분석 설계란? 시스템 분석 설계는 조직 내에서 정보 시스템을 개발하고 개선하는 과정이다. 시스템 분석 시스템이 어떤 기능을 수행해야 하는지를 자세히 이해하고 명세로 나타내는 것 시스템 설계 정보 시스템이 어떻게 구현되어야 하는지를 자세히 나타내는 과정 팀 단위로 개발하는 조직과 프로세스를 연구하는 학문이다. 탄생 배경 개발된 소프트웨어가 의도한 것과 다른 동작을 하거나, 사용자의 요구사항과 달라서 프로젝트가 실패하는 일이 발생했기 때문이다. 이로 인한 손실(비용)을 줄이기 위해 소프트웨어 공학이 발전하게 되었다. 주요 단계 1. 요구 분석 (Requirements Analysis) 시스템 분석 및 설계의 시작은 요구 분석이다. 이 과정에서는 아래와 같은 활동이 진행된다. 요구사항 수집: 사용자와 ..