Istio로 모니터링하기
Istio로 모니터링하기
이 모듈에서는 Istio가 제공하는 모니터링 기능을 배워요. Istio를 사용하면 마이크로서비스 사이의 트래픽 모니터링을 기본으로 얻을 수 있고, Istio Dashboard로 마이크로서비스를 실시간으로 모니터링할 수 있어요.
출처: Istio 문서
본문
마이크로서비스 아키텍처 스타일로 전환하는 것을 뒷받침하려면 모니터링이 중요해요.
Istio를 사용하면 기본으로 마이크로서비스 사이의 트래픽 모니터링을 얻을 수 있어요. Istio Dashboard를 사용해 마이크로서비스를 실시간으로 모니터링할 수 있어요.
Istio는 기본으로 Prometheus 시계열 데이터베이스 및 모니터링 시스템과 통합돼 있어요. Prometheus는 다양한 트래픽 관련 메트릭을 수집하고, 이를 위한 풍부한 쿼리 언어를 제공해요.
아래에 Prometheus의 Istio 관련 쿼리 예시 몇 가지를 보여줄게요.
http://my-istio-logs-database.io에서 Prometheus UI에 접근하세요. (my-istio-logs-database.io URL은 이전에 설정한/etc/hosts파일에 있어야 해요.)- 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의 기능을 더 평가해 보기 좋은 출발점이에요.
- Request routing
- Fault injection
- Traffic shifting
- Querying metrics
- Visualizing metrics
- Accessing external services
- Visualizing your mesh
프로덕션용으로 Istio를 커스터마이즈하기 전에 다음 리소스들을 확인하세요.
Istio 커뮤니티에 참여하기
Istio 커뮤니티에 참여해 질문하고 피드백을 주시길 환영해요.