[GCP]Stackdriver Monitoring 확장하기 2 — BindPlane 을 통한 On-Prem 모니터링

이정운 (Jungwoon Lee)
10 min readJul 13, 2019

--

안녕하세요 이정운 입니다.

지난 시간에는 Blue Medora 의 BindPlane 을 살펴보고 Stackdriver 와 연동 방안을 살펴볼 수 있는 간단한 테스트를 직접 해봤습니다. 해당 이야기가 도움이 되었을지 모르겠는데 이번에는 이를 좀 더 확장해서 BindPlane 을 통해서 On-prem 모니터링까지 확장하는 방안에 대한 부분을 살펴보고 테스트 해보는 시간을 가지도록 하겠습니다.

이미 한번 설명드렸지만 Blue Medora 의 BindPlane 은 GCP, AWS, MS Azure 와 같은 다양한 클라우드 환경도 지원이 가능하지만 하단의 Collector 설정을 보면 알 수 있는 것처럼 On-prem 을 위해서 Linux, macOS, Windows 등과 같은 다양한 OS 를 함께 지원하고 있습니다.(다시 한번 강조 드리지만 Stackdriver 와 함께하면 비용 추가도 없다라는 ㅎㅎ)

다시 말씀드려서 다양한 클라우드 환경 뿐만 아니라 IDC 나 데이터센터와 같은 On-prem 환경도 통합적으로 모니터링 가능하다는 의미이며 이는 다시 Stackdriver 로 통합 할 수 있다는 의미를 가지고 있습니다.

참고로 Collector 로 지원 가능한 좀 더 다양한 OS 종류와 버전은 하단의 링크를 통해서 확인 가능합니다.

Requirements
https://docs.bindplane.bluemedora.com/docs/requirements

그러면, 늘 그랬던 것처럼 이제 말이 아니라 직접 설치 및 테스트를 해보면서 실제로 살펴보는 시간을 가지도록 하겠습니다.

참고자료 #1

Extending Stackdriver to on-prem with the new BindPlane integration
https://cloud.google.com/blog/products/management-tools/extending-stackdriver-to-on-prem-with-the-newbindplane-integration

BindPlane for Stackdriver Demo
https://www.youtube.com/watch?v=PyAQZ-V2qcg

#1) On-prem 환경을 위한 BindPlane 의 Collector 설치 하기

이번 이야기는 기본적으로 지난번에 다룬 “[GCP]Stackdriver Monitoring 확장하기 — Bleu Medora 의 BindPlane 연동” 테스트를 수행했다는 가정을 가지고 진행하도록 하겠습니다. 즉, 가입이나 Stackdriver 로 Destination 지정과 같은 기본 설정은 되어있다는 가정을 가지고 진행하도록 하겠습니다.

또한, On-prem 환경 연동을 위해서는 서버가 있으면 좋겠지만 테스트 목적이므로 제 맥북을 사용하는 가정으로 진행하도록 하겠습니다. 테스트를 따라해보시는 다른 분들도 본인의 노트북이나 컴퓨터를 대상으로 수행해보면 되지 않을까 합니다.

BindPlane 관리 콘솔에서 “Collectors > Add Collector” 메뉴를 선택합니다. 그러면 Collector 를 설치할 환경을 선택하는 메뉴가 나옵니다.

사전에 이야기 드린 것처럼 저는 맥북을 사용하고 있기 때문에 macOS 를 선택하면 Collector 를 설치할 스크립트를 확인 가능합니다.

그러면 맥에서 shell 을 열고 Collector 를 설치할 스크립트를 하단과 같이 수행합니다. 커스텀하게 넣어줘야 할 항목이 거의 없고 동의여부만 체크하면 되기 때문에 큰 어려움없이 설치가 가능할 것으로 판단됩니다.

스크립트가 정상적으로 수행되면 하단과 같이 나오며, 따라해보신 것과 같이 아주 간단하게 맥북 환경에 Collector 설치가 완료된 것입니다.

맥북 환경에 Collector 설치가 완료되면 BindPlane 의 관리콘솔에서 이제 하나의 Collector 가 아니라 두개의 Collector 에서 모니터링 데이터가 수집되는 것을 Overview 화면에서 확인 가능합니다.

또한, Collector 설치 만으로 바로 Collector 가 설치된 환경의 CPU 나 Memory, Disk 정보등이 바로 모니터링 되는 것을 확인할 수 있습니다.

#2) On-prem 환경 모니터링 하기

On-prem 환경을 가정하여 맥북에 Collector 설치를 하였으니 이제 이 Collector 가 수집할 대상인 Source 를 지정하도록 하겠습니다. 이때 맥북에 간단한 Apache Tomcat 이 설치되어 있다는 가정을 가지고 Tomcat 을 Source 로 지정하도록 하겠습니다. (참고적으로 Tomcat 은 설치가 아주 간단해서 구글링해보면 관련 자료를 쉽게 찾을 수 있습니다. 따라서, 본 이야기에서 설치 부분은 생략하도록 하겠습니다.)

추가적으로 Tomcat 의 모니터링이라는 부분은 내부적으로 JVM 에 대한 모니터링이기 때문에 이를 위해서는 JMX 를 통해서 연결되어야 하기 때문에 Tomcat 의 환경 설정 파일인 setenv.sh 에 하단과 옵션들이 추가되어야 합니다.

CATALINA_OPTS=”-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false”

상단의 옵션 내용이 더 궁금하신 분들은 하단의 링크를 참고하시기 바라겠습니다.

Monitoring and Managing Tomcat

https://tomcat.apache.org/tomcat-7.0-doc/monitoring.html

모니터링 할 대상인 Tomcat 이 준비되었으면. BindPlane 관리콘솔에서 “Sources > Add source” 메뉴를 선택합니다. 그러면 모니터링 가능한 다양한 Source 들을 확인할 수 있는데 Other 에 있는 Apache Tomcat 을 선택합니다.

다음으로 모니터링 데이터를 수집할 Collector 를 선택하는 메뉴가 나오는데 이전 파트에서 맥북에 설치한 Collector 를 선택합니다.

마지막 단계로 설정 이름과 JMX Service URL 과 같은 서비스 정보를 넣고 Test Connection 을 수행해봅니다.

이때 JMX Service URL 은 하단의 링크를 참고하셔서 port 만 jmxremote.port 로 맞추시면 됩니다. (예: service:jmx:rmi:///jndi/rmi://localhost:9000/jmxrmi)

Apache Tomcat
https://docs.bindplane.bluemedora.com/docs/apache-tomcat

설정 작업이 완료되었으면 정상적으로 연결이 가능한지 Test connection 을 수행하고 이슈없이 통과하면 Add 버튼을 클릭하여 해당 Source 를 추가합니다.

이렇게 Source 가 추가되었다면 하단과 같이 Overview 화면에서 Tomcat 아이콘이 추가된 것을 확인할 수 있습니다.

또한, 방금 추가한 Tomcat Source 를 클릭하면 하단과 같이 설정 정보와 Metric 이 얼마나 전달되는지 모니터링 정보등을 확인할 수 있습니다.

이전 이야기에서도 언급했지만 BindPlane 의 장점 중의 하나는 source 에서 Metrics 버튼을 클릭하면 모니터링 수집 가능한 Metric 정보를 세밀하게 on/off 할 수 있는 설정 화면을 확인 가능합니다.

#3) Stackdriver Monitoring 으로 On-prem 환경 통합 모니터링 하기

GCP 관리콘솔의 Stackdriver Monitoring 화면으로 이동하여 “Resources > Metric Explorer” 를 선택합니다. 그리고 Metric 에 tomcat 이라는 단어나 bindplane 을 입력하면 BindPlane 을 통해서 받은 다양한 On-prem 의 Tomcat 모니터링 정보를 선택가능한 것을 확인 가능합니다.(하단 참고)

예를 들어 request count 를 선택하면 하단과 같이 On-prem 의 Tomcat 의 request count 모니터링을 Stackdriver 에서 통합 모니터링 할 수 있습니다.

당연히 Stackdriver Monitoring 의 대시보드 기능을 활용하여 On-prem 의 Tomcat 정보 뿐만 아니라 GCP 의 MySQL 정보등 다양한 정보를 하나의 대시보드로 만들어서 통합 모니터링도 가능합니다.

여기까지 잘 따라오셨다면 가지고 있는 맥북을 On-prem 환경으로 가정하여 BindPlane 을 이용해서 On-prem 환경의 Tomcat 모니터링을 Stackdriver 로 통합해서 수행하는 테스트를 무사히 완료하신 것입니다. 따라 해보시면서 아시겠지만 큰 어려움 없이 Collector 설치만으로 손쉽게 On-prem 환경도 Stackdriver 로 통합 가능하다라는 것을 확인할 수 있습니다. 지금은 하나의 간단한 예제지만 더 복잡한 On-prem 환경도 하단과 같이 BindPlane 에서 다양한 Source 를 제공하고 있으므로 쉽게 모니터링 연동이 가능하지 않을까 합니다.

간단한 내용이지만 한번 쭉 살펴보는 것이 의미가 있을 것 같아 내용을 따라하기 쉽게 스텝별로 작성해 봤으며 해당 내용이 이해에 도움이 되었기를 바랍니다. 이제 시간이 다 돼서 이번 이야기는 여기서 마무리 하도록 하겠습니다. 그럼 이만 휘리릭~~~

Disclaimer: 본 글의 작성자는 Google 직원이지만 Google cloud 를 공부하는 한 개인으로서 작성된 글입니다. 본 글의 내용, 입장은 Google 을 대변하지 않으며 Google 이 해당 콘텐츠를 보장하지 않습니다.

--

--

이정운 (Jungwoon Lee)

Technical engineer who dreams better future. (These thoughts are my own personal opinions, and do not reflect or represent Google’s opinions or plans.)