Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente | |||
technique:adminsys:monitoring:collect:proxmox_metrics [2022/04/29 15:45] – ↷ Page déplacée de technique:adminsys:monitoring:metrologie:collect:proxmox_metrics à technique:adminsys:monitoring:collect:proxmox_metrics qduchemi | technique:adminsys:monitoring:collect:proxmox_metrics [2022/09/23 10:19] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{indexmenu_n> | ||
+ | # Proxmox | ||
+ | |||
+ | L'API de Proxmox expose beaucoup de métriques intéressantes. Grâce aux contributions de la communauté, | ||
+ | |||
+ | < | ||
+ | |||
+ | Les opérations ci-dessous sont à réaliser sur toutes les machines où Proxmox tourne. | ||
+ | |||
+ | < | ||
+ | |||
+ | ## Ajout d'un utilisateur lecture seule | ||
+ | |||
+ | L' | ||
+ | |||
+ | Créer un groupe `monitoring` avec la permission [PVEAuditor](https:// | ||
+ | |||
+ | ```bash | ||
+ | pveum groupadd monitoring -comment " | ||
+ | pveum aclmod / -group monitoring -role PVEAuditor | ||
+ | ``` | ||
+ | |||
+ | On crée ensuite un utilisateur appartenant à ce groupe : | ||
+ | |||
+ | ``` | ||
+ | pveum useradd pve_exporter@pve | ||
+ | pveum usermod pve_exporter@pve -group monitoring | ||
+ | pveum passwd pve_exporter@pve | ||
+ | ``` | ||
+ | |||
+ | Le mot de passe est à générer dans le [[asso: | ||
+ | |||
+ | < | ||
+ | L' | ||
+ | {{ : | ||
+ | |||
+ | Avec cet utilisateur, | ||
+ | </ | ||
+ | |||
+ | ## Installation de l' | ||
+ | |||
+ | On va utiliser [prometheus-pve-exporter](https:// | ||
+ | |||
+ | ``` | ||
+ | python3 -m pip install prometheus-pve-exporter | ||
+ | ``` | ||
+ | |||
+ | On crée un fichier de configuration à l' | ||
+ | |||
+ | ```yaml | ||
+ | default: | ||
+ | user: pve_exporter@pve | ||
+ | password: < | ||
+ | verify_ssl: false | ||
+ | ``` | ||
+ | |||
+ | Le mot de passe est celui généré précédemment. | ||
+ | |||
+ | On crée ensuite un service `systemd` pour que l' | ||
+ | |||
+ | ``` | ||
+ | [Unit] | ||
+ | Description=Proxmox VE Prometheus Exporter | ||
+ | After=network.target | ||
+ | Wants=network.target | ||
+ | |||
+ | [Service] | ||
+ | Restart=on-failure | ||
+ | ExecStart=pve_exporter / | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | ``` | ||
+ | |||
+ | < | ||
+ | `9221 0.0.0.0` indique d' | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | Pour écouter en IPv4 et IPv6, on peut créer un [service template](https:// | ||
+ | </ | ||
+ | |||
+ | Recharger la configuration de `systemd`, puis activer et lancer l' | ||
+ | |||
+ | ``` | ||
+ | systemctl daemon-reload | ||
+ | systemctl enable --now pve-exporter | ||
+ | systemctl status pve-exporter | ||
+ | |||
+ | ● pve-exporter.service - Proxmox VE Prometheus Exporter | ||
+ | | ||
+ | | ||
+ | Main PID: 3578 (pve_exporter) | ||
+ | Tasks: 1 (limit: 4915) | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | Jan 12 23:44:46 alice systemd[1]: Started Proxmox VE Prometheus Exporter. | ||
+ | Jan 12 23:44:46 alice pve_exporter[3578]: | ||
+ | ``` | ||
+ | |||
+ | On répète pour tous les hyperviseurs. | ||
+ | |||
+ | ## Sécurisation | ||
+ | |||
+ | Comme pour les autres métriques, on va restreindre l' | ||
+ | Vérifier qu'UFW a [[technique: | ||
+ | |||
+ | < | ||
+ | Rajouter une règle sur un UFW non configuré bloquera entièrement l' | ||
+ | </ | ||
+ | |||
+ | Ajouter la règle suivante : | ||
+ | |||
+ | ```bash | ||
+ | ufw allow proto tcp from <IPv4 monitoring> | ||
+ | ufw allow proto tcp from <IPv6 monitoring> | ||
+ | ``` | ||
+ | |||
+ | ## Configuration serveur | ||
+ | |||
+ | Du côté de `vmagent`, il faut ajouter une entrée dans le [[https:// | ||
+ | |||
+ | ```yaml | ||
+ | - job_name: " | ||
+ | static_configs: | ||
+ | - targets: | ||
+ | - " | ||
+ | - " | ||
+ | - " | ||
+ | metrics_path: | ||
+ | params: | ||
+ | module: [default] | ||
+ | ``` | ||
+ | |||
+ | < | ||
+ | On peut compléter la liste si de nouvelles machines tournent sous Proxmox. | ||
+ | </ | ||
+ | |||
+ | On redémarre ensuite `vmagent` sur la machine de monitoring. Depuis Grafana, on peut utiliser [ce dashboard](https:// | ||
+ | |||
+ | < | ||
+ | Le dashboard nécessite quelques adaptations (changer `name` en `storage` pour le nom des stockages, etc...), on ne détaille pas ici, c'est du détail et ça peut changer.</ |