169 lines
4.5 KiB
Markdown
169 lines
4.5 KiB
Markdown
# 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
|
|
|
|
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 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/
|
|
{
|
|
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
|
|
```
|