• Link to Facebook
  • Link to LinkedIn
  • Link to X
  • Link to Youtube
  • 로그인
  • 회원가입
  •  한글 한글 한글 ko
  • English English 영어 en
OPENMARU APM
  • 오픈마루
    • 회사소개
    • 연혁
    • 오픈마루 CI
  • 제품
    • Cloud APM
      • Application 모니터링
      • Openshift & Kubernetes 모니터링
      • WEB/WAS 모니터링
      • URL 모니터링
      • Cubrid 모니터링
    • Cluster
    • Dashboard
    • COP
    • CogentAI
    • iAP
    • Observability
  • 오픈소스
    • 쿠버네티스
    • 아파치 톰캣
    • CentOS
  • 레드햇
    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat JBoss EAP
  • 견적 문의
    • 견적문의
    • 가격 안내
  • 기술 지원
  • 조달물품
    • G2B 딜 등록
    • 조달물품 OPENMARU APM
    • 조달물품 OPENMARU Cluster
    • 조달물품 OPENMARU iAP
    • 혁신장터
    • 찾아가는 클라우드 네이티브 세미나
  • 레퍼런스
  • 문서
  • 블로그
    • 오픈마루
    • 구매 관련
    • 기술 지원
    • 트러블 슈팅
    • White Paper
    • Youtube
  • Click to open the search input field Click to open the search input field Search
  • Menu Menu

분산 추적으로 WAS 병목 찾기 — trace 따라 장애 좁히는 실무 절차

WAS가 느릴 때 span tree의 self time과 하위 호출을 구분해 병목 위치를 좁히고, trace_id로 메트릭·로그로 건너뛰어 원인을 확정하는 분산 추적 실무 절차를 안내합니다.

분산 추적 WAS 병목

트레이스는 무엇을 답하고 무엇을 답하지 못하는가


분산 추적의 핵심 산출물은 span 이다. span 은 특정 작업의 시작과 끝, 그리고 그 작업에 딸린 메타데이터(attributes)를 담는다. 여러 span 이 trace_id 로 묶이면 하나의 요청이 어떤 경로를 거쳤는지, 각 구간에서 얼마나 소비했는지 그림이 그려진다.

CPU·메모리·인스턴스·DB 커넥션을 증설했을 때 잔여 장애율이 얼마나 줄어드는지 비교하고, 증설로 해결되지 않는 이유를 정리한 도식

그림 1. 리소스를 늘려도 장애가 남는다 — 어디가 느린지 모르면 증설은 추측이다.

트레이스가 명확히 답하는 것은 세 가지다.

첫째, 요청의 전체 경로(end-to-end path)다. 클라이언트가 WAS를 거쳐 데이터베이스를 호출하고, 외부 API를 거치는 전 과정에서 각 span 이 어떤 순서로, 얼마나 오래 걸렸는지 연결된다. Trace ID 하나로 모든 span 을 하나의 흐름으로 재구성할 수 있다.

둘째, span 의 자기 시간(self time)과 하위 호출 대기 시간을 구분할 수 있다. span duration 은 시작부터 끝까지의 총 시간이지만, 그 안에 자식 span 의 시간이 포함되어 있다. self time = span duration − Σ(자식 span duration) 이다. 즉, span 이 실제로 자신의 코드를 실행한 시간이다. 하위 호출에 보낸 대기 시간은 self time 에 포함되지 않는다.

예를 들어 HTTP 요청 span 의 duration 이 500ms이고, 그 아래 DB span 이 450ms라면 WAS의 self time 은 50ms다. 병목은 DB에 있다. 반면 DB span 이 10ms라면 WAS의 self time 은 490ms다. 병목은 WAS 내부(스레드 대기, GC, CPU 바운트 등)에 있다.

셋째, span kind(클라이언트·서버·내부·프로듀서·컨슈머)로 호출 방향을 파악할 수 있다. Client span과 Server span의 쌍을 통해 호출 그래프를 재구성하고, Producer/Consumer span으로 비동기 큐 기반 호출도 추적한다.

그러나 트레이스가 답하지 못하는 것도 분명하다. ‘왜’ 느린지다. span 은 ‘무엇이’ 얼마나 걸렸는지는 알려주지만, ‘왜’ 그런지는 알려주지 않는다. GC Pause의 원인, SQL의 실행 계획, 메모리 부족 여부 등은 span 만으로는 알 수 없다. 메트릭(CPU, 메모리, GC 횟수)과 로그(GC 로그, 쿼리 로그)가 필요하다.

이것이 바로 APM이 단순한 로그 수집기와 다른 지점이다. APM은 span 트리를 제공해 병목의 ‘위치’를 좁혀주고, 이후 메트릭과 로그로 ‘원인’을 확인하는 연결고리가 된다.

span 트리를 읽는 법 — 자기 시간(self time) vs 하위 호출 대기


span 트리를 읽을 때 가장 흔히 하는 실수는 span duration 을 그대로 병목의 원인으로 오해하는 것이다. duration 은 자식 span 의 시간을 포함한 총 시간이므로, 실제 WAS 코드가 소비한 시간(self time)과 구별해야 한다.

브라우저에서 웹서버, WAS, 데이터베이스까지 이어지는 4개 span 과 구간별 지연 시간을 나란히 보여주는 엔드투엔드 트레이스 도식

그림 2. 한 요청을 구간별로 갈라 보면 범인이 드러난다 — 총 820ms 중 DB 가 570ms.

self time 계산은 간단해 보이지만, 실제 span 트리가 깊어질수록 주의가 필요하다. 자식 span 이 여러 개일 때, 모든 자식 span 의 duration 을 합쳐야 한다. 병렬로 실행되는 자식 span 들의 경우, 각 span 의 duration 이 겹칠 수 있으므로 단순히 합산하면 실제 WAS 시간이 왜곡될 수 있다. 대부분의 APM 도구(OPENMARU APM 포함)는 span tree를 시각화할 때 자식 span 의 겹치는 시간을 차감한 self time을 함께 표시한다.

self time이 긴 span 은 WAS 내부에 병목이 있음을 의미한다. 반대로 self time이 짧고 자식 span duration이 긴 span 은 외부 시스템(DB, 캐시, 외부 API)에 병목이 있다.

WAS 병목의 전형 5종과 span 서명


WAS 병목은 크게 다섯 가지 유형으로 분류할 수 있다. 각 유형은 span에 고유한 서명(signature)을 남기며, 이 서명을 식별하는 것이 장애 분석의 첫걸음이다.

장애 원인 분포에서 WAS 런타임과 애플리케이션 코드가 약 80퍼센트를 차지함을 보이고, GC 지연·스레드 고갈·커넥션 풀 대기·락 경합·N+1 쿼리 다섯 가지 병목을 정리한 도식

그림 3. 장애의 80%는 WAS·애플리케이션 계층에서 난다 — 그 안의 단골 다섯이 이것이다.

1. 스레드 풀 고갈

모든 요청 span이 동일한 서버 span에서 대기 시간이 증가한다. span duration이 급증하지만 자식 span은 없다. span attributes에 thread_pool_active_threads가 pool_max에 근접한 값을 보인다. Span Kind는 Server다.

스레드 풀 고갈의 특징은 모든 요청이 동시에 영향을 받는다는 점이다. 단일 요청의 trace만 보면 “갑자기 왜?”라고 생각할 수 있지만, 여러 trace를 비교하면 공통점이 보인다. 모두 동일한 WAS 인스턴스의 span에서 대기 시간이 길어진다.

오판 포인트: 스레드 풀 고갈은 span duration이 길어지지만, 그 원인이 네트워크 지연이나 DB 응답이 아니라는 점이다. 자식 span이 짧으면서도 부모 span의 duration이 긴 경우, WAS 내부에서 스레드가 풀을 기다리고 있을 가능성이 크다.

2. 커넥션 풀 대기

데이터베이스 또는 외부 API 호출 span(긴 duration을 가진 하위 span)이 부모 span 내에서 대기한다. span attributes에 db.system 또는 http.url이 존재하고, span duration의 대부분이 실제 쿼리 실행이 아닌 커넥션 획득 대기 시간이다.

커넥션 풀 대기의 핵심 서명은 “span duration은 길지만, 실제 DB query span(sub-span)은 매우 짧다”는 점이다. 커넥션 풀에서 커넥션을 얻기까지 대기하는 시간이 span duration에 포함되지만, 실제 쿼리 실행 자체는 순식간에 끝난다.

오판 포인트: span duration이 길다고 해서 항상 네트워크 지연이라고 착각할 수 있다. 커넥션 풀 대기에서는 span의 start-to-end가 길지만, 실제 db query span(sub-span)은 매우 짧다. 이 차이를 구별하려면 DB span의 self time을 확인해야 한다.

3. GC Pause

span 자체에는 직접 나타나지 않는다. span duration이 불규칙하게 튀는 현상으로 감지된다. GC Pause 동안 WAS 스레드가 멈추므로 span이 진행되지 않는다. span tree에서 특정 span이 예상보다 훨씬 오래 걸릴 때 GC Pause를 의심한다.

GC Pause의 가장 큰 특징은 span에 직접적인 흔적이 없다는 점이다. GC가 발생하면 JVM 전체 스레드가 멈추므로, 그 순간 진행 중이던 span의 duration이 비정상적으로 길어진다. 하지만 그 span의 attributes에는 GC 관련 정보가 없으므로, span만으로 GC Pause를 확인하는 것은 불가능하다.

오판 포인트: GC Pause는 span 이벤트로 직접 기록되지 않으므로, span duration의 이상 증가만 보고 외부 API 지연으로 오인하기 쉽다. GC Pause를 확인하려면 해당 시간대의 GC 관련 메트릭(JVM heap 사용량, GC 횟수, GC pause time)을 반드시 함께 봐야 한다.

4. 외부 API 지연

outgoing HTTP span(Client SpanKind)이 긴 duration을 보인다. span attributes에 http.method, http.url, http.status_code가 있고, span duration이 외부 서비스 응답 시간과 일치한다.

외부 API 지연의 특징은 span attributes에 외부 서비스의 URL이 명시되어 있다는 점이다. Client span의 http.url을 보면 어느 외부 서비스인지 즉시 파악할 수 있다.

오판 포인트: 외부 API span이 길지만 WAS 내부에서 그 원인을 알 수 없다. 외부 서비스의 문제가 span에만 반영될 뿐, WAS 측에서 원인 파악이 불가능하다. 이 경우 WAS 코드 수정으로 해결할 수 없는 문제이며, 외부 서비스 측에 장애 조치를 요청하거나 타임아웃/회로 브레이커 설정으로 대응해야 한다.

5. N+1 쿼리

단일 HTTP 요청 span 아래에 동일한 패턴의 DB span이 반복적으로 나타난다. 예를 들어 ‘GET /users’ span 아래에 100개의 ‘SELECT * FROM orders WHERE user_id=?’ span이 병렬 또는 순차적으로 생성된다. span의 attributes에 db.statement이 유사하고 parent_span_id가 동일하다.

N+1 쿼리의 서명은 “구조”다. 개별 DB span의 duration은 각각 짧으므로, 전체 span duration이 크지 않으면 N+1을 발견하기 어렵다. span tree의 구조를 살펴봐야 한다. 동일한 패턴의 DB span이 수십~수백 개가 동일한 parent span 아래에 반복되면 N+1 쿼리다.

오판 포인트: 개별 DB span은 각각 짧으므로, 전체 span duration이 크지 않으면 N+1을 발견하기 어렵다. span tree의 구조를 살펴봐야 하며, DB span의 수를 세는 것이 중요하다.

OPENMARU APM은 span tree 시각화에서 동일한 패턴의 span이 반복되는 경우 이를 자동으로 감지해 경고한다.

trace_id로 메트릭·로그로 건너뛰어 원인을 확정하는 순서


span은 병목의 ‘위치’만 알려준다. ‘원인’을 확인하려면 trace_id를 사용해 메트릭과 로그 시스템으로 건너뛰어야 한다. 이 과정은 다음과 같은 순서로 진행한다.

계측·수집·상관·분석·알림 다섯 단계로 이어지는 관측성 파이프라인과 각 단계에서 다루는 트레이스·메트릭·로그 데이터를 보여주는 도식

그림 4. 세 축을 잇는 것은 3단계 Correlate 다 — 여기서 trace_id 가 접착제로 쓰인다.

1단계: span에서 병목 위치를 식별한다.

먼저 span tree를 읽어서 self time이 긴 span, 또는 자식 span duration이 긴 span을 찾는다. 앞서 설명한 5종의 서명을 대조해 병목 유형을 좁힌다.

2단계: trace_id로 해당 시간대의 메트릭을 조회한다.

해당 span이 발생한 호스트·컨테이너의 CPU, 메모리, GC 메트릭을 trace 시간 창에서 조회한다. Prometheus나 Grafana에서 span의 service_name과 trace_id가 겹치는 시간대를 필터링하면, 해당 시점의 시스템 상태를 확인할 수 있다.

스레드 풀 고갈이 의심되면 해당 시간대의 WAS 스레드 풀 사용량 메트릭을 확인한다. 커넥션 풀 대기가 의심되면 커넥션 풀 활성·유휴 카운트를 확인한다. GC Pause가 의심되면 JVM heap 사용량과 GC 횟수·pause time 메트릭을 확인한다.

3단계: trace_id로 해당 서비스의 로그를 필터링한다.

해당 span의 service_name과 trace_id로 로그 시스템을 필터링한다. Elasticsearch나 LOKI에서 trace_id를 검색하면 해당 요청과 관련된 모든 로그를 한눈에 볼 수 있다.

DB span이 의심되면 slow query log를 확인한다. WAS span이 의심되면 GC 로그, 스레드 덤프, 커넥션 풀 로그를 확인한다. 외부 API 지연이 의심되면 WAS의 HTTP 클라이언트 로그를 확인해 응답 코드와 지연 시간을 확인한다.

4단계: 메트릭과 로그의 교차 검증으로 원인을 확정한다.

메트릭과 로그에서 span에서 추정한 병목 유형과 일치하는 증거를 찾는다. 만약 span에서는 외부 API 지연으로 보였지만, 메트릭에서는 WAS의 CPU가 정상이고 GC도 정상이라면, 실제로는 외부 서비스의 문제일 가능성이 높다. 반대로 span에서는 별다른 이상이 없어 보였지만 메트릭에서 GC pause가 빈번했다면, GC Pause가 병목이었을 가능성이 크다.

이 교차 검증 과정이 분산 추적의 진정한 가치다. span만으로 결론 내리지 않고, 메트릭과 로그로 원인을 확정하는 것이 올바른 장애 분석 절차다.

샘플링 때문에 정작 느린 요청이 안 잡히는 문제


분산 추적 시스템을 도입하고 나서도 여전히 장애 분석이 안 되는 경우가 있다. 그 이유는 샘플링이다.

head sampling은 trace가 시작될 때 확률로 샘플링한다. 1% sampling을 사용하면 100개 요청 중 1개만 trace를 남기고, 나머지 99개는 완전히 무시된다. 빠르고 간단하지만, ‘느린 요청’이나 ‘에러가 있는 요청’을 놓칠 수 있다. 특히 1초 이상 걸리는 요청이 sampling 밖으로 빠지면 장애 분석이 불가능해진다.

tail sampling은 trace가 끝난 후에 ‘지연 시간이 임계값을 넘었는가’, ‘에러가 있었는가’ 등을 기준으로 샘플링한다. 느린 요청을 놓치지 않지만, 구현이 복잡하고 Collector에 stateful tail sampling processor가 필요하며, 높은 트래픽에서 메모리·CPU 부하가 크다.

head sampling을 쓰고 있는데 tail sampling으로 넘어가야 하는 판단 기준은 세 가지다.

첫째, 느린 요청 trace가 아예 없다. 대시보드에서 1초 이상 걸리는 요청이 한 건도 trace로 남지 않는다면, sampling 확률이 너무 낮다는 뜻이다.

둘째, sporadic한 지연이 trace에 전혀 포착되지 않는다. 가끔씩 발생하는 지연이 trace에 전혀 나타나지 않아, “왜 가끔씩 느려질까”라는 질문을 답하지 못하는 경우다.

셋째, APM 대시보드에서 ‘sampled avg latency’와 ‘실제 avg latency’ 차이가 10배 이상 나는 경우. sampled latency는 샘플링된 요청의 평균 지연 시간이고, 실제 avg latency는 전체 요청의 평균 지연 시간이다. 이 차이가 크다는 것은 샘플링된 요청이 전체 분포를 대표하지 못한다는 뜻이다.

tail sampling으로 넘어가면 느린 요청과 에러가 있는 요청은 반드시 trace로 남게 된다. 다만 Collector의 부하가 증가하므로, 샘플링 임계값을 적절히 설정하고 자주 발생하는 패턴(예: 200 OK + 100ms 미만)은 샘플링에서 제외하는 등의 최적화가 필요하다.

MSA 환경에서 trace가 제공하는 추가 가치


MSA 환경에서는 trace의 가치가 더 커진다. 하나의 HTTP 요청이 수십 개의 서비스를 거치므로, trace 없이 각 서비스의 로그만 보면 ‘어느 서비스에서 문제가 시작되었는지’를 연결할 수 없다.

MSA에서 흔한 패턴 중 하나가 cascade failure(연쇄 장애)다. 한 서비스의 지연이 상위 서비스의 span duration에 연쇄적으로 반영된다. trace를 보면 지연의 시작점을 찾을 수 있지만, ‘누가 먼저 느려졌는지’를 span의 start_time만으로 판단하면 오류일 수 있다. 네트워크 레이턴시가 span duration에 포함되므로, 실제 서비스 지연과 네트워크 지연을 분리해야 한다.

또 다른 패턴이 fan-out이다. 하나의 요청이 여러 하위 서비스로 병렬 분기한다. trace 상에서 여러 Client span이 동일한 parent span 아래에서 병렬로 실행된다. fan-out이 많을수록 parent span duration은 longest(child)에 가까워지므로, 개별 span duration이 짧아도 전체 요청은 느릴 수 있다.

MSA에서 trace_id로 문제 확산을 추적할 때는 span attributes에 service.name, deployment.environment 등을 기록해, 특정 버전·환경에서만 발생하는 병목을 trace 수준에서 필터링할 수 있다.

FAQ


Q. span duration이 길다고 해서 항상 병목인가요?

아닙니다. span duration은 자식 span의 시간을 포함한 총 시간이므로, 자식 span이 정상적으로 오래 걸린 것일 수 있습니다. 병목 여부를 판단하려면 self time을 확인해야 합니다. self time이 길 때만 WAS 내부에 병목이 있습니다.

Q. GC Pause를 span만으로 확인할 수 있나요?

확인할 수 없습니다. GC Pause는 span에 직접적인 흔적을 남기지 않습니다. span duration이 불규칙하게 튀는 현상으로 의심할 수 있지만, 반드시 JVM GC 관련 메트릭(heap 사용량, GC 횟수, pause time)을 교차 검증해야 합니다.

Q. head sampling과 tail sampling 중 무엇을 써야 하나요?

트래픽이 적고 지연이 드문 환경에서는 head sampling으로 충분합니다. 지연이 빈번하거나 느린 요청이 장애로 이어지는 환경에서는 tail sampling이 필요합니다. head sampling을 쓰고 있는데 느린 요청 trace가 아예 없거나, sampled latency와 실제 latency 차이가 10배 이상 나면 tail sampling으로 넘어가는 시점입니다.

Q. trace_id가 없으면 로그에서 특정 요청을 추적할 수 없나요?

trace_id가 없으면 로그만으로는 특정 요청의 전체 경로를 재구성하기 어렵습니다. 각 서비스의 로그를 시간순으로 나열해볼 수는 있지만, 여러 서비스를 거치는 MSA 환경에서는 정확한 연결고리를 만들기 힘듭니다. trace_id는 분산 추적의 핵심 식별자로, 메트릭·로그·trace를 연결하는 접착제입니다.

Q. N+1 쿼리는 span에서 어떻게 발견하나요?

단일 HTTP 요청 span 아래에 동일한 패턴의 DB span이 반복적으로 나타나는지 구조를 살펴봐야 합니다. 개별 DB span의 duration은 각각 짧으므로, 전체 span duration이 크지 않아도 N+1일 수 있습니다. DB span의 수를 세고, parent_span_id가 동일한지, db.statement이 유사한지 확인하면 N+1 쿼리를 발견할 수 있습니다.

문의


OPENMARU Observability 는 분산 추적·메트릭·로그를 한 화면에서 잇습니다. span 트리 시각화와 trace_id 기반 교차 조회로 WAS 장애의 원인 구간을 좁힙니다.

  • OPENMARU Observability — 분산 추적·메트릭·로그 통합 제품 소개
  • WEB/WAS 모니터링 — WAS 구간을 span 단위로 보는 기능
  • 도입 문의·견적 — PoC·도입 상담

참고 리소스


분산 추적 공식 문서

  • OpenTelemetry Traces 개념 — Span 구조, Span Kind, Attributes, Events, Links, Span Status를 정의하는 공식 사양. span 서명의 근간을 이해하려면 필수 읽기
  • OpenTelemetry Sampling — Head Sampling, Tail Sampling, Probabilistic Sampling, Tail Sampling Processor를 설명. 샘플링 전략 선택의 기준이 되는 문서

함께 읽으면 좋은 글

  • APM과 옵저버빌리티의 차이 — APM이 옵저버빌리티의 어떤 층위에 해당하는지, 메트릭·로그·trace의 관계 — 분산 추적의 위치를 이해하려면 필수
  • APM 핵심 지표 읽는 법 — span duration, self time, error rate를 함께 보는 방법 — span 트리를 읽는 실무 팁
  • WAS 성능 튜닝(JVM 힙·GC·스레드 풀·커넥션 풀) — span에서 병목 유형을 식별한 뒤, 실제 WAS를 튜닝하는 방법 — 원인 확인 후 실행 단계
  • WAS와 웹서버의 차이 — WAS와 웹서버의 역할 구분 — 분산 추적에서 Client/Server span을 올바르게 해석하려면 기초 지식
  • Tomcat vs 상용 WAS — Tomcat과 상용 WAS의 아키텍처 차이 — span attributes에 기록되는 service 정보의 맥락을 이해하는 데 도움
  • 국내 WAS 시장 지형 — 국내 WAS 시장의 현황과 도입 트렌드 — 분산 추적 도입을 고민하는 팀의 배경 지식
  • 프롬프트로 WAS 장애 분석(데모) — AI 에이전트로 WAS 장애 분석을 자동화하는 데모 — span 분석 이후의 다음 단계
  • Agentic AI란 무엇인가 — Agentic AI의 개념과 적용 — APM AI 에이전트의 기반 기술 이해
  • RAG란 무엇인가 — RAG의 구조와 활용 — AI 기반 장애 분석에서 RAG가 span 데이터를 어떻게 활용하는지
  • 12 Factor App — 클라우드 네이티브 앱의 12가지 원칙 — 분산 추적 설계의 아키텍처 철학

불변의 인프라스트럭처

불변의 인프라스트럭처 ( Immutable Infrastructure) – 쿠버네티스 기본 개념 이해

2021-09-07/카테고리: Kubernetes/작성자: OM marketing
자세히 보기
https://www.openmaru.io/wp-content/uploads/2021/09/불변의-인프라스트럭처_facebook-banner.png 627 1200 OM marketing https://www.openmaru.io/wp-content/uploads/2020/11/logo@2x.png OM marketing2021-09-07 22:49:342026-07-27 14:47:44불변의 인프라스트럭처 ( Immutable Infrastructure) – 쿠버네티스 기본 개념 이해
컨테이너 기술의 발전과 역사

컨테이너 기술의 역사와 발전

2021-09-07/카테고리: Kubernetes/작성자: OM marketing
자세히 보기
https://www.openmaru.io/wp-content/uploads/2021/09/컨테이너-기술의-발전과-역사_facebook-banner-1.png 627 1200 OM marketing https://www.openmaru.io/wp-content/uploads/2020/11/logo@2x.png OM marketing2021-09-07 13:47:262026-07-27 14:47:53컨테이너 기술의 역사와 발전
구글 은 왜 쿠버네티스 를 오픈소스로 공개했나오픈마루

구글은 왜 쿠버네티스를 오픈소스로 공개했나?

2021-09-07/카테고리: Kubernetes/작성자: OM marketing
자세히 보기
https://www.openmaru.io/wp-content/uploads/2021/09/구글은-왜-쿠버네티스를-오픈소스로-공개했나_facebook-banner.png 627 1200 OM marketing https://www.openmaru.io/wp-content/uploads/2020/11/logo@2x.png OM marketing2021-09-07 10:50:512026-07-27 14:48:02구글은 왜 쿠버네티스를 오픈소스로 공개했나?
Page 142 of 171«‹140141142143144›»

Recent Posts

  • 분산 추적 WAS 병목 찾기 — span 따라 장애 좁히는 실무 절차 2026-08-17
  • AI Native News | 지능은 Agentic AI, 인프라는 쿠버네티스 — 전환의 두 축 2026-08-13
  • 장애 원인 분석 — APM으로 근본 원인 찾는 3단계 2026-08-10
  • AI Native News | AI 운영의 출발점, 인프라 기본기부터 제대로 2026-08-06
  • WAS 성능 튜닝 — JVM 힙·GC·스레드 풀·커넥션 풀 기준값 2026-08-06

Categories

  • APM
  • Blog
  • blog-price
  • blog-support
  • blog-trouble-shooting
  • blog-whitepaper
  • Cloud
  • Cloud Native Seminar
  • Cluster
  • gift
  • iAP
  • JBoss
  • Kubernetes
    • Container
  • Linux
  • Microservices Architecture
  • News
  • Newsletter
  • OPENMARU
    • Dashboard
  • OpenShift
  • Red Hat
  • Seminar
    • gift
  • Tech Talk
  • Youtube
  • 기술백서
  • 미분류
  • 발표자료
  • 분류되지 않음
  • 솔루션소개
    • OPENMARU Observability
  • 오픈나루 공지사항
  • 오픈소스

이메일로 블로그 구독하기

이 블로그를 구독하고 이메일로 새글의 알림을 받으려면 이메일 주소를 입력하세요

태그

AI AIOps APM cloud Cloud Native CloudNative Container DevOps Docker jboss JBoss EAP Kubernetes linux LLM MSA Native Observability OPENMARU OPENMARU APM OpenShift RAG Red Hat redhat RHEL tomcat WAS 가상화 네이티브 도커 레드햇 리눅스 마이크로서비스 모니터링 애플리케이션 오픈마루 오픈마루 APM 오픈시프트 인공지능 주간 컨테이너 쿠버네티스 클라우드 클라우드 네이티브 클라우드네이티브 클라우드 네이티브 세미나

Search

Search Search

오픈마루

04778 서울시 성동구 뚝섬로1길 31 906 호
(성수동1가, 서울숲M타워)

Tel : 02-469-5426 | Fax : 02-469-7247
Email : sales@openmaru.io

  • OPENMARU CLOUD APM
    • Application 모니터링
    • Openshift & Kubernetes 모니터링
    • WEB/WAS 모니터링
    • URL 모니터링
    • Cubrid 모니터링
  • Cluster
  • Dashboard
  • COP
  • CogentAI
  • iAP
  • Observability

  • 가격안내
  • 고객 레퍼런스
  • 고객지원
    • 문서
    • 사용자가이드
    • 기술지원
  • 블로그
    • 오픈마루
    • 구매 관련
    • 기술 지원
    • 트러블 슈팅
  • 이용약관
  • 개인정보처리방침
  • 서비스수준협약
  • 회사소개

Copyright © OPENMARU, Inc. All Rights Reserved. - powered by Enfold WordPress Theme
  • Link to Facebook
  • Link to LinkedIn
  • Link to X
  • Link to Youtube
Link to: AI Native News | 지능은 Agentic AI, 인프라는 쿠버네티스 — 전환의 두 축 Link to: AI Native News | 지능은 Agentic AI, 인프라는 쿠버네티스 — 전환의 두 축 AI Native News | 지능은 Agentic AI, 인프라는 쿠버네티스 — 전환의...AI Native News
Scroll to top Scroll to top Scroll to top
  • 한글
  • English