초 단위 스크래핑/수집, 지연 최소화. 대시보드 자동 리프레시.
Metrics / Tracing(옵션)
알림 / SLO
요금: 별도문의
모니터링 (Metrics)
인프라부터 애플리케이션까지 실시간 지표를 수집/보관하고 대시보드와 알림/SLO로 안정적인 운영을 지원합니다. Prometheus(OpenMetrics) · OpenTelemetry · StatsD 연동.
region/az/service/version 등 라벨로 강력한 필터/집계.
시계열/히트맵/히스토그램/상자 수염 등 차트 구성.
여러 채널(이메일/웹훅)과 오류예산 기반 SLO 알림.
수집 대상 & 대표 지표
Prometheus(OpenMetrics), OpenTelemetry, StatsD Gateway 호환카테고리별 지표
| 분류 | 지표 예시 | 설명 | 수집기/에이전트 |
|---|---|---|---|
| 시스템 | node_cpu_seconds_total | CPU 사용 시간(모드별) | node_exporter |
| 시스템 | node_memory_MemAvailable_bytes | 가용 메모리 | node_exporter |
| 스토리지 | node_disk_io_time_seconds_total | 디스크 IO 시간 | node_exporter |
| 네트워크/LB | node_network_receive_bytes_total | 수신 바이트 누적 | node_exporter |
| 네트워크/LB | haproxy_server_http_responses_total | 응답 코드별 건수 | HAProxy exporter |
| 애플리케이션 | http_request_duration_seconds_bucket | HTTP 지연 히스토그램 | Prom client / Otel SDK |
| 데이터베이스 | mysql_global_status_threads_connected | 연결 수 | mysqld exporter |
| 데이터베이스 | pg_stat_activity_count | 활성 세션 수(예) | postgres exporter |
* 지표/수집기 조합은 환경에 맞춰 확장됩니다.
예시: PromQL 쿼리
# CPU 사용률(%)
100 * (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])))
# HTTP p95 지연(sec)
histogram_quantile(0.95,
sum by (le) (rate(http_request_duration_seconds_bucket[5m]))
)
# 오류율(5xx / 전체)
sum(rate(http_requests_total{status=~"5.."}[5m]))
/
sum(rate(http_requests_total[5m]))
예시: Alerting Rule (YAML)
groups:
- name: service.rules
rules:
- alert: HighErrorRate
expr: |
(sum(rate(http_requests_total{status=~"5.."}[5m]))
/ sum(rate(http_requests_total[5m]))) > 0.05
for: 10m
labels: { severity: warning, service: web }
annotations:
summary: "오류율 5% 초과"
desc: "최근 10분 평균 오류율이 5%를 넘겼습니다."
대시보드 구성
개요/헬스 — CPU/메모리/네트워크/디스크 핵심 차트.
서비스/엔드포인트 — RPS, 지연 p50/p95/p99, 에러율.
네트워크/LB — 연결/드롭/코드/백엔드 상태.
DB — 연결/슬로우 쿼리/버퍼/락.
커스텀 — 라벨 기반 템플릿, 변수/시간범위.
공유 — 링크/스냅샷 공유, 접근권한.
임계/주석 — 차트 라인 알림 임계 & 배포 주석.
내보내기 — PNG/CSV/JSON (옵션) 익스포트.
알림 정책 & 오류예산(SLO)
| 항목 | 조건 | 채널 | 비고 |
|---|---|---|---|
| CPU 과다 | 5분 평균 > 90% (10m) | 이메일/웹훅 | 호스트/서비스 라벨 |
| 오류율 상승 | 에러율 > 5% (10m) | 이메일/웹훅 | 가중치/사일런스 |
| 지연 p95 | p95 > 500ms (15m) | 이메일/웹훅 | 엔드포인트 라벨 |
| SLO 초과 | 30일 오류예산 소진률 ≥ 100% | 이메일/웹훅 | 에러버짓 정책 |
SLO 예시
# 월간 가용성 99.9% SLO: 99.9 기간: 30일 오류예산: (1 - 0.999) × 30일 = 43.2분 정책: 소진률 50% 경고, 100% 치명
지표 보관 & 외부 연동
| 보관 티어 | 보관 기간 | 용도 | 외부 연동 |
|---|---|---|---|
| 핫 | 7~30일 | 실시간 대시보드/알림 | Grafana/웹훅 |
| 웜 | 90~180일 | 주간/월간 리포트 | 객체 스토리지 내보내기 |
| 콜드 | 6~24개월 | 감사/컴플라이언스 | CSV/Parquet 배치 |
* 실제 보관기간/형식은 상담 후 확정됩니다.
예시: node_exporter 설치
# Linux useradd -rs /bin/false nodeexp wget https://github.com/prometheus/node_exporter/releases/.../node_exporter-linux-amd64.tar.gz # (버전/경로는 환경에 맞게) tar xzf node_exporter-*.tar.gz && mv node_exporter-*/node_exporter /usr/local/bin/ cat >/etc/systemd/system/node_exporter.service <<'EOF' [Service] User=nodeexp ExecStart=/usr/local/bin/node_exporter [Install] WantedBy=multi-user.target EOF systemctl enable --now node_exporter
예시: OpenTelemetry Collector
receivers:
otlp:
protocols: { http: {}, grpc: {} }
prometheus:
config:
scrape_configs:
- job_name: 'node'
static_configs: [ { targets: ['127.0.0.1:9100'] } ]
exporters:
prometheusremotewrite:
endpoint: https://metrics.example.com/api/v1/write
processors: { batch: {} }
service:
pipelines:
metrics:
receivers: [otlp, prometheus]
processors: [batch]
exporters: [prometheusremotewrite]
요금 안내
요금: 별도문의
활성 시계열 수, 초당 수집 건수, 보관 기간, 알림 채널/웹훅 수, 외부 연동 범위에 따라 산정합니다.
지표로 운영 품질을 끌어올리세요
현재 사용하는 에이전트/대시보드만 알려주시면 호환 여부와 구성 방법을 안내드려요.
모니터링 데모/도입 상담
ℹ️
개인정보 처리 안내
문의 응대를 위해서만 사용되며 일정 기간 후 파기됩니다.