๐ Prometheus๋ก ์์คํ ๋ฉํธ๋ฆญ์ ๋ชจ๋ํฐ๋ง ํ์๋ ค๋ ๋ถ
๐ node_exporter๋ฅผ ์ฌ์ฉํ์ฌ ๋งคํธ๋ฆญ์ ์ถ์ถํ์๋ ค๋ ๋ถ
๐ Ubuntu ํ๊ฒฝ์์ ๊ตฌ์ถํ์๋ ๋ถ
Docker(swarm) Container ๊ธฐ๋ฐ Prometheus ๊ตฌ์ถ ์, ์๋น์ค ๋ฑ๋ก ๋ถ๊ฐ ํ์ ํ์ธ
# systemctl ์ปค๋งจ๋ฉ ์ค๋ฅ
$ sytemctl daemon-reload
System has not been booted with systemd as init system (PID 1). Can't operate.
Q: Prometheus๋ฅผ Docker Container ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถํ๋ ค๋๋ฐ
Systemctl ์ปค๋งจ๋ฉ์ด ์ ์ ์๋ํ์ง ์์์
Prometheus ์๋น์ค ๋ฑ๋ก์ด ๋ถ๊ฐํฉ๋๋ค..๐ฅ
A: Docker Container๋ Unprivileged ๋ชจ๋๊ฐ default๊ฐ์
๋๋ค.
์ด ๋ชจ๋๋ ์์คํ
์ ๋ฉ์ธ ๋ฆฌ์์ค์ ์ ๊ทผํ ์ ์๋ ๊ถํ์ด
๋ถ์กฑํ์ฌ, ์์คํ
์์ ์ ๊ทผ์ด ๋ถ๊ฐํฉ๋๋ค.
๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ Docker Container๋ฅผ Privileged ๋ชจ๋๋ก
์คํํด์ผํ ํ์๊ฐ ์์ต๋๋ค.
ํ์ง๋ง, ๋ง์ฝ ์ด๋ ๊ฒ ์ฝ๊ฒ ํด๊ฒฐ๋๋ค๋ฉด
์ด ๊ธ์ ์ถ๊ฐํ์ง ์์์ ๊ฒ์
๋๋ค๐
๊ฐํน, privileged ์ต์
์ด๋ /init ์ต์
์ ์ ์ฉํด๋
์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋คโโ
ํ๋จ์ ๋ด์ฉ์ ์ฐธ๊ณ ํ์ฌ ์ด Disgustingํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ญ์์คโโ
(์ด ๊ธ์ Prometheus ์ค์ ํ์ผ์ด ์ด๋ฏธ ๋ณผ๋ฅจ ๋ฐ์ธ๋ฉ๋์๋ค๋
๊ฒ์ ์ ์ ๋ก ์์ฑ๋์์ต๋๋ค.)
# node exporter์ ์ต์ ๋ฒ์ ํ์ธ ํ, ๋ค์ด๋ก๋ ๋งํฌ ํ๋ณด
# ํ ์์ , 1.4.0์ด ์ต์ ๋ฒ์
https://github.com/prometheus/node_exporter/releases/download/v1.4.0/node_exporter-1.4.0.linux-amd64.tar.gz
# ๋ก์ปฌ ์์ฑ ๋ฒ์
$ vi prom_node_exporter.sh
#!/usr/bin/env bash
container_name=`docker ps -q | xargs -n 1 docker inspect --format '{{ .Name }} {{range .NetworkSettings.Networks}} {{.IPAddress}}{{end}}' | sed 's#^/##' | grep [ํ๋ก์ ํธ๋ช
] | cut -d " " -f1`
docker exec -i $container_name wget -P /opt https://github.com/prometheus/node_exporter/releases/download/v1.4.0/node_exporter-1.4.0.linux-amd64.tar.gz
docker exec -i $container_name tar xvzf /opt/node_exporter-1.4.0.linux-amd64.tar.gz -C /opt/
docker exec -i $container_name rm -rf /opt/node_exporter-1.4.0.linux-amd64.tar.gz
docker exec -i $container_name /opt/node_exporter-1.4.0.linux-amd64/node_exporter --web.listen-address=:3010 &
# ์ปจํ
์ด๋ ๋ด๋ถ ์์ฑ ๋ฒ์
$ vi prom_mode_exporter.sh
#!/bin/bash
wget -P /opt https://github.com/prometheus/node_exporter/releases/download/v1.4.0/node_exporter-1.4.0.linux-amd64.tar.gz
tar xvzf /opt/node_exporter-1.4.0.linux-amd64.tar.gz -C /opt/
rm -rf /opt/node_exporter-1.4.0.linux-amd64.tar.gz
/opt/node_exporter-1.4.0.linux-amd64/node_exporter --web.listen-address=:3010 &
๊ฐ ์ ํ์ผ์ ๋ง์ง๋ง ์ปค๋งจ๋์์ 3010์ prometheus์์ ์ค์ ํ job task์ ํฌํธ๋ฅผ ์ฐธ๊ณ ํ์ฌ ์์ ํ์๋ฉด ๋ฉ๋๋ค.๐