본문 바로가기

SearchDeveloper/모니터링

[1/5] Node-exporter → Consul → Promethus → Grafana 연동하기

파이프라인

최종 결과: 시스템 정보를 그라파나 대시보드로 확인할 수 있다

각종 데이터를 그라파나를 통해 대시보드로 편리하게 확인할 수 있다. cpu 사용량, 메모리 사용량 같은 시스템 정보를 그라파나로 볼 수 있는 모니터링 파이프라인을 도커를 사용해 구축해보겠다.

① Node-exporter

node-exporter 결과

각종 데이터를 모아주는 수집기를 exporter 혹은 agent라고 부른다. exporter의 종류는 mysql, elasticsearch 등 다양하게 수집할 수 있다. 나는 그 중에서 하드웨어와 OS 메트릭 등을 확인할 수 있는 node-exporter를 사용할 것이다.

docker-compose.yml 구성은 공식 깃을 참고하였다.

version: '3'

services:
  node_exporter:
    image: quay.io/prometheus/node-exporter:latest
    container_name: node_exporter
    ports:
      - "9100:9100" 
    networks:
      - monitoring
    command:
      - '--path.rootfs=/host'
    pid: host
    restart: unless-stopped
    volumes:
      - './:/host:ro,rslave'

networks:
  monitoring:
    name: monitoring
    driver: bridge

ports : 공식 깃에는 network_mode: host 를 설정하는 방법으로 host 와 통신한다. 하지만 맥북에선 network_mode 를 지원하지 않아 port 매핑으로 변경하였다.

networks : prometheusconsul 컨테이너에서 이 컨테이너를 접근할 수 있도록 “monitoring” 이라는 이름의 네트워크로 묶어주었다.

--path.rootfs : host 파일시스템에 접근하기 위한 컨테이너에서 쓸 루트 경로

ro : 컨테이너는 읽기만 할 수 있다. (read-only)

rslave : host 에서 디스크나 네트워크 파일 시스템을 추가로 마운트했을 때 컨테이너가 알아차리도록 한다.

그리고 docker-compose.yml 가 있는 폴더에서 docker-compose up -d 를 해주고 http://localhost:9100/metrics 에 접속하면 메트릭 정보가 촤라락 뜬다.

node-exporter 결과

 

다음 글에서 consul 구축을 해보자.

 

[2/5] Node-exporter → Consul → Promethus → Grafana 연동하기

이전 글에서 node-exporter 를 구축하였다.이제 consul 을 구축해보자② Consul파이프라인을 구성할 때 consul 이 반드시 필요하지는 않다. 결국 prometheus 에서만 exporter 를 알면 되기 때문이다. 하지만 consu

elsboo.tistory.com