Ansible-based deployment for Prometheus, Alertmanager, Grafana, pve-exporter, node exporter targets, and Ceph monitoring.
Run this after completing proxmox-prepare on your Proxmox hosts. To be done in the VM
When booting the VM copy the ssh key from the VM to all of the Proxmox nodes
ssh-keygen
ssh-copy-id root@<PVE IP>Ensure you have already run the proxmox-prepare playbook on your Proxmox hosts and created a Prometheus API token:
pveum user add prometheus@pve --comment "Prometheus monitoring user"
pveum user token add prometheus@pve monitoring --privsep 0
pveum aclmod / --users prometheus@pve --roles PVEAuditorSave the token value from the output — you will need it below.
Create a VM to run the monitoring stack (Ubuntu 22 recommended), then install the dependencies:
apt update
apt install -y git ansible jq curlcd /opt
git clone https://github.com/45Drives/proxmox-monitoring-stack.git
cd /opt/proxmox-monitoring-stackcp inventories/local/group_vars/all/vault.yml.example inventories/local/group_vars/all/vault.yml
cp inventories/local/hosts.yml.example inventories/local/hosts.ymlAdd the Prometheus API token value you saved earlier:
vim inventories/local/group_vars/all/vault.ymlvault_pve_token_value: "5f9f61a5-874f-4bbb-8eb7-07d926bee8idn"Add your email settings:
vim inventories/local/group_vars/all/main.ymlReplace the hostnames and IPs with your own Proxmox environment:
vim inventories/local/hosts.ymlcd /opt/proxmox-monitoring-stack
ansible-playbook site.ymlOnce the playbook completes, confirm the stack is running:
docker psAll monitoring containers should be up and running.
**NOTE:** the config files can all be found in the monitoring root (ex. /etc/prometheus/prom.yml)