虛擬機器使用docker搭建Prometheus

2021-10-02 01:56:19 字數 2955 閱讀 3082

docker pull prom/node-exporter

docker pull prom/prometheus

docker pull grafana/grafana

docker run -d -p 9100:9100 \

-v "/proc:/host/proc:ro" \

-v "/sys:/host/sys:ro" \

-v "/:/rootfs:ro" \

--net="host" \

prom/node-exporter

訪問url驗證是否啟動成功:

新建目錄prometheus,編輯配置檔案prometheus.yml

mkdir /opt/prometheus

cd /opt/prometheus/

vim prometheus.yml

global:

scrape_interval: 60s

evaluation_interval: 60s

scrape_configs:

- job_name: prometheus

static_configs:

- targets: ['localhost:9090']

labels:

instance: prometheus

- job_name: linux

static_configs:

- targets: ['192.168.200.104:9100']

labels:

instance: localhost

啟動prometheus,掛載配置的rules檔案,用於報警設定

docker run -d -p 9090:9090 \

-v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \

-v /opt/prometheus/rules.yml:/etc/prometheus/rules.yml \

prom/prometheus

啟動prometheus(熱載入)

docker run -d -p 9090:9090 -v /opt/prometheus:/etc/prometheus/ --name prometheus prom/prometheus --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/prometheus --web.console.libraries=/usr/share/prometheus/console_libraries --web.console.templates=/usr/share/prometheus/consoles --web.enable-lifecycle

熱載入:

訪問url驗證是否啟動成功:

訪問targets:

新建空資料夾grafana-storage,用來儲存資料

mkdir /opt/grafana-storage

設定許可權

chmod 777 -r /opt/grafana-storage

docker run -d \

-p 3000:3000 \

--name=grafana \

-v /opt/grafana-storage:/var/lib/grafana \

grafana/grafana

普通啟動

docker run -d \

-p 3000:3000 \

-v /opt/grafana-storage:/var/lib/grafana \

grafana/grafana

訪問url使用:

docker run \

--volume=/:/rootfs:ro \

--volume=/var/run:/var/run:rw \

--volume=/sys:/sys:ro \

--volume=/var/lib/docker/:/var/lib/docker:ro \

--volume=/dev/disk/:/dev/disk:ro \

--publish=8080:8080 \

--detach=true \

--name=cadvisor \

google/cadvisor:latest

普通啟動

docker run -d\

-p 8080:8080 \

google/cadvisor:latest

1,發現cadvisor 容器沒有正常啟動,檢視日誌,有如下報錯內容:docker logs cadvisor

failed to start container manager: inotify_add_watch

/sys/fs/cgroup/cpuacct,cpu: no such file or directory

解決方法,執行:

mount -o remount,rw '/sys/fs/cgroup'

ln -s /sys/fs/cgroup/cpu,cpuacct /sys/fs/cgroup/cpuacct,cpu

2,重啟docker時發現埠未釋放

$ ps -aux | grep -v grep | grep docker-proxy

檢視被docker-proxy占用的埠

停止 docker 程序,刪除所有容器,然後刪除 local-kv.db 這個檔案,再啟動 docker 就可以了

(感覺解決比較粗暴,會影響其他docker的執行)

docker rm $(docker ps -aq)

rm /var/lib/docker/network/files/local-kv.db

systemctl restart docker

重啟所有docker

docker與虛擬機器

首先需要明確一點 docker不是容器,它是建立容器的工具,是應用容器引擎。docker是一種輕量級的虛擬化技術,比傳統的虛擬機器效能更好。下圖是虛擬機器的體系結構 server 表示真實電腦。host os 真實電腦的作業系統,例如 windows,linux hypervisor 虛擬機器平台,...

虛擬機器安裝docker

在centos7安裝虛擬機器教程 建議先進入root使用者由最高的許可權 su i 輸入密碼就行 首先執行下面 刪除以前的docker sudo yum remove docker docker client docker client latest docker common docker lat...

搭建KVM虛擬機器

使用的系統是centos7 物理機ip 172.40.58.82 首先需要將物理機原先有的環境清空,再建立新的環境來支援虛擬機器的搭建 1 設定yum源 使用用centos7 1708.iso這個映象 將centos7 1708.iso 映象移動到 var lib libvirt images is...