Skip to main content

SLA 설정

OPENMARU APM 은 HTTP 기반의 응답코드를 활용해 애플리케이션의 상태를 모니터링하는 SLA기능을 제공한다.

해당 기능을 사용하기 위해서는 시스템 에이전트가 설치되어있어야 하며, JDK 1.8 이상에서 동작한다.

SLA란?

SLA(서비스 수준 계약) 은 고객에게 제공하는 서비스 수준을 계약하는 것을 의미한다. 이때의 '서비스 수준' 이란 얼마나 장애없이 서비스가 유지되었는지에 대한 수준을 말한다.

오픈마루 SLA는

오픈마루 APM은 HTTP 응답코드를 활용하여 실시간, 혹은 특정 기간동안 100% 를 기준으로 얼마만큼 서비스가 장애가 없이 동작하였는지, 에러 응답을 발생하지 않았는지를 모니터링하는 SLA 기능을 제공한다.

① 일별, 시간별 필터 옵션

필터링 기간을 설정하기 이전에 '일별' 혹은 '시간별' 필터 옵션을 선택할 수 있다.

② 필터링 기간 설정

'일별' 혹은 '시간별' 로 필터링 기간을 설정할 수 있다.

③ 실시간 SLA 차트

모니터링중인 SLA 현황을 확인할 수 있는 차트로 상단에는 실시간 현황을 하단의 차트에서는 기간별 현황을 보여준다.

SLA 설정

오픈마루 APM 의 SLA 기능을 사용하기 위해서는 OPENMARU APM 에 연결된 시스템 에이전트가 있어야 하며,

'SLA 설정' 메뉴에서 'Job' 과 'Service' 를 등록하여야 한다.

이를 설정하는 방법은 Rest API 테스트 도구인 Postman 이나 부하 테스트 시 사용하는 JMeter 도구와 유사하다.

info
  • Job과 Service 란?
    • Service란 모니터링을 수행하는 실행 단위를, Job이란 서비스들을 조합하여 하나의 작업단위로 묶은 것을 의미한다.
    • 'A홈페이지'가 정상적으로 동작한다고 판단하기 위해서는 '메인', '로그인', '게시판' 등의 화면이 정상적으로 동작하는지 확인할 필요가 있다. 이떄, 'A홈페이지' 을 Job 으로 두고 '메인', '로그인', '게시판' 등을 Service를 두어 모니터링하면 효율적으로 기능들을 업무별로 묶어서 관리할 수 있다.
    • Job 은 Service 들의 그룹으로 Job 에 포함된 Service 들은 Cookie (Session) 을 공유한다.

Job 등록 하기

'SLA 설정' 메뉴를 클릭하면 SLA 리스트 테이블을 확인할 수 있다. SLA 리스트 테이블의 좌측 리스트에는 Job이 우측 리스트에는 Service 가 표시된다. 이때, 좌측 리스트의 '추가' 버튼을 클릭하면 Job 을 추가할 수 있는 팝업이 표시된다.

  • Job 설정 옵션
NameJob 에 대한 이름
Interval(ms)반복 주기
Execute SYS Agent실행할 SYS Agent
Alerts to실패 시 알림 받을 대상자
Alters to(Group)실패 시 알림 받을 대상자 그룹
Alters viaemail, sms, slack (슬랙을 경우 별도 지정하지 않아도 발송된다.)
Prevent Duplicated실패 알림 후 반복적으로 알림 오는 것을 방지한다.
EnableJob 모니터링 여부

Service 등록 하기

Job을 추가 후 선택하면, SLA 리스트 테이블의 우측 리스트가 활성화된다. 이때, 우측 리스트의 '추가' 버튼을 클릭하면 Service 을 추가할 수 있는 팝업이 표시된다.

  • Service 설정 옵션
NameService 이름
URL호출 URL
MethodHTTP Method
Charset문자 인코딩
ParamsPOST, PUT, DELETE 시 파라미터 예) test1=1 test2=2
BodyPOST, PUT, DELETE 시 요청 컨텐츠 바디 예) {“test1”: 1, “test2”: 2}
HeadersHTTP Header
Success Status성공이라고 판단하는 HTTP 상태코드
Failure Status실패라고 판단하는 HTTP 상태코드
Success Content Regexp성공이라고 판단되는 응답 컨텐츠 바디 내용 (정규식)
Failure Content Regexp실패라고 판단되는 응답 컨텐츠 바디 내용 (정규식)
Timeout요청 후 응답을 기다리는 시간
Follow RedirectHTTP 상태코드가 302 일 경우 계속 진행 여부
Error Next실패 시 다음 Service 진행 여부
Retry Counts실패 시 재시도 횟수
EnableService 사용 여부

적용

설정 및 수정 완료 후 적용 버튼을 누르면 전체 Job에 대한 내용이 각각의 시스템 에이전트 에 반영되어 헬스체크를 시작한다.

적용 테스트

선택된 Job에 해당하는 Service들을 설정된 값에 맞게 테스트를 진행한다.