Istio로 모니터링하기

Istio로 모니터링하기

이 모듈에서는 Istio가 제공하는 모니터링 기능을 배워요. Istio를 사용하면 마이크로서비스 사이의 트래픽 모니터링을 기본으로 얻을 수 있고, Istio Dashboard로 마이크로서비스를 실시간으로 모니터링할 수 있어요.

출처: Istio 문서

본문

마이크로서비스 아키텍처 스타일로 전환하는 것을 뒷받침하려면 모니터링이 중요해요.

Istio를 사용하면 기본으로 마이크로서비스 사이의 트래픽 모니터링을 얻을 수 있어요. Istio Dashboard를 사용해 마이크로서비스를 실시간으로 모니터링할 수 있어요.

Istio는 기본으로 Prometheus 시계열 데이터베이스 및 모니터링 시스템과 통합돼 있어요. Prometheus는 다양한 트래픽 관련 메트릭을 수집하고, 이를 위한 풍부한 쿼리 언어를 제공해요.

아래에 Prometheus의 Istio 관련 쿼리 예시 몇 가지를 보여줄게요.

  1. http://my-istio-logs-database.io에서 Prometheus UI에 접근하세요. (my-istio-logs-database.io URL은 이전에 설정한 /etc/hosts 파일에 있어야 해요.)
  2. Expression 입력 상자에 다음 예제 쿼리들을 실행하세요. Execute 버튼을 누르면 Console 탭에서 쿼리 결과를 볼 수 있어요. 쿼리는 애플리케이션 네임스페이스 이름으로 tutorial을 사용하니, 네임스페이스 이름으로 바꿔주세요. 최상의 결과를 얻으려면 데이터를 쿼리할 때 앞선 단계에서 설명한 실시간 트래픽 시뮬레이터를 실행하세요.

네임스페이스의 모든 요청을 가져오기:

istio_requests_total{destination_service_namespace="tutorial", reporter="destination"}

네임스페이스의 모든 요청 합계 구하기:

sum(istio_requests_total{destination_service_namespace="tutorial", reporter="destination"})

reviews 마이크로서비스로 가는 요청 가져오기:

istio_requests_total{destination_service_namespace="tutorial", reporter="destination",destination_service_name="reviews"}

지난 5분 동안 reviews 마이크로서비스의 모든 인스턴스로 가는 요청의 비율:

rate(istio_requests_total{destination_service_namespace="tutorial", reporter="destination",destination_service_name="reviews"}[5m])

위 쿼리들은 표준 Istio 메트릭인 istio_requests_total을 사용해요. 다른 메트릭, 특히 Envoy(Istio의 sidecar 프록시)의 메트릭도 관찰할 수 있어요. 수집된 메트릭은 insert metric at cursor 드롭다운 메뉴에서 볼 수 있어요.

다음 단계

튜토리얼을 완료한 것을 축하해요!

다음 작업들은 초보자가 이 demo 설치를 사용해 Istio의 기능을 더 평가해 보기 좋은 출발점이에요.

프로덕션용으로 Istio를 커스터마이즈하기 전에 다음 리소스들을 확인하세요.

Istio 커뮤니티에 참여하기

Istio 커뮤니티에 참여해 질문하고 피드백을 주시길 환영해요.

더 알아보기 (Learn more)