티스토리 뷰

최근 오픈소스 대시보드인 Grafana에 대한 관심이 높습니다. 그리고 그 관심만큼이나 빠른 통합이 이루어지고 있는데 이번 블로그에서는 오픈시프트 상의 Prometheus와 Elasticsearch와 Grafana를 연동하는 방법에 대해 블로깅합니다.


먼저,  Origin에서 이들에 대한 어떤 로드맵을 가지고 있는지 봐야 할 것 같습니다.


현재 기준으로 오픈시프트 Origin 3.9가 배포되었으며 레드햇에서도 얼마전 RHOCP 3.9가 정식으로 배포되었습니다.

아직 Tech Preview 마크를 달고 있으나 Prometheus가 오픈시프트 모니터링으로 포함되어 있으며 이는 Origin/RHOCP 공통합니다(Ansible playbook으로 설치 가능)

Grafana의 경우는 조금 다른데, Origin에서는 설치가 되는 반면, RHOCP는 ansible playbook 을 별도로 설치해야 합니다.



1. Prometheus - Grafana 연동


현재 적용된 버전은 Prometheus  2.1.0으로 확인되며 이미지는 registry.access.redhat.com/openshift3/prometheus:v3.9.14 로 태깅되어 있습니다.

side-car 방식으로 컨테이너가 구성되어 하나의 pod에 prom-proxy를 포함한 여러개의 컨테이너가 묶여있는 구조입니다.


디헹스럽게도 예전 3.6에서 처음 구성할때와는 달리, Prometheus, Alertmanager, Node-exporter 등을 한번에 구성할 수 있습니다. 별도로 구성을 위해 손댈게 없습니다.


Grafana는 앞서 언급한 것처럼 RHOCP에서는 별도로 설치를 진행해야 하는데 git hub에서 Origin 프로젝트르를 3.9 용으로 받으면 example에 있습니다.

스크립트를 조금 파악한 다음 구성해야 하며 grafana-lib, grafana-log 등을 위한 별도의 PV를 설정하지 않아 구성된 dashboard등은 pod가 재기동시 모두 초기화 됨을 유념하시기 바랍니다(아니면, grafana-lib, grafana-log를 별도 PV로 잡도록 구성을 변경해도 됩니다).


아주 편리하게도 example dashboard가 매우 그럴듯 합니다.. 다만 이상한건, 컨테이너 정보는 나오는데, 나오지 않는 데이터가 나오질 않습니다. 아직 Tech Preview라 그런듯 합니다.


이러한 제약은 향후 해결 될 걸로 보이며 어쨌든 현재 기준으로도 Prometheus와 Grafana의 연동은 기본적인 자동화가 매우 잘 되어 있는 편입니다.





2. Elasticsearch - Grafana 연동


기본적으로 Grafana는 Elasticsearch 연동을 지원합니다. 데이터소스로 정의가 가능하고 proxy 방식, direct 방식 모두 지원합니다.

문제는 오픈시프트의 Aggregate Logging을 담당하는 Elasticsearch와의 연동인데 Grafana의 매뉴얼에 나온대로는 잘 되지 않는데 이는 오픈시프트 상의 Elasticsearch가 https로 서비스를 하여 이를 위한 클라이언트 인증서 작업이 필요하기 때문입니다.


물론, Grafana와 오픈시프트 상의 Elasticsearch는 향후 Prometheus와 같이 자동화되어 연동이 될 것으로 보입니다. Origin 3.10, 또는 3.11 이후에 다양한 연동 계획이 발표되고 있는 상황입니다.


하지만 우리는 먼저 해보고 싶은 마음에.. 


2.1 연동방법


Elasticsearch를 보면 이 역시 side-car방식으로 proxy 컨테이너를 포함하고 구동됩니다.


우선 아래 화면이 Elasticsearch 데이터소스 설정입니다.



중요한 건, TLS Auth Details에 Client Cert와 Client Key를 넣어햐 하는 것이며 이들은 logging-es-data-master Pod의 proxy 컨테이너에 있는 것을 사용하면 됩니다.

위치는 /etc/elasticsearch/secret에 있으며 각각  admin-cert, admin-key 파일입니다.


이후 데이터소스가 정상적으로 생성되면, 아래와 같이 lucene Query를 사용하여 Elasticsearch에서 쿼리를 할 수 있습니다.





쉽죠? ㅎ

저는 저 cert와 key를 찾느라 힘들었습니다...

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함