4.3 KiB
Service infos.libre-service.eu
StatoolInfos est un outil et un protocole pour partager des informations sur une fédération de services.
Déploiement
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/"
<Directory "/srv/statoolinfos/well-known/statoolinfos/">
Options +Indexes
Require all granted
</Directory>
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/
{
charset utf-8;
types
{
text/plain properties;
}
alias /srv/statoolinfos/well-known/statoolinfos/;
autoindex on;
}
Espace de travail
Dossiers de travail :
mkdir -p /srv/statoolinfos/{conf,inputs,well-known}
Ajout d'un nouveau service
Tout se passe sur la vm du service, sauf la dernière étape.
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/"
<Directory "/srv/statoolinfos/well-known/statoolinfos/">
Options +Indexes
Require all granted
</Directory>
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/
{
charset utf-8;
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
</VirtualHost>
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.libre-service.eu.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 principale de StatoolInfos, éditer /srv/statoolinfos/well-known/statoolinfos/services.properties
et ajouter une ligne subs
:
subs.foo=https://foo.libre-service.eu/.well-known/statoolinfos/foo.libre-service.eu.properties
Génération de métrics
Configuration de Java
Java :
apt-get install openjdk-11-jre-headless
Déploiement de statoolinfos
Récupérer la dernière 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.libre-service.eu.conf
:
conf.class=service
conf.protocol=StatoolInfos-0.5
conf.probe.types=HttpAccessLog, HttpErrorLog
conf.probe.httpaccesslog.file=/var/log/nginx/foo.libre-service.eu-access.log*
conf.probe.httperrorlog.file=/var/log/nginx/foo.libre-service.eu-error.log*
conf.probe.target=/srv/statoolinfos/well-known/statoolinfos/foo.libre-service.eu-metrics.properties
Vérifier les permissions de lecture :
chmod go+r /srv/statoolinfos/well-known/statoolinfos/*
Génération
Faire une première génération de métrics :
/srv/statoolinfos/bin/statoolinfos probe -full /srv/statoolinfos/conf/
Vérifier les permissions de lecture :
chmod go+r /srv/statoolinfos/well-known/statoolinfos/*
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