반응형

Prometheus를 설치 했으니 Grafana로 모니터링을 진행해 보자.


사이트 : http://docs.grafana.org/


Grafana 란?


- metric 분석 및 시각화한 제품군으로서 Open source 

- 인프라 및 App 분석 데이터를 시각화로 많이 사용하지만 뿐만 아니라 산업용 센서, 자동화, 날씨, 프로세스 제어 등에서도 사용됨


간단하다.........즉 Prometheus 의 Metric 을 이용하여 해당 정보를 시각화 하여 보여 준다는 것이다.

그 외의 사용에 대해서는 테스트 하지 않아서 모르겠다.




그러면 앞서 Prometheus를 설치 및 데이터 수집ㅇㅣ 되는 것을 확인 하였다.

이제는 그 위에 Grafana를 설치해서 수집된 데이터를 한번 그래프화 해 보자.

Prometheus도 자체의 그래프를 가지고 있지만 심플하고 다양한 Metric을 한 눈에 보기 힘들다는 단점이 있다. 이런 부분을 Grafana가 해결해 주는 것이다.


Grafana 설치 


* Ubuntu / Centos / Mac / Windows 등 다양하게 설치 할 수 있다.

* 아래 사이트를 참조 하자.

http://docs.grafana.org/installation/rpm/

https://www.percona.com/blog/2016/02/29/graphing-mysql-performance-with-prometheus-and-grafana/


나 역시 yum으로 설치를 진행 하였다.

설치 후에는 service grafana-server start로  실행했다.


이제 실행해 보자.

Prometheus와 동일하게 Grafana도 http://설치한서버IP:3000 으로 접속을 할 수 있으며,

초기 비밀번호는 admin / admin 이다.



이후 나는 몇일을 고생했다..어떻게 하는지 몰라서 말이다..ㅠㅠ


먼저 좌측 메뉴를 PIN으로 고정을 하자..

이 후 Data source를 통해 기본 서버를 구성하자.

아래 메뉴는 PIN으로 고정 및 Data Source를 선택 한 화면이며 Add data source 로 추가하자.



Type  은 Prometheus로 하고 url은 prometheus를 설정한 곳을 지정해 주자.


그리고 Direct로 접속 설정 후 save & Test를 하면 다음과 같이 확인할 수 있다.

나같이 성질 급하고 영어 못하고..컴맹은 메뉴얼을 봐도 삽질을 하고 결국은 해결은 하겠지만 몇일 걸릴 것이다.ㅠㅠ



위와 같이 떴다면 성공이다...

다시 Data Sources를 선택하면 다음과 같은 화면이 나올 것이다.



나온 화면에서 Dashboards를 선택해 보자.

이 후 Dashboards 의 New를 선택해서 하나씩 나의 대쉬보드에 원하는 데이터를 추가해 보자



여러 템플릿이 있겠지만 가장 많이 사용하는 Graph를 이용해서 추가해 보자.

Graph를 선택해 보자.



앗!!뭔가 나왔다...하지만 뭔가가 이상하다.

나는 수집도 하지 않은 데이터가 차트로 그려졌다.


정확하게 다시 말하면 내가 node를 설치하기 전의 데이터도 수집 된 것으로 나온다.

뭔가가 이상하다....(처음에는 이게 끝인줄 알았다.....ㅠㅠ)



Panel Title이라는 글씨를 누르게 되면 상단처럼 위에 View - Edit - Duplicat - Share 등이 나온다.

여기서 Edit를 선택해 보자



그래...밑에 Metrics라는 것이 있는데 내용에 fakedata source 라고 나온 것을 확인할 수 있다.


즉. 해당 데ㅇㅣ터는 임시 데이터로써 나의 수집된 데이터와는 무관하다는 뜻이다.



하단에 Panel data source 항목 옆 default를 선택하면 우리가 Data source로 추가한 Test_Source가 나온다. 

Test_Source 를 추가하면 아래와 같이 나온다.



이제 우리가 원하는 Metric 을 추가할 수 있다.

Metric looup 항목에 metric name을 선택하면 여러가지 Metric이 항목으로 ㄴㅏ올 것이다.

여기서 원하는 Metric을 선택해 주자.



정말 환호의 순간이다..원하는 데이터가 나온다.

하지만 여기서 나의 센스가 없는 모습이 나온다.

다른 항목을 선택했더니 데이터가 나오지 않았다...열심히 삽질했다.



정말 센스있는 사람이라면 찾았을 것이다. query의 내용이 겹쳐있다는 것을...

쿼리는 우리가 원하는 데이터를 다시 한번 더 가공할 수 있다. 하지만 여기서는 가공하는 방법을 알려주지 않는다.


원하는 분은 아래를 참고하시기 바랍니다.

Query Edit

http://docs.grafana.org/features/datasources/prometheus/#query-editor



쿼리 내용을 깨끗이 지우고 다시 Metric을 추가하면 원하는 데이터가 나올 것이다.

원하는 데이터가 나왔다면 X 를 누르면 된다.

걱정 안해도 된다 이미 저장 되어 있기 때문이다.



이와 같은 방법으로 2개를 만든 모습ㅇㅣ다.

이렇게 원하는 정보들을 추가하면 한 화면에 여러개의 원하는 정보를 모니터링 할 수 있을 것이다.



정말 화려한 그래픽이다...

그래서 원하는 내용을 빠르게 보거나 아니면 패턴을 빨리 익힐 수 있다.




패턴을 알고 나면 이제는 어떤 부분이 문제가 있는지..또는 배치가 얼마나 자주 도는지..

그에 대한 메모리 사용을 확인하고 수정이 필요한지...

아니면 확장을 할 것인지 많은 해결 방법을 찾을 수 있다.


잠시 몇달동안 일을 하면서 팀장님에게 배운 것 중 가장 기억에 남는것이 있다면 바로 모니터링이다.


모니터링이 누구에게는 따분할 수 있지만..

모니터링을 잘 활용하면 얼마든지 개선할 수 도 있고, 패턴을 익혀 프로그램의 주기를 변경할 수 있는 기회가 생긴다.

프로그램의 주기를 변경하면 효율적으로 자원을 활용할 수 있고 자연스럽게 장애도 예방된다.


또한 패턴을 이용해서 해당 시점의 쿼리를 수집하여 튜닝을 할 수도 있고..

무슨일이 어떻게 돌아가는지 익힐 수 있는 기회가 생긴다.


그러니 모니터링을 하찮게 생각하지 않았으면 한다.

경계에 실패한 자는 용서할 수 없듯이.. 모니터링에 실패하는 자는 훌륭한 DBA가 될수 없다고 혼자 생각해 본다-ㅎㅎ

반응형

'Monitoring > Prometheus' 카테고리의 다른 글

[Prometheus] 프로메테우스 설치 및 개념  (1) 2017.03.17

+ Recent posts