Table of Contents
Install Prometheus with docker
선행작업
- 도커 설치
Install node_exporter
node_exporter
는 host
를 모니터링하는 것이 기능이라, 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 하는 것이 좋습니다.
Pingback: Prometheus Elasticsearch 모니터링하기 – 상구리의 기술 블로그