2021-10-23 19:09:55 +02:00
# 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 de Java
Java :
```
apt-get install openjdk-11-jre-headless
```
## Configuration d'Apache
2022-01-15 17:45:04 +01:00
Création d'un fichier générique `cat /etc/apache2/statoolinfos.conf` qui sera includé plus tard :
2021-10-23 19:09:55 +02:00
```
Alias "/.well-known/statoolinfos/" "/srv/statoolinfos/well-known/statoolinfos/"
< Directory " / srv / statoolinfos / well-known / statoolinfos / " >
Options +Indexes
Require all granted
< / Directory >
```
## Configuration de Nginx
2022-01-15 17:45:04 +01:00
Création d'un fichier générique `cat /etc/nginx/statoolinfos.conf` qui sera includé plus tard :
2021-10-23 19:09:55 +02:00
```
2022-01-15 17:45:04 +01:00
location /.well-known/statoolinfos/
{
types
{
2021-10-23 19:09:55 +02:00
text/plain properties;
}
2022-01-15 17:42:01 +01:00
alias /srv/statoolinfos/well-known/statoolinfos/;
2021-10-23 19:09:55 +02:00
autoindex on;
}
```
## Espace de travail
Dossiers de travail :
```
mkdir -p /srv/statoolinfos/{conf,inputs,well-known}
```
2022-01-31 19:05:44 +01:00
# 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/"
< 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/
{
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
2021-10-23 19:09:55 +02:00
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;
```
2022-01-31 19:05:44 +01:00
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
## 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
```
2021-10-23 19:09:55 +02:00
2022-01-31 19:05:44 +01:00
## Configuration
Créer un fichier de configuration dans `/srv/statoolinfos/conf/foo.libre-service.eu.conf` :
2021-10-23 19:09:55 +02:00
```
2022-01-31 19:05:44 +01:00
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
2021-10-23 19:09:55 +02:00
```
2022-01-31 19:05:44 +01:00
Vérifier les permissions de lecture :
```
chmod go+r /srv/statoolinfos/well-known/statoolinfos/*
```
2021-10-23 19:09:55 +02:00
2022-01-31 19:05:44 +01:00
## Génération
2021-10-23 19:09:55 +02:00
2022-01-31 19:05:44 +01:00
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
```
2021-10-23 19:09:55 +02:00
2022-01-31 19:05:44 +01:00
Faire un lien :
2021-10-23 19:09:55 +02:00
```
2022-01-31 19:05:44 +01:00
cd /srv/statoolinfos
ln -s /etc/cron.d/statoolinfos cron
2021-10-23 19:09:55 +02:00
```