Develop/devops

[Monitoring] Actuator, Prometheus를 이용한 monitoring해보자! - 3편 (Grafana docker로 띄우기)

에디개발자 2020. 12. 12. 07:00
반응형

모니터링 서비스가 없으면 정말 불편합니다. 간단한 예로 ~

  • 하루는 출근했는데 "** 서비스가 실행이 안되는데?" 확인해보니 메모리 초과로 셧다운되있었습니다.
  • 개발 서버에서 테스트 중에 public망에 있던 서비스와 통신 중에 계속 에러가 발생 확인해보니 셧다운되있었습니다.
  • ** 서비스 죽었어? 잠시만요... 터미널 열고 타자 다다다다다 ps -ef... docker ps .. 매번 이럴순 없습니다.

소스는 github에 올려놓았습니다.

 

actuator는 Spring Initializer에서 간단하게 추가하고 몇가지 설정만 하면 서비스에 대한 다양한 정보를 얻을 수 있습니다. info, health, metrics 등등. 전 이 정보를 prometheus에서 받아 Grafana로 보이는 작업을 하려고 합니다.

사전 지식으로 필요한 것들
  - prometheus
  - grafana
  - docker
빠른 시일내에 정리하는 글을 올리겠습니다!

 

이번 글에서는 Grafana를 띄우고 AlertManager를 적용해보도록 하겠습니다.

먼저 Grafana를 Docker로 띄워보겠습니다.

 

Grafana docker run

Grafana를 Docker에서 pull을 받아줍니다. 

버전을 명시하지 않으면 latest 로 세팅되어 pull됩니다.
docker pull grafana/grafana

 

Grafana Docker Image가 잘 생성되었는지 확인합니다.

docker images 명령어를 치면 image 목록을 보여줍니다.

다음으로 grafana를 실행시켜줍니다.

docker run \
-d --name grafana -h grafana \
-e GF_SECURITY_ADMIN_PASSWORD=1234 -p 3000:3000 \
--link prometheus:prometheus grafana/grafana

-e GF_SECURITY_ADMIN_PASSWORD : Grafana 로그인 시 password를 설정합니다. ( ID는 Default로 Admin 입니다. )

-link prometheus:prometheus : prometheus에서 모니터링 정보를 조회하기 위한 링크입니다.

 

Grafana 진입

주소창에 아래 url을 입력합니다.

http://localhost:3000

 

Grafana login 화면

로그인하고 다음으로 진행합니다.

ID : admin
password : 1234

 

다음화면에서 Data Sources를 등록합니다.

Prometheus를 선택합니다.

 

여기서 Http URL을 입력합니다.

URL은 docker의 {prometheus-ip}:{prometheus-port}를 지정해줍니다.

docker network inspect bridge

Prometheus의 IPv4Address 값

 

URL을 입력하고 Save & Test 버튼을 클릭하면 Data source is working 이라는 문구를 확인할 수 있습니다.

 

다시 메인으로 돌아와서 좌측 메뉴바에 Dashboard Create를 클릭합니다.

Dashboard를 클릭하면 그림같은 화면이 나타납니다.

 

Add new panel 버튼을 누르면 아래 그림이 나옵니다.

 

그럼 Java Service로 생성한 Monitoring-Application에서 등록한 yong_counter_total 값을 등록해보겠습니다.

 

yong_counter_total 대시보드를 등록하려면 우측 상단에 있는 Apply 버튼을 누릅니다.

이렇게 내가 원하는 대시보드를 등록해서 사용할 수 있습니다.

 

 

 

 

 

 

 

반응형