본문으로 건너뛰기

메트릭

Telemetry 메트릭 대시보드는 Java, Node.js, Python, Golang 애플리케이션의 메트릭 데이터를 모니터링할 수 있는 통합 모니터링 대시보드입니다. 기본적으로 14개의 패널이 제공되며, 실시간 및 조회범위를 조정하여 수집 데이터를 확인할 수 있으며, 필요에 따라 대시보드와 패널을 추가,수정,삭제 할 수 있습니다.

Telemetry는 다음과 같은 언어 및 런타임 환경을 지원합니다:

  • Java: Java 애플리케이션 모니터링 지원
  • Node.js: Node.js 애플리케이션 모니터링 지원
  • Python: Python 애플리케이션 모니터링 지원
  • Golang: Golang 애플리케이션 모니터링 지원

대시보드

① 대시보드 선택 옵션

Openmaru 에서 기본적으로 제공하는 Telemetry 대시보드 나, 사용자정의 대시보드를 선택하여 모니터링 할 수 있습니다.

② 대시보드

수집된 메트릭 정보를 모니터링 할 수 있는 대시보드로, 기본적으로 14개의 패널이 제공되며, 필요에따라 사용자 정의된 대시보드를 모니터링 할 수 있습니다.

정보
  • 패널의 종류
    • Requests: 수집 구간 동안 애플리케이션이 처리한 총 요청 수입니다.
    • Error Rates: 요청 대비 오류 응답 비율(%)로 서비스의 장애 수준을 확인할 수 있습니다.
    • Tps: 초당 처리된 요청 수(Transactions Per Second)로 서비스 처리량을 의미합니다.
    • Response Avg: 선택한 기간의 평균 응답 시간(ms)입니다.
    • Thread Count: 애플리케이션 프로세스에서 활성 상태인 스레드 수입니다.
    • Active Request: 현재 처리 중인 요청 개수입니다.
    • Memory Usage: 애플리케이션이 사용 중인 메모리 용량(MB)입니다.
    • Open File: 프로세스가 열고 있는 파일 디스크립터 수입니다.
    • External Http Requests: 외부 시스템으로 전송된 HTTP 요청 수입니다.
    • External Http ErrorRate: 외부 HTTP 요청 대비 오류 응답 비율(%)입니다.
    • External Http ResponseTime: 외부 HTTP 요청의 평균 응답 시간(ms)입니다.
    • Gc Count: 관측 기간 동안 수행된 GC(Garbage Collection) 횟수입니다.
    • Container CPU: 컨테이너가 사용 중인 CPU 사용률(%)입니다.
    • Container Memory: 컨테이너 메모리 사용량(MB)입니다.

③ 필터링 기간 설정

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

④ 대시보드 편집 모드

  • 대시보드를 추가, 수정,삭제 혹은, 패널을 추가, 수정, 삭제 및 패널 크기와 위치 변경을 할 수 있는 대시보드 편집 모드로 변경하는 옵션입니다.

대시보드 편집 모드

① 대시보드 추가,수정,삭제

대시보드를 추가, 수정, 삭제 할 수 있으며, "전체공유 여부", "실시간 차트 간격", "실시간 차트 갱신 주기" 세가지 옵션이 제공됩니다.

  • 전체 공유 여부 : 대시보드를 생성한 사용자에게만 공유할지, 모든 유저에게 공유할지 여부를 선택할 수 있습니다.
  • 실시간 차트 간격 : 실시간 차트의 간격을 설정할 수 있습니다.
  • 실시간 차트 개인 주기 : 실시간 차트의 갱신 주기를 설정할 수 있습니다.

② 패널 추가, 높이조정, 패널 위치저장

대시보드 편집 모드에서 패널을 추가 및 패널 높이를 일괄조정할 수 있는 옵션이 제공됩니다.

  • 패널 추가
    • 패널의 타이틀, 타입 등과함께 요청 정보를 입력하여, 원하는 형태의 패널을 추가할 수 있습니다.
    1. 패널을 추가하기 위해, 옵션을 선택하거나, JSON을 직접 수정하는 두가지 방식이 제공됩니다.
    2. 타이틀과, 패널의 타입을 선택 후, 그래프 데이터 요청 API 를 참조하여 요청 API 에 해당하는 옵션을 선택하여 패널에 표시될 데이터를 설정할 수 있습니다.

옵션을 활용한 패널 추가

Name옵션 이름
Panel Title패널에 표시될 타이틀
Panel Type패널의 타입을 선택
API Path요청 API Path를 선택. 이때, Query를 선택하면 sql 을 활용하여 요청 데이터를 지정 할 수 도 있습니다.
Query Pram Path요청 API Path를 선택. 이때, Query를 선택하면 sql 을 활용하여 요청 데이터를 지정 할 수 도 있습니다.
Series Columns Configuration차트에 표시될 시리즈의 라벨을 수정 및 값을 단위별로 변환 할 수 있는 옵션입니다.
Axis Labely축에 표시될 축 라벨을 수정 할 수 있습니다.
Tooltip Float툴팁에 표시될 값의 소수점 단위를 지정할 수 있습니다.

json을 활용한 패널 추가

{
"type": "timeseries",
"title": "TPS", /** 패널의 타이틀 **/
"fieldConfig": { /** 차트 옵션 **/
"defaults": {
"color": {
"palette": [ /** 시리즈 색상 **/
"#f9412e", "#62c0fd", "#f7a35c", "#8085e9", "#e4d354",
"#8085e8", "#386aff", "#91e8e1", "#434348", "#90ed7d", "#496949"
]
},
"min": 0, /** y축 최소값 **/
"max": 100, /** y축 최대값 **/
"custom": { /** 차트 스타일 **/
"lineWidth": 2,
"showPoints": false,
"pointSize": 8,
"axisLabel": "APDEX Score(%)"
"spanNulls": false, /** null값 표시여부 **/
},
},
},
"options": {
"tooltip": { /** 툴팁 에 표시할 소수점 단위 **/
"float": 2,
}
},
"targets": [
{
"datasource": { "type": "khan-apm", "uid": "default" }, /** 데이터소스 (khan-apm 지원) **/
"params": {
"instanceIds": ["selectedInstances"], /** 인스턴스아이디 리스트 (selectedInstances일경우 선택된 인스턴스) **/
"hosts": ["selectedHosts"], /** 인스턴스아이디 리스트 (selectedHosts일경우 선택된 호스트) **/
"agentType": "WAS",
"apiPath": "/metrics/graphs",
"namespace": "NIL",
"metricName": "apdex",
"columns": "apdex",
"aggregate": "mean",
"queryParams": {
"interval": 5000,
"fill": true,
"merge": true,
"agentType": "WAS"
}
},
"refId": "A"
}
]
}
  • 높이 조정
    • 등록된 패널들의 높이를 일괄적으로 조정 할 수 있습니다.
  • 저장
    • 변경된 패널들의 위치를 일괄적으로 저장할 수 있습니다.

③ 패널 편집 삭제,

  • 편집 버튼을 선택하여 패널을 수정 할 수 있습니다.
  • 삭제 버튼을 선택하여 패널을 삭제 할 수 있습니다.

④ 패널 위치 및 크기조정

  • 패널의 우측하단 모서리를 선택하여 사이즈를 조정하거나, 패널을 드래그하여 위치를 옮길 수 있고. 페이지 우측 상단의 저장버튼을 클릭하여 수정된 내역을 저장 할 수 있습니다.