383
10
장
모니터링에서 관찰가능성으로
을 모두 확인하고자 한다. 다시 말해 모든 것을 집계하고 깊이 분석하길 원한다. 따라서 전체
호스트에 걸쳐 이러한 메트릭을 모두 수집해 분할하고 분석하는 무언가가 필요하다.
그렇다면 로그가 있다. 서비스가 둘 이상의 서버에서 실행된다면 각각의 서버에 로그인하고 확
인하는 일에 싫증을 느끼게 될 것이다. 하지만 몇 개의 호스트만 있다면, 여러 호스트에서 동일
한 명령을 실행하는
SSH
멀티플렉서와 같은 도구를 사용할 수 있다. 큰 모니터의 도움을 받아
마이크로서비스 로그에서
grep
"
Error
"
라고 실행하면 범인 (원인 )을 찾게 된다. 이 방법은
훌륭하지 않더라도 잠시 동안은 충분하다는 의미다. 하지만 꽤 빠르게 진부해질 것이다.
응답 시간 추적과 같은 작업의 경우 다운스트림 마이크로서비스 호출에 대한 응답 시간을 로드
밸런서에서 수집할 수 있다. 하지만 로드 밸런서가 시스템의 병목 지점으로 판명된다면 어떻
게 되는지도 고려해야 한다. 따라서 로드 밸런서와 마이크로서비스 두 곳에서 모두 응답 시간
을 측정해야 할 수 있다. 이때 애플리케이션에서 비정상 노드가 있다면 제거하도록 로드 밸런
서를 구성해야 하므로 정상 서비스는 어떤 상태인지에 대해 더 많은 관심을 기울일 것이다. 바
라건대, 우리가 이 수준에 도달할 때쯤이면 정상 상태가 무엇인지 최소한 어느 정도는 알 수 있
을 것이다.
10.410.4
다수 마이크로서비스, 다수 서버 다수 마이크로서비스, 다수 서버
[그림
10
-
3
]의 상황은 훨씬 더 흥미롭다. ...