ABAP

Cloud ALM 써봤어요? — BTP 운영 모니터링 핵심 #shorts #SAP #ABAP

▶ YouTube에서 보기

개요 및 운영 가시성 확보 체크포인트

SAP Cloud ALM은 SAP BTP 및 RISE with SAP 환경에서 운영 단계의 가시성을 한 곳으로 모으는 클라우드 네이티브 관리 도구입니다. 온프레미스 시대의 Solution Manager가 담당하던 모니터링·이벤트 관리·작업 추적을 재설계하여, 다중 테넌트 BTP 서비스와 S/4HANA Cloud, 그리고 SaaS 형태의 외부 시스템까지 묶어 관찰할 수 있도록 구성되어 있습니다. 이 글에서는 운영팀이 실제로 가장 먼저 만나는 세 가지 축, 즉 Health Monitoring, Job Monitoring, Alert Notification Service 연동을 중심으로 설계 의도와 적용 패턴을 정리합니다.

  • BTP 서비스 상태를 가시화하는 Health Monitoring 구성 요소 이해
  • 예약 작업의 실패 패턴과 임계값 트리거 설계
  • Alert Notification Service(ANS)로 이메일·메신저 채널 라우팅
  • 운영 SLA를 데이터로 추적하기 위한 메트릭 모델
  • 장애 대응 시 자주 빠지는 함정과 회피 전략

읽기 전 알아두면 좋은 배경

SAP BTP의 Cloud Foundry 또는 Kyma 환경에서 서비스 인스턴스를 구독해 본 경험이 있으면 흐름을 따라가기 수월합니다. 또한 OAuth2 Client Credentials 흐름과 REST API 호출 방식, 그리고 webhook 기반 이벤트 수신 개념에 익숙하면 ANS 연동 부분이 자연스럽게 읽힙니다. ABAP 운영 측면에서는 SM37, SM21 같은 트랜잭션의 잡 로그·시스템 로그 개념을 떠올리면 Cloud ALM의 데이터 모델이 어떤 문제를 해결하려는지 직관적으로 이해할 수 있습니다.

환경과 준비물

이 글의 예시는 일반적으로 다음 조합을 가정합니다. 실제 화면이나 API 응답 스키마는 SAP의 정기 릴리스에 따라 조금씩 변경될 수 있으므로, 운영 적용 전에는 사용 중인 테넌트의 릴리스 노트를 확인하는 것이 권장됩니다.

  • SAP Cloud ALM for Operations 2026년 상반기 릴리스 기준
  • SAP BTP, Cloud Foundry runtime (Multi-Environment)
  • SAP Alert Notification Service for SAP BTP (Standard 또는 Premium 플랜)
  • 관리자 역할: CloudALMAdmin, AlertNotificationAdmin 컬렉션
  • HTTP 호출 도구: curl 또는 Postman, 인증은 OAuth2 Client Credentials
  • 선택 사항: 로그 적재용 SAP Cloud Logging, 메시지 라우팅용 Slack/Teams Incoming Webhook

SaaS 특성상 별도 서버 설치는 필요하지 않지만, 모니터링 대상 시스템마다 Managed System 등록과 인증 정보 매핑이 선행되어야 합니다. 등록 후 첫 메트릭이 수집되기까지 일반적으로 수 분에서 한 시간 이내가 소요됩니다.

핵심 개념 정리

SAP Cloud ALM은 크게 ImplementationOperations 두 영역으로 나뉘는데, 운영팀이 매일 접하는 영역은 후자입니다. Operations 영역은 다시 Health Monitoring, Business Service Monitoring, Integration & Exception Monitoring, Job & Automation Monitoring, Real User Monitoring 등으로 세분화됩니다. 이 글에서 다루는 세 가지는 그중에서도 가장 진입 빈도가 높은 축입니다.

비유하자면 BTP는 도시이고, Cloud ALM은 도시 전체를 내려다보는 관제탑입니다. Health Monitoring이 신호등의 색을 보여주는 보드라면, Job Monitoring은 도로 위 차량의 운행 기록이며, Alert Notification Service는 사고가 났을 때 울리는 사이렌과 무전기 역할을 합니다. 세 가지가 따로 노출되는 것 같지만 내부적으로는 동일한 이벤트 버스(Event Bus)에 연결되어 있어, 한 곳에서 발생한 변화가 다른 영역의 KPI에도 즉시 반영됩니다.

또 하나 중요한 개념은 임계값(threshold)상태 전이(state transition)입니다. 단순히 "실패 1건 발생 시 알림"이 아니라, "최근 15분 윈도우에서 실패 비율이 5% 초과될 때 YELLOW로 전이, 10% 초과 시 RED로 승격"처럼 시간 윈도우와 비율을 함께 다룹니다. 이 모델 덕분에 일시적 네트워크 흔들림으로 발생하는 단발성 실패가 야간에 운영자를 깨우는 일을 줄일 수 있습니다.

상태 색상 체계는 GREEN, YELLOW, RED 3단계가 기본이며, 일부 시나리오에서는 사용자 정의 색상(GRAY: 데이터 부족, BLUE: 점검 중)을 함께 사용합니다. 색상은 단순한 시각 표시가 아니라 알림 라우팅 규칙의 입력값이 되므로, 처음 설계할 때 의미를 명확히 합의해 두는 것이 좋습니다.

실전 적용 1단계 — Health Monitoring 데이터 모델

Health Monitoring은 BTP 서비스 가용성·응답시간·에러율을 시계열 데이터로 수집해 대시보드로 보여줍니다. 각 서비스는 하나 이상의 Service Component로 분해되며, 컴포넌트별로 KPI가 정의됩니다. 가장 기본이 되는 응답 구조는 다음과 같이 단순합니다.

{
  "serviceName": "SAP Integration Suite",
  "status": "GREEN",
  "availability": 99.95,
  "responseTime": 320,
  "measuredAt": "2026-06-06T08:15:00Z",
  "window": "PT15M"
}

status 필드는 위에서 설명한 색상 전이 결과를 담습니다. availability는 보통 백분율이며, SLA 기준선과 비교해 위반 임박 구간을 시각화합니다. responseTime은 P95 또는 P99 응답시간을 밀리초 단위로 기록하는 경우가 많습니다. window 필드는 ISO 8601 기간 표기로, 어떤 시간 윈도우에서 측정한 값인지 명시합니다. 같은 서비스라도 PT5M(5분) 윈도우와 PT1H(1시간) 윈도우 결과가 다르므로, 대시보드 패널마다 일관된 윈도우를 적용하는 것이 권장됩니다.

실전 적용 2단계 — Job Monitoring으로 예약 작업 추적

운영에서 가장 사고가 잦은 영역이 바로 야간 배치 작업입니다. Job Monitoring은 BTP Job Scheduling Service, S/4HANA Cloud의 백그라운드 작업, Integration Suite의 Scheduled iFlow 등 이질적인 잡 시스템을 통합 뷰로 제공합니다. 실패 횟수가 임계값을 넘으면 알림을 트리거하는 것이 표준 패턴입니다.

{
  "jobName": "Daily_Sync_Job",
  "status": "FAILED",
  "failCount": 3,
  "threshold": 2,
  "lastRunAt": "2026-06-06T02:30:00Z",
  "nextRunAt": "2026-06-07T02:30:00Z",
  "owner": "ops-team@company.com",
  "errorClass": "TIMEOUT"
}

여기서 눈여겨볼 지점은 errorClass 필드입니다. 단순한 FAILED 상태만으로는 운영자가 무엇부터 봐야 할지 알 수 없으므로, TIMEOUT/AUTH/DEPENDENCY/DATA와 같이 카테고리를 분류해 두면 트리아지 속도가 빨라집니다. threshold는 보통 슬라이딩 윈도우 기준 실패 횟수이며, 이를 초과한 시점부터 알림이 발사됩니다.

실무에서는 잡의 중요도에 따라 임계값을 다르게 잡습니다. 예를 들어 매출 정산 잡은 1회 실패에도 즉시 RED를 띄우지만, 캐시 워밍업 잡은 3회 연속 실패까지 YELLOW로만 처리하는 식입니다. 이 분류 작업은 SRE 관점의 SLI/SLO 설계와 직접 연결됩니다.

실전 적용 3단계 — Alert Notification Service 라우팅

마지막 단계는 수집된 상태 변화를 사람에게 도달시키는 일입니다. SAP Alert Notification Service(ANS)는 이벤트 소비자(Subscriber) 모델을 따르며, 채널별 구독 설정을 통해 이메일, Slack, Microsoft Teams, PagerDuty, OpsGenie, Webhook 등을 연결합니다. 기본 구독 JSON은 다음과 같은 모양입니다.

{
  "channel": "email",
  "recipient": "ops-team@company.com",
  "triggerOn": ["RED_STATUS", "JOB_FAIL"],
  "severity": "HIGH",
  "filter": {
    "service": ["SAP Integration Suite", "SAP Build Process Automation"],
    "tag": ["prod"]
  },
  "throttle": {
    "windowMinutes": 10,
    "maxEvents": 5
  }
}

throttle 설정은 알림 폭주를 막는 안전장치입니다. 운영팀이 가장 자주 겪는 사고는 장애 자체보다 "동일 이벤트가 200건씩 슬랙 채널을 도배하는 상황"이며, 윈도우당 최대 이벤트 수를 제한해 두는 것이 권장됩니다. filter를 통해 prod 태그만 받도록 하면 dev/test 환경의 노이즈가 운영 채널로 흘러드는 것을 막을 수 있습니다.

인증 측면에서는 ANS의 Producer API에 이벤트를 보낼 때 OAuth2 Client Credentials 토큰을 받아 Bearer 헤더로 전달하는 흐름이 일반적입니다. 토큰 만료 시간이 짧으므로, 호출 측에 토큰 캐시와 갱신 로직을 두는 것이 안정적입니다. 보안 관점에서는 Webhook 채널을 사용할 때 수신측 서명 검증(HMAC)을 활성화하는 것이 권장됩니다.

자주 마주치는 함정과 해결 방법

Q1. 메트릭이 들어오지 않습니다. 어디부터 봐야 할까요?

대부분 Managed System 등록 단계의 인증 만료 또는 권한 누락입니다. 등록 후 첫 동기화가 실패하면 수집 자체가 시작되지 않으므로, Cloud ALM의 Configuration 영역에서 시스템 상태를 먼저 확인하는 것이 좋습니다. BTP Destination이 만료된 클라이언트 시크릿을 쓰고 있는 경우가 의외로 잦습니다.

Q2. 알림이 너무 자주 와서 무뎌집니다.

이른바 alert fatigue 현상입니다. throttle 설정뿐 아니라 임계값 자체를 재검토해야 합니다. 일반적으로 처음에는 보수적으로 설정하고 2주간의 실데이터를 본 뒤 P95 기준으로 조정합니다. 동일 이벤트가 단시간에 다수 발생하면 같은 사건으로 묶는 deduplication 키를 정의하는 것이 권장됩니다.

Q3. Job Monitoring에서 상태가 UNKNOWN으로 머무릅니다.

잡 시스템이 최근 N분간 heartbeat를 보내지 않을 때 발생합니다. 해당 잡이 정말 멈춘 것인지, 단순히 메트릭 전송만 끊긴 것인지 구분이 필요합니다. UNKNOWN을 일정 시간 이상 지속하면 RED로 승격하도록 별도 규칙을 두면 사일런트 장애를 줄일 수 있습니다.

Q4. 색상이 GREEN인데 사용자는 느리다고 합니다.

측정 윈도우와 사용자 체감 사이의 간극입니다. PT1H 윈도우 평균 응답시간은 빠른데 P99는 느린 경우, GREEN으로 보일 수 있습니다. 대시보드에는 평균과 P95/P99를 함께 노출하고, 임계값도 분위수 기준으로 잡는 것이 권장됩니다.

다음 단계와 확장 주제

여기까지 익혔다면 다음 주제로 자연스럽게 이어집니다. 첫째, Business Service Monitoring을 활용해 단순 IT 메트릭이 아닌 비즈니스 KPI(예: 주문 처리량, 정산 완료율)를 모니터링 체계에 편입할 수 있습니다. 둘째, Integration & Exception Monitoring으로 Integration Suite의 메시지 단위 추적을 강화할 수 있습니다. 셋째, Real User Monitoring을 도입하면 SAPUI5/Fiori 앱에서 실제 사용자가 겪는 화면 로딩 지연까지 가시화할 수 있습니다. 마지막으로, Cloud ALM의 Open API를 이용해 사내 ITSM(ServiceNow, Jira Service Management)과 양방향 연동하면 알림에서 티켓 생성까지의 흐름을 자동화할 수 있습니다.

참고할 만한 자료

댓글 0

아직 댓글이 없습니다.