From a18dc8795200c03e2227e15b8d38db30292a993f Mon Sep 17 00:00:00 2001 From: Christian MOMON Date: Mon, 31 Jan 2022 18:00:53 +0000 Subject: [PATCH] Update README.md --- README.md | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) diff --git a/README.md b/README.md index e3e9335..316a966 100644 --- a/README.md +++ b/README.md @@ -332,3 +332,113 @@ Créer le cron `/etc/cron.d/statoolinfos` : ``` 4 * * * * root /srv/statoolinfos/bin/refresh >> /srv/statoolinfos/statoolinfos-cron.log ``` + +# Ajout d'un nouveau service + +Tout se passe sur la vm du service, sauf la dernière étape. + +## Configuration de Java +Java : +``` +apt-get install openjdk-11-jre-headless +``` + +## Configuration d'Apache + +Création d'un fichier générique `cat /etc/apache2/statoolinfos.conf` qui sera includé plus tard : +``` + Alias "/.well-known/statoolinfos/" "/srv/statoolinfos/well-known/statoolinfos/" + + Options +Indexes + Require all granted + +``` + +## Configuration de Nginx +Création d'un fichier générique `cat /etc/nginx/statoolinfos.conf` qui sera includé plus tard : +``` + location /.well-known/statoolinfos/ + { + types + { + text/plain properties; + } + + alias /srv/statoolinfos/well-known/statoolinfos/; + autoindex on; + } +``` + +## Espace de travail +Dossiers de travail : +``` +mkdir -p /srv/statoolinfos/{conf,well-known} +mkdir -p /srv/statoolinfos/well-known/statoolinfos/ +``` + +## Déclaration du service +Configurer l'accès well-known en ajoutant à la fin de la configuration Apache du site : +``` + # StatoolInfos + Include statoolinfos.conf + +``` +Ou au début du fichier de la configuration Nginx du site : +``` + # StatoolInfos. + include /etc/nginx/statoolinfos.conf; +``` + +Créer le fichier properties de type service à `/srv/statoolinfos/well-known/statoolinfos/foo.chalec.org.properties`. Une documentation des propriétés est disponible là : https://framagit.org/chatons/chatonsinfos/-/blob/master/MODELES/service.properties + +Vérifier les permissions de lecture : +``` +chmod go+r /srv/statoolinfos/well-known/statoolinfos/* +``` + +## Renseigner le fichier properties d'organisation + +Sur la vm `stats.chalec.org`, éditer `/srv/statoolinfos/well-known/statoolinfos/services.properties` et ajouter une ligne `subs` : +``` +subs.foo=https://foo.chalec.org/.well-known/statoolinfos/foo.chalec.org.properties +``` + +# Génération de métrics + +## Déploiement de statoolinfos + +Récupérer la dernièer version de StatoolInfos sur https://forge.devinsy.fr/devinsy/statoolinfos/releases. Puis placer dans `/srv/statoolinfos/bin/` les fichiers `statoolinfos.jar` et `statoolinfos.sh`. Faire un lien : +``` +cd /srv/statoolinfos/bin/ +ln -s statoolinfos.sh statoolinfos +``` + +## Configuration +Créer un fichier de configuration dans `/srv/statoolinfos/conf/foo.chalec.org.conf` : +``` +conf.class=service +conf.protocol=StatoolInfos-0.5 + +conf.probe.types=HttpAccessLog, HttpErrorLog +conf.probe.httpaccesslog.file=/var/log/nginx/foo.chalec.org-access.log* +conf.probe.httperrorlog.file=/var/log/nginx/foo.chalec.org-error.log* +conf.probe.target=/srv/statoolinfos/well-known/statoolinfos/foo.chalec.org-metrics.properties +``` + +## Génération + +Faire une première génération de métrics : +``` +/srv/statoolinfos/bin/statoolinfos probe -full /srv/statoolinfos/conf/ +``` + +Créer un cron `/etc/cron.d/staoolinfos` : +``` +2 * * * * root /srv/statoolinfos/bin/statoolinfos probe -previousday /srv/statoolinfos/conf/ >> /srv/statoolinfos/statoolinfos-cron.log +``` + +Faire un lien : +``` +cd /srv/statoolinfos +ln -s /etc/cron.d/statoolinfos cron +```