[windows] 쉽게 프로메테우스와 그라파나 설치 및 테스트하기 #2
1. 데이터(메트릭) 수집환경 준비
먼저 로컬 서버 환경을 구성해서 메트릭을 준비한다. 얘가 제일 어렵다.
덧. 이부분이 어렵고 귀찮은 이유를 설명하자면,
매시간 단위로 거의 실시간으로 변화하는 수치화된 데이터가 있어야 그라파나에서 확인하기 쉽기 때문이다.
(DB에서 테스트 데이터 만드는 것도 빡시다.)
데이터를 가져올 서버 구성(톰캣 기본)
https://tomcat.apache.org/download-80.cgi
많이 쓰이는 8.5 버전을 받았다.
tip. 다운로드 받고 압축을 해제하는 폴더는 계속 사용하는 폴더니까 C드라이브나 D 드라이브 가깝게 둔다.
본인 사양에 맞게 64비트로 다운받았다.
해당 zip파일을 풀어준다. 경로는 C에 가깝게(연습이니까 편의성을 위해) 'prometest' 폴더를 만들었다.
경로는 원하는 대로해도 된다.
C:\prometest
그리고 cmd창을 통해 톰캣의 bin 폴더로 접근해서 service.bat install tomcat8.5.72_jmx를 입력하면 설치가 완료 된다.
win 키 + R을 누르고 실행창에서 cmd를 입력한다.(관리자 권한이 아니어도 상관없다)
'cd c:prometest' 를 입력해서 해당 디렉토리로 이동한다.
'dir' 로 확인해보면
디렉토리 내의 폴더 혹은 파일 목록이 나온다.
*'cd apache-tomcat-8.5.78' 입력 'cd apa 까지만 치고 tab키를 누르면 자동완성된다'
이제 bin 으로 들어간다. cd bin
이런식으로 뜨는데 여기서 명령어를 입력해줄 것이다.
'service.bat install tomcat8.5.72_jmx'
>> service.bat + install + [서버이름(버전)]
실행하면 허용을 누르고 계속 진행한다.
조금있다가 다시 사용할것이다. 커맨드 창을 닫지 않고 잠깐 둔다.
입력한 커맨드 값은 다음과 같다.
cd c:prometest
cd apache-tomcat-8.5.78
cd bin
service.bat install tomcat8.5.72_jmx
이제 톰캣이 잘 설치 되었는지 서비스에서 확인해보면 된다.
서비스에서 확인
윈도우 검색창에 서비스라고 치면 앱이 하나 보인다. 실행하자.
설치된 내용이 보인다. 상태에 실행중이라고 떠있지 않다면 아직 실행되지 않은 것이다.
오른쪽 마우스를 클릭해서 시작해보자.
서비스가 시작되었으면 localhost:8080을 입력하면 서버가 기동중인것을 확인할 수 있다.
서비스창도 이따 다시 쓰니까 닫지말고 냅두자.
브라우저를 키고 localhost:8080을 쳐보자.
톰캣화면이 잘 나오고 있다. = 서버가 잘 돌고 있다.
그러면 이제 서버의 데이터 (Metric)을 꺼내는 작업을 해야한다.
이 작업은 JMX_exporter가 있어야 한다. 다운로드 받도록 하자.
https://github.com/prometheus/jmx_exporter
깃 페이지의 스크롤을 아래로 내려보면 Running 항목이 있다.
- jmx_prometheus_javaagent-0.16.1.jar <<- Jdk가 1.7 이상이라면 해당 항목, 아니라면 아래항목이다.
다운받아서 jmx폴더를 만들어서 C:\prometest\에 담아둔다.
그리고 파일을 하나 만들어야 한다. config.yaml 이라는 설정 파일이다.
파일은 새로만들기로 막 만들어도 되는데, 내용 편집은 IDE로 하는 것을 추천한다. IDE로 만들어도 상관은 없다.
config파일이 완성되었다.
여기서 파일 유형을 반드시 체크하자. yaml이어야 한다.
데이터 추출에 대한 설정 값을 적어놓은 파일이라고 생각하면 된다.
테스트 해봤는데 config.yaml을 안만들면 구동이 안되더라..
VS코드(IDE)를 사용하여 해당 코드를 적어주었다.
덧, 개발자의 깃에 가보면 더 자세하고 상세한 config 파일이 존재하니 참고바란다.
그대로 쳐야한다. 철자 하나라도 오타나면 안돌아간다... (테스트라고 하긴 그렇고 경험담)
---
startDelaySeconds: 5
ssl: false
lowercaseOutputName: false
lowercaseOutputLabelNames: false
jmx_exporter 설정 및 연결
아까의 cmd 창으로 돌아와서 'tomcat8w.exe //ES//tomcat8.5.72_jmx'를 입력한다.
tomcat8w.exe //ES//tomcat8.5.72_jmx
설치할 때처럼 확인 알람창이 떴을 때 허용하면
이런 팝업이 뜬다. java 탭으로 이동하면
java options 항목이 보인다.
여기서 제일아래 줄 빈칸에
-javaagent:C:\prometest\jmx\jmx_prometheus_javaagent-0.16.1.jar=1234:C:\prometest\jmx\config.yaml
입력한다. 문송이와 같은 장소에 폴더를 만들었다면 그대로 카피해서 붙이는 것을 권장한다.
여기서 알아두어야 할 것은 1234는 포트번호다. (localhost:8080에서 8080부분)
아까 서비스 항목 창에서 실행중인 아파치를 정지시킨후 다시 시작한다.
혹시라도 이런창이 떴다면
Java options 에서 오타가 났거나 config.yaml에서 오타가 났을 것이다. 다시 확인해보자.
이렇게 뜨면 데이터의 준비가 완료 되었다!!