Apollo¶
Apollo 관련 지표 정보를 수집합니다.
설치 설정¶
사전 조건¶
- DataKit 설치
Apollo 모니터링¶
Apollo는 분산 배포 시 Portal, ConfigService, AdminService 세 가지 프로세스가 맡는 여러 역할을 포함합니다. 예를 들어 테스트와 운영 환경에 각각 전용 ConfigService, AdminService를 배포할 수 있습니다. 자세한 내용은 Apollo 배포 아키텍처를 참고하세요. 세 프로세스 모두 /prometheus 엔드포인트에서 Prometheus 형식의 지표를 노출합니다.
- Portal:8070/prometheus
- ConfigService:8080/prometheus
- AdminService:8090/prometheus
DataKit 수집기 설정¶
Apollo는 metrics url을 직접 노출할 수 있으므로 prom 수집기를 통해 바로 수집할 수 있습니다.
DataKit 설치 디렉터리의 conf.d/samples로 들어가 prom.conf.sample을 apollo-portal-prod-1.conf로 복사합니다.
cp prom.conf.sample apollo-portal-prod-1.conf
내용을 아래와 같이 조정합니다.
url = "http://127.0.0.1:8070/prometheus"
## Collector alias.
source = "apollo_portal_prod_1"
## (Optional) Collect interval: (defaults to "30s").
interval = "30s"
## If measurement_name is not empty, using this as measurement set name.
measurement_name = "apollo"
위 방식으로 ConfigService, AdminService 수집기 설정 파일을 생성합니다.
기타 설정은 필요에 따라 조정, 조정 항목 설명:
- urls:
prometheus지표 주소로, 여기에는 해당 구성 요소가 노출하는 지표 url을 입력합니다. - source:수집기 별칭으로, 구분해서 사용하는 것을 권장합니다.
- interval:수집 간격
DataKit 재시작¶
지표¶
Apollo 지표는 apollo 지표 세트에 있으며, 여기서는 주로 Apollo 관련 지표 설명을 소개합니다.
| 지표명 | 설명 | 단위 |
|---|---|---|
http_server_requests_seconds |
HTTP 서버가 요청을 처리하는 응답 시간으로, 클라이언트가 HTTP 방식으로 Apollo 서버에 연결할 때 사용합니다. | 초 |
process_uptime_seconds |
JVM 시작 시간 | 초 |
hikaricp_connections_active |
활성 연결 수 | 개수 |
hikaricp_connections_idle |
유휴 연결 수 | 개수 |
hikaricp_connections_pending |
연결을 기다리는 스레드 수로, 정상 상태에서는 0입니다. 지속적으로 0이 아니면 경고해야 하며, 최대 연결 수를 늘리는 방식 등으로 최적화할 수 있습니다. | 개수 |
hikaricp_connections_usage_seconds |
연결이 비즈니스에서 점유된 시간으로, 너무 길면 경고해야 합니다. 데이터베이스 응답 지연이 원인일 수 있으므로 평균값과 P99 극값에 주의합니다. | 초 |
jvm_memory_max_bytes |
JVM이 관리하는 최대 메모리 수로, id 태그로 서로 다른 메모리 유형을 구분합니다. | 바이트 |
jvm_memory_usage_after_gc_percent |
마지막 GC 이후 장기 생존 객체가 힙 메모리에서 차지하는 비율 | % |
jvm_memory_used_bytes |
JVM이 관리하는 사용 중인 메모리 수로, id 태그로 서로 다른 메모리 유형을 구분합니다. | 바이트 |
jvm_memory_committed_bytes |
JVM 커밋 메모리 수 | 바이트 |
jvm_gc_pause_seconds |
JVM GC 중단 시간 | 초 |
system_load_average_1m |
운영 체제의 최근 1분 평균 부하 | - |
system_cpu_count |
JVM이 사용할 수 있는 CPU 수 | 개수 |
system_cpu_usage |
운영 체제 CPU 사용률 | % |
process_cpu_usage |
프로세스 CPU 사용률 | % |
process_files_max_files |
프로세스가 열 수 있는 최대 파일 디스크립터 수 | 개수 |
process_files_open_files |
프로세스가 열어 둔 파일 디스크립터 수 | 개수 |