본문 바로가기

전체 글50

[Prometheus - Grafana] - 5 그라파나(Grafana)란? 그라파나(Grafana)란?Grafana는 다양한 데이터 소스로부터 데이터를 추출해서 시각화하고 모니터링하는 오픈소스 대시보드 도구입니다. 주로 시계열 데이터와 로그 데이터를 다루는데, 데이터 소스로는 Prometheus, Elasticsearch, InfluxDB, Graphite 등이 있습니다. 그라파나(Grafana)의 특징1) 대시보드의 유연성그라파나는 대시보드 구성 옵션을 제공하여 사용자가 원하는 형태의 대시보드를 구성할 수 있습니다. 대시보드 내의 각 패널에 대해서도 많은 조정 옵션이 있어 사용자가 원하는 시각화 방식으로 데이터를 표현할 수 있습니다. 2) 시계열 데이터 처리 능력그라파나는 주로 시계열 데이터를 다루는데 특화되어 있습니다. 이를 위해 시계열 데이터에 대한 다양한 처리 기능을 제.. 2025. 4. 19.
[Prometheus - Grafana] - 7 Node-exporter 실습 Node-Exporter란Node Exporter는 Prometheus에서 서버(노드)의 시스템 수준 메트릭을 수집하기 위해 사용하는 대표적인 Exporter입니다.Linux 서버의 CPU, 메모리, 디스크, 네트워크 등 운영 체제 자원에 대한 상태 정보를 수집하고, Prometheus가 이를 pull 방식으로 수집할 수 있도록 HTTP로 노출합니다. Node-exporter 설치 리소스 데이터를 수집할 대상호스트에서 아래과정을 진행합니다.설치전 아래 명령어로 혹시나 9100포트를 사용중인지 체크합니다.ss -tulnp | grep 9100서버의 로컬환경에서 직접설치합니다.yum install wget# 압축 파일 다운로드# 압축 파일 해제# 압축 파일 삭제# node_exporter 설치된 디렉토리로.. 2025. 4. 19.
[Prometheus - Grafana] - 4 프로메테우스 설치(docker) prometheus YAML파일 작성Prometheus를 docker-compose로 설치,관리합니다.Docker-compose의 yaml코드를 작성하기 전에, 먼저 prometheus config 파일을 작성해야 합니다.global: #작성 안할 시 기본값 60s scrape_interval: 10s evaluation_interval: 10s scrape_timeout: 5sscrape_configs: - job_name: 'prometheus' static_configs: - targets: ['prometheus:9090'] #포트번호는 도커 내부포트번호(외부노출 포트X) 해당 설정파일은 이후에 prometheus 컨테이너로 마운트 해야합니다.또한 모니터링 지.. 2025. 4. 19.
[Prometheus - Grafana] - 3 프로메테우스 메트릭과 라벨 Prometheus MetricPrometheus 에서 메트릭을 수집하는 방법은 대표적으로 크게 2가지가 있습니다. import io.micrometer.core.instrument.MeterRegistry;import org.springframework.stereotype.Service;@Servicepublic class SampleService { private final MeterRegistry meterRegistry; public SampleService(MeterRegistry meterRegistry) { this.meterRegistry = meterRegistry; } public void doSomething() { meterRegistr.. 2025. 4. 19.
[Prometheus - Grafana] - 2 프로메테우스의 데이터 수집방식 데이터 수집방식 모니터링 시스템에선 다양한 데이터 수집방식이 있으며, 프로메테우스의 데이터 수집방식이 어떤 이점을 갖는지 알아봅니다. 1) 파일을 사용한 수집어플리케이션에서는 로그를 파일로만 남깁니다. 어플리케이션과는 별도로 파일로부터 수집해서 전송하는 프로세스를 만들어서 전송하는 방식입니다.장점어플리케이션과 로그 수집기가 관심사의 분리(SoC)가 된다. 아키텍처 상으로 역할과 동작이 구분되므로 유연성이 높아진다.컨테이너 환경을 이용해서 어플리케이션과 수집기의 리소스를 분리하면, 수집기 때문에 어플리케이션에 부하를 주지 않는다.단점어플리케이션, 로그 수집기를 별도로 관리해야 한다.어플리케이션은 정상인데, 로그 수집기의 이상으로 어플리케이션의 이상으로 판단될 수도 있다. 2) Network를 이용한 Pus.. 2025. 4. 19.
[Prometheus - Grafana] - 1 프로메테우스란? 프로메테우스(Prometheus)란?프로메테우스(Prometheus) 는 메트릭 수집, 시각화, 알림, 서비스 디스커버리 기능을 모두 제공하는 오픈 소스 모니터링 시스템입니다. 특히, 컨테이너화된 어플리케이션, 마이크로서비스, 클라우드 인프라에서의 모니터링에 적합하며, 강력한 쿼리 기능을 통해 데이터를 유연하게 분석할 수 있습니다. 프로메테우스(Prometheus) 의 특징프로메테우스는 다양한 환경에서 메트릭 시계열 데이터를 저장한다.자체 매트릭 스토리지가 존재하여 설치와 운영이 간편하다.CNCF(Cloud Native Computing Foundation)의 대표적인 오픈소스 모니터링 도구컨테이너화된 애플리케이션, 마이크로서비스, 클라우드 인프라에서의 모니터링에 적합하다.강력한 쿼리 기능을 통한 데이.. 2025. 4. 19.
[알고리즘] 병든 나이트 문제 링크 병든 나이트 : https://www.acmicpc.net/problem/1783 문제탐색기본 원리 탐색체스에서의 나이트의 기본 이동반경을 4가지로만 제한하여 모든경우의 수 중 최대값을 구하는 문제입니다.문제를 이해하고 풀이법을 찾아가는 과정이 중요합니다. 시간복잡도와 알고리즘시간제한 : 2초약 2억번의 연산이 가능하다고 가정합니다.N,M의 크기 : 20억 시간복잡도가 O(n) 인 알고리즘 조차도 20억을 넘어가며 시간초과가 나게 됩니다. 즉 구현은 물론이며 반복을 한번이라도 사용할수 없는 문제이므로 해당 문제는 수학적인 수식으로 해결할 수 있는문제라고 판단할 수 있습니다. => 규칙을 찾고 수식으로 해결하는 그리디 해결법을 사용합니다. 코드설계하기N과  M의 값을 입력받습니다.아래 규칙에 따.. 2025. 4. 12.
[알고리즘] 쇠막대기 문제 링크 문제명 : https://www.acmicpc.net/problem/10799 문제탐색기본 원리 탐색입력된 문자열을 순차적으로 처리하면서 정답을 도출해 내야합니다. 시간복잡도와 알고리즘시간제한 : 1초약 1억번의 연산이 가능하다고 가정합니다.문자열 최대수 : 10만시간복잡도가 O(n²) 인 알고리즘은 약 100억회의 연산이 필요하므로 시간복잡도를 초과하게 됩니다.2중첩이상의 for문은 불가합니다. => stack을 활용하여 한번의 for문으로 "구현" 합니다. 코드설계하기라인을 입력받습니다.아래 규칙에따라 반복문을통해 문자열을 순회합니다.( 다음항목이바로 ) 일경우 레이저로 판단레이저가 아닌경우 ( 이 나오면 리스트에 값 1 하나 추가하며 정답에 +1만약 레이저로 판단될시, 리스트의 길이만큼 .. 2025. 4. 8.