Usine

Un wiki à l'usine !

Outils pour utilisateurs

Outils du site


monitoring

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
<Plugin syslog>
        LogLevel info
</Plugin>
 
LoadPlugin hddtemp
LoadPlugin processes
LoadPlugin sensors
 
<Plugin "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
</Plugin>
 
LoadPlugin network
<Plugin network>
  Server "192.168.1.83" "25826"
</Plugin>

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 :

/etc/apt/apt.conf.d/99_grafana
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 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.

monitoring.txt · Dernière modification : le 12/03/2021 à 13h38 de john