티스토리 뷰

반응형

이번 포스팅에서는 프로메테우스와 그라파나 클라우드를 설정하는 방법이 가능하다는 것을 포스팅 해보려고 합니다.

현재는 무급으로 작은 사이드 프로젝트(스트리머 우왁굳)에 참여하고 있습니다. 팬이라서..

프로메테우스 를 설치하는 것은 k8s 또는 머신에 설치하는 방법 두 가지가 있으나, 저희 팀은 k8s를 사용하지 않기 때문에 머신에 설치할 예정이었습니다.

설치하는 방법은 prometheus의 GETTING STARTED 를 참고하면됩니다 만 ..

https://prometheus.io/docs/prometheus/latest/getting_started/

 

Getting started | Prometheus

An open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach.

prometheus.io

프로메테우스를 직접 다운받아 설치하는 것 말고 도커로 운영하고 싶었습니다. 오우, 그러던 와중 bitnami의 prometheus 이미지를 찾을 수 있었고, k8s와 친숙하다면 bitnami이름도 친숙할것입니다.

컨테이너 사용에서 k8s가 아닌 docker도 있군요!

그래서 사용하기로 마음 먹었습니다.

그리고, GETTING STARTED 문서를 쭉 읽어보면 prometheus 는 수집기고 수집 당할 곳에는 node-exporter 를 설치하여 노드 정보들을 수집해야합니다. 

구성은 다음 그림과 같습니다.

독립적인 서버, 저의 예에선 NAS 서버에 Prometheus를 설치하고, Linux Server에는 node-exporter를 서비스로 등록하였습니다.(systemctl)

모든 설정을 하게되면 다음과 같은 결과를 볼 수 있습니다.

이것은 node exporter의 응답
이 곳은 프로메테우스 입니다.

prometheus의 yml을 설정하여 타겟 설정하는 부분이 있는데 타겟 설정은 도큐먼트를 읽으면 쉬우니 넘어가겠습니다. 타겟 설정이 완료되면 프로메테우스 패널에서 다음과 같이 볼 수 있습니다.

그다음 그라파나 클라우드에서 프로메테우스와 통신하여 설정하도록 하겠습니다.

먼저 그라파나 클라우드는 매우 쉽게 설정할 수 있는 구성요소를 가지고 있습니다. 타인이 설정해둔 것을 가져올 수 있습니다.

https://grafana.com/grafana/dashboards/ 여기서 저는 Node Exporter Full을 가져왔습니다.

 

그리고 이것이 최종 결과물입니다만 .. 

하지만 먼저 그라파나 클라우드와 프로메테우스가 어떻게 연결되는지 봐야합니다.

이런식으로 구성될 것입니다.

그라파나 클라우드에서는 두 가지 방법으로 제안하고 있는데 하나의 방법은 그라파나 에이전트 (쉬운방법) 또는 프로메테우스를 직접 설치하는 방법인데, 저희는 프로메테우스를 직접 설치하였으므로 다음과 같이 합니다. 

먼저 ..

새로운 연결 더하기에 가서 ..

From my local Prometheus server를 클릭하고 

... 뭔갈 합니다. 

여기서 remote_write 옵션을 설정해줘야하는데, prometheus 도커에 가서 prometheus.yml 에 remote_rewrite 를 설정해줘야합니다!.

문제는 prometheus 도커에 prometheus.yml 을 업데이트 해도 서비스를 재시작 하는 방법은 prometheus 이미지를 재 시작 하는 방법 밖에 없습니다. 우선은 그렇게 합니다. 혹시나 유실되는 것이 무섭다면 prometheus 의 이미지를 설정하실 때 volume mount를 설정하시고 진행하시면 됩니다. 

그다음

데이터 소스로 가서 .. 

데이터 소스를 더해주고 .. 프로메테우스 주소를 입력하면 됩니다. 

그외의 별도 설정은없습니다.

하게되면 대시보드 만들기 한다음 위에서 본 Node Exporter full의 아이디를 등록하면 됩니다.

그럼 최종적으로 이 그림이 보이게됩니다.

 

음.. 다음에는 prometheus alert manager 또는 grafana alert 를 활용하여 디스코드와 연결하는 방법을 포스팅할게요.!

반응형