전체 글

· 정리/Infra
앞선 두개의 포스팅을 보고 조금 더 좋습니다! [Grafana+Prometheus+Docker] Ubuntu(EC2) 서버 모니터링 (1) [Grafana+Prometheus+Docker] Ubuntu(EC2) 서버 모니터링 (2) Grafana 설치 과정은 위의 포스팅에서 작성했기 때문에 생략하겠습니다. Spring Boot Prometheus 의존성 추가 및 설정 우선 Spring Boot 서버에 Prometheus 의존성을 추가 (Gradle 기준) implementation 'org.springframework.boot:spring-boot-starter-actuator' runtimeOnly 'io.micrometer:micrometer-registry-prometheus' application..
· 정리/Infra
Grafana 설정 초기 ID : admin, 초기 password : admin 으로 로그인 Data Source 설정 우선 Data Source를 가져오기 햄버거 > Connections > DataSources를 클릭 Add new data source 클릭 Prometheus 클릭 Name은 원하는 걸로 설정하고 Prometheus server URL에 {prometheus 컨테이너 이름}:9090 입력 맨 아래의 Save & Test 클릭 시 아래와 같이 뜨면 등록 성공 Dashboard 설정 대시보드를 일일히 설정하기엔 너무 어려우므로 외부 파일을 Import하여 사용 상단 + > Import dashboard 클릭 아래 사이트에서 Download JSON을 통하여 JSON 파일 다운로드 ht..
· 정리/Infra
Node-Exporter 하드웨어의 상태와 커널 관련 메트릭을 수집하는 메트릭 수집기 Prometheus 오픈소스 시스템 모니터링 및 경고 툴킷 Grafana 오픈소스 인터랙티브 데이터 시각화 플랫폼 모니터링 할 메트릭 수집 과정 node exporter가 Ubuntu(EC2)의 상태와 커널 관련 메트릭을 수집하고 HTTP 통신을 통해 매트릭 데이터를 가져갈 수 있게 /metrics 라는 HTTP 엔드포인트를 제공 Prometheus가 node exporter의 엔드포인트로 HTTP GET 요청을 날려 매트릭 정보를 수집 Grafana를 이용해 Prometheus가 수집한 정보를 시각화하여 표시 docker-compose를 이용해 설치 EC2 내부에 docker 관련 파일들을 작성하기 위한 디렉토리 생성..
https://school.programmers.co.kr/learn/courses/30/lessons/150365 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 외부 IDE (like. IntelliJ..) 없이 코테를 보는 기업들을 위해 프로그래머스로 문제를 풀어보기 시작... 🏗️ 설계 DFS를 통해서 풀이를 하려고 하였습니다. 방문한 곳을 또 방문할 수 있는데 어떻게 케이스를 줄여나갈 수 있을까... => 가능하지 않은 케이스들을 백트래킹을 통해서 풀이 => 남은 거리 > 목표 횟수 - 현재 이동 횟수 or (목표 횟수 - 현재 이동 횟수) - 남..
https://www.acmicpc.net/problem/15961 15961번: 회전 초밥 첫 번째 줄에는 회전 초밥 벨트에 놓인 접시의 수 N, 초밥의 가짓수 d, 연속해서 먹는 접시의 수 k, 쿠폰 번호 c가 각각 하나의 빈 칸을 사이에 두고 주어진다. 단, 2 ≤ N ≤ 3,000,000, 2 ≤ d ≤ 3,000, 2 www.acmicpc.net 🏗️ 설계 슬라이딩 윈도우 기법을 활용하여 접시들을 탐색하며 Map에 저장하고, 매 탐색마다 Map의 Size를 갱신하는 방식으로 문제를 풀이하였습니다. 📋 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.ut..
https://www.acmicpc.net/problem/3055 3055번: 탈출 사악한 암흑의 군주 이민혁은 드디어 마법 구슬을 손에 넣었고, 그 능력을 실험해보기 위해 근처의 티떱숲에 홍수를 일으키려고 한다. 이 숲에는 고슴도치가 한 마리 살고 있다. 고슴도치는 제 www.acmicpc.net 🏗️ 설계 각 칸에 물이 도달하는 시간을 저장하는 시간 배열을 BFS를 통해서 작성합니다 이후 고슴도치는 이동할 수 있는 칸을 탐색하여, 최소 시간에 비버의 소굴로 이동할 수 있는 방법을 BFS를 통해 탐색하도록 하였습니다. 📋 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import..
https://www.acmicpc.net/problem/9328 9328번: 열쇠 상근이는 1층 빌딩에 침입해 매우 중요한 문서를 훔쳐오려고 한다. 상근이가 가지고 있는 평면도에는 문서의 위치가 모두 나타나 있다. 빌딩의 문은 모두 잠겨있기 때문에, 문을 열려면 열쇠가 www.acmicpc.net 🏗️ 설계 기본적인 탐색 방법은 BFS를 사용하였습니다. 하지만 Queue만 사용하는 기본적인 BFS와 달리 door들을 저장하는 다른 2차원 리스트를 하나 만들어, 탐색 중 만나는 door들은 이 리스트에 저장해 두고, door를 열 수 있는 key를 보유하고 있을 경우에 door들을 Queue에 넣어주는 방식으로 설계하였습니다. 📋 코드 import java.io.BufferedReader; import ..
https://www.acmicpc.net/problem/5972 5972번: 택배 배송 농부 현서는 농부 찬홍이에게 택배를 배달해줘야 합니다. 그리고 지금, 갈 준비를 하고 있습니다. 평화롭게 가려면 가는 길에 만나는 모든 소들에게 맛있는 여물을 줘야 합니다. 물론 현서는 www.acmicpc.net 🏗️ 설계 입력받은 헛간 사이의 정보를 이용해 다익스트라 알고리즘을 통해서 헛간 사이에 위치한 소들을 최소한으로 만날 수 있는 경로를 탐색하도록 하였습니다. 📋 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class BOJ_5972 ..
개발아기
개발자 지망생의 기록