【Kubernetes】 쉽게 Pod 상태를 모니터링하고 Teams에 알리고 싶습니다.

배경



Kubernetes를 사용하는 경우에는 Pod는 비교적 캐주얼하게 재작성되기 때문에, Pod의 사활을 감시하고 싶어지는 경우가 있다.
특히 개발의 도상이나 작은 팀에 있어서는, 확실한 감시를 운용해 가는 허들의 관점이나, 기술 습득 관점을 고려해, 간소한 감시가 필요하게 되는 타이밍이 있다.
그러한 경우에, Prometheus 등의 디팩트한 감시 기반이 아니라, 일시적인 연결로서 사용할 수 있는 간이한 감시 툴이 필요하게 되었다.
그리고 순전히 Go로 프로그램을 작성한 적이 없었기 때문에 간단한 도구를 만드는 목적으로 Pod 모니터링 도구를 만들었다.


PodMonitoringTool 개요



PodMonitoringTool은 비정상적인 Pod를 찾을 때 Teams에게 경고 메시지를 보내주는 도구입니다.
Teams에게 통지된 메시지를 확인하는 것으로, 휴일이나 한밤중에도 운용자가 곧바로 Kubernetes의 바탕으로 달릴 수 있다.



Pod의 상태에 대해서는, 예를 들면 아래와 같이 Pod내 컨테이너가 Ready가 되어 있지 않은 경우나, Pod 상태가 Running이 아닌 경우 등이 상정된다.


이 경우 Teams에서 비정상적인 Pod에 대한 알림을받을 수 있습니다.



상기에 정리하고 있지 않지만, 감시 간격의 설정이나 Pod 정상시에도 일보를 주는 Heartbeat 설정등도 실장했다.
자세한 내용은 Github 저장소 측에 설명되어 있습니다.

요약


  • Prometheus와 같은 결함있는 도구가 있지만, 간단한 도구가 유용한 경우가 있음을 설명했습니다.
  • Kubernetes에서 포드의 상태를 간략하게 모니터링하는 도구를 만들었고 포드가 실패 할 때 팀에서 경고를받을 수 있음을 확인했습니다.
  • 좋은 웹페이지 즐겨찾기