Install Prometheus with docker

By | 2020년 8월 22일
Table of Content

Install Prometheus with docker

선행작업

Install node_exporter

node_exporterhost 를 모니터링하는 것이 기능이라, docker 로 설치하는 것은 비추라고 합니다.

그래서, 그냥 바이너리를 다운받아 설치합니다.

curl -LO https://github.com/prometheus/node_exporter/releases/download/v1.0.1/node_exporter-1.0.1.linux-amd64.tar.gz
tar -xvf node_exporter-1.0.1.linux-amd64.tar.gz
sudo mv node_exporter-1.0.1.linux-amd64/node_exporter /usr/local/bin/

서비스로 등록합니다.

sudo vi /etc/systemd/system/node_exporter.service
[Unit]
Description=Node Exporter
After=network.target

[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter

[Install]
WantedBy=multi-user.target
sudo useradd -M -r -s /bin/false node_exporter

sudo systemctl daemon-reload
sudo systemctl start node_exporter
sudo systemctl status node_exporter
sudo systemctl enable node_exporter

Install Prometheus

sudo mkdir -p /data/docker/prometheus/

sudo vi /data/docker/prometheus/prometheus.yml
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
    - targets: ['172.31.10.60:9090']

  - job_name: 'node_exporter'
    static_configs:
      - targets: ['172.31.9.2:9100', '172.31.31.223:9100']
mkdir prometheus
cd prometheus

# docker v19 부터 volume 명령 사용가능
docker volume create --name=prometheus_data
docker volume create --name=grafana_data
docker volume ls

# ps 에 user 가 숫자로 나오는 것 수정
sudo useradd -M -r -s /bin/false grafana
# export GRA_UID=`id -u grafana`
# export GRA_GID=`id -g grafana`

vi docker-compose.yml
version: '3.7'

volumes:
  prometheus_data:
    external: true
  grafana_data:
    external: true

services:
  prometheus:
    image: prom/prometheus
    container_name: prometheus
    volumes:
      - /data/docker/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
      - prometheus_data:/prometheus
    ports:
      - 9090:9090
    restart: always

  grafana:
    image: grafana/grafana
    container_name: grafana
    depends_on:
      - prometheus
    user: "${GRA_UID}:${GRA_GID}"
    ports:
      - 3000:3000
    volumes:
      - grafana_data:/var/lib/grafana
    restart: always
GRA_UID=`id -u grafana` GRA_GID=`id -g grafana` docker-compose up -d

docker container logs prometheus
docker container logs grafana

# docker-compose stop
# docker-compose start
# docker-compose down

node_exporter dashboard import

grafana url 을 입력해서 dashboard 를 import 할 수 있습니다.

여러 대의 서버를 관리해야 한다면 여기 를 import 하는 것이 좋습니다.

One thought on “Install Prometheus with docker

  1. Pingback: Prometheus Elasticsearch 모니터링하기 – 상구리의 기술 블로그

댓글 남기기