====== Mise en place du monitoring de l'infra ====== Choix d'utiliser InfluxDB + Grafana pour la partie métriques. Remontée des donnée depuis proxmox + complément via collectd. Choix d'utiliser picomon pour la partie fonctionnelle (services). ===== Accès aux données ===== La plupart des infos sont directement remontées dans InfluxDB via Proxmox (via l'onglet Metric Server). Pour accéder aux données de la carte mère des serveurs, il faut charger le module ''nct6775''. ===== Collectd ===== Installer seulement le paquet core ''collectd-core'' sinon on a beaucoup trop de choses. Fichier de conf sur les proxmox (on n'active que ce que proxmox ne remonte pas déjà) : FQDNLookup true Interval 60 LoadPlugin syslog LogLevel info LoadPlugin hddtemp LoadPlugin processes LoadPlugin sensors UseLabels true Sensor "nct6779-isa-0290/temperature-temp6" Sensor "nct6779-isa-0290/temperature-temp7" Sensor "nct6779-isa-0290/temperature-temp8" Sensor "nct6779-isa-0290/temperature-temp9" Sensor "nct6779-isa-0290/temperature-temp10" IgnoreSelected true LoadPlugin network Server "192.168.1.83" "25826" Si on veut la température des disques (si on en a qui la donnent…) il ne faut pas oublier de configurer hddtemp en mode daemon. ===== Grafana ===== https://grafana.com/docs/grafana/latest/installation/debian/ Pas de problème particulier en utilisant leur dépôt. Tout est indiqué, même, à l'installation du paquet, les commandes pour ''start'' ou ''enable'' l'unité systemd fournie. Écoute sur le port 3000 par défaut. Pour télécharger le paquet en https, on peut préférer éviter le cache APT qui de toutes façons ne servira à rien car une seule VM l'utilisera : Acquire::HTTP::Proxy::packages.grafana.com "DIRECT"; ===== Notes sur Graphite ===== Au début, l'idée était d'utiliser graphite pour stocker les données. Cependant pour accéder aux données il faut passer soit par l'api (http) soit par le web (api + interface). Ces paquets sont alternativement là puis plus là selon les versions de Debian… donc ennuyeux. De la même manière, dans grafana, des dashboard tout prêts existaient pour InfluxDB pour Proxmox mais pas pour graphite (même si d'autres dashboard pour collectd existent eux principalement pour graphite… !). Côté mise en place de graphite-web, le README.Debian du paquet propose une ligne de test (qui nous aurait suffit) mais qui ne passe plus pour les fichiers statiques avec un Django actuel (même avec la fonction Debug qui aurait dû…). On peut passer par uwsgi : aptitude install uwsgi uwsgi-plugin-python3 sudo -u _graphite uwsgi --plugin python3,http --http 0.0.0.0:8080 --chdir /usr/share/graphite-web/ --wsgi-file /usr/share/graphite-web/graphite.wsgi --master --processes 4 --threads 2 --stats 127.0.0.1:9191 --static-map /static=/usr/share/graphite-web/static ===== check_dns_soa ===== Pour tester la cohérence d'une zone DNS, on utilise le [[https://framagit.org/bortzmeyer/check_dns_soa/|check_dns_soa de Bortz']]. Pour le compiler, il suffit d'installer le paquet ''golang-github-miekg-dns-dev'' (qui est une dépendance mais packagé dans Debian Buster et qui ramènera tout le compilateur go s'il n'est pas déjà là), de récupérer le dépôt puis de taper ''go build check_dns_soa.go''. ===== Smokeping ===== Pour voir un peu la "qualité" (la latence augmente souvent en cas de charge) de l'interconnexion vers différents réseaux, on peut utiliser smokeping. J'ai choisi de le déployer avec nullmailer (simple renvoi de mail vers un smarthost, à la ssmtp) et mini-httpd pour leur simplicité et leur minimalisme (l'accès se fait uniquement via tunnel SSH donc pas de considération de sécurité). Installation (on passe de 89 Mo à 10 Mo avec nullmailer mini-httpd au lieu de exim/apache) : sudo aptitude install smokeping nullmailer mini-httpd nullmailer est configurable directement pendant l'installation debconf. Configurer mini-httpd (''/etc/mini-httpd.conf'') : user=www-data (paquet smokeping conçu pour) cgipat=cgi-bin/*/* (pour se laisser la possiblilité d'avoir d'autres dossiers cgi) Activer le mode daemon (''/etc/default/mini-httpd'') : START=1 Mise en place de smokeping en cgi dans mini-httpd : sudo mkdir -p /var/www/html/cgi-bin/smokeping sudo ln -s /usr/share/smokeping/www/* /var/www/html/cgi-bin/smokeping sudo ln -s /usr/share/smokeping/smokeping.cgi /var/www/html/cgi-bin/smokeping Pour configurer les cibles de smokeping, ça se passe ici : ''/etc/smokeping/config.d/Targets''. Il faut restart ou reload smokeping pour prendre en compte les changements côté crawler.