131 lines
6.5 KiB
Markdown
131 lines
6.5 KiB
Markdown
|
# Installation sur Yunohost
|
|||
|
|
|||
|
Cela consiste simplement à exposer sur le web 3 types de fichiers properties (contenant une liste de clés/valeurs) :
|
|||
|
|
|||
|
1 fichier properties pour décrire le chaton (modèle);
|
|||
|
1 fichier properties par service (modèles);
|
|||
|
1 fichier properties de metrics par service (modèle).
|
|||
|
|
|||
|
Les deux premiers fichiers sont à faire à la main. Le troisième peut être généré par export ou par une moulinette d’analyse fournie et qu’il faut faire tourner 1 ou 2 fois par jour.
|
|||
|
|
|||
|
## Dossier accessible pour les metrics
|
|||
|
|
|||
|
Il faut un dossier ou les fichiers soient accessibles, comme Yunohost a des configuration `.well_know` pour tous ces noms de domaines dans `/var/www/.well_know` avec un dossier `autoconfig`, un dossier `/var/www/.well_know/www.linux07.fr/chatonsinfos/` a été créé.
|
|||
|
|
|||
|
Puis on a ajouté un fichier de configuration `/etc/nginx/conf.d/www.linux07.d/chatonsinfos.conf` avec ces paramètres
|
|||
|
|
|||
|
```
|
|||
|
location ^~ '/.well-known/chatonsinfos/' {
|
|||
|
alias /var/www/.well-known/www.linux07.fr/chatonsinfos/;
|
|||
|
}
|
|||
|
```
|
|||
|
Le nom de domaine `www.linux07.fr` est une une redirection vers `linux07.fr`, il est redirigé par l'application Redirect et sa configuration nginx est donnée par le fichier `/etc/nginx/conf.d/www.linux07.d/rediredt.conf`
|
|||
|
|
|||
|
```
|
|||
|
location / {
|
|||
|
return 302 https://linux07.fr$request_uri;
|
|||
|
}
|
|||
|
```
|
|||
|
On a vérifié si en ajoutant un fichier dans ce dossier il était accessible (en tapant tout le chemin du fichier).
|
|||
|
|
|||
|
C'est dans ce dossier que vont être créés les fichiers `metrics.properties` qui vont pouvoir être lus...
|
|||
|
|
|||
|
## organisation.properties
|
|||
|
|
|||
|
Le fichier organisation.properties est déclaré sur le git après un PR : [https://framagit.org/chatons/chatonsinfos/-/blob/master/StatoolInfos/chatons.properties#L138](https://framagit.org/chatons/chatonsinfos/-/blob/master/StatoolInfos/chatons.properties#L138)
|
|||
|
|
|||
|
Depuis ce fichier sont délarés les différents fichiers `service-nom_du_service-properties`
|
|||
|
|
|||
|
## Ajout de statoolsinfos
|
|||
|
|
|||
|
Installation de statoolsinfos, voir [https://forge.devinsy.fr/devinsy/statoolinfos/src/branch/master/README.md#install](https://forge.devinsy.fr/devinsy/statoolinfos/src/branch/master/README.md#install)
|
|||
|
|
|||
|
`apt-get install openjdk-11-jre-headless`
|
|||
|
|
|||
|
Créer les dossiers `/srv/statoolinfos/conf`, `/srv/statoolinfos/tmp` et `/srv/statoolsinfos/bin`
|
|||
|
|
|||
|
Télécharger la dernière release : [https://forge.devinsy.fr/devinsy/statoolinfos/releases](https://forge.devinsy.fr/devinsy/statoolinfos/releases) dans le dossier `/srv/statoolinfos/tmp`
|
|||
|
|
|||
|
Dézipper le package et and déplacer les fichiers `statoolinfos.jar` and `statoolinfo.sh` dans le dossier `/srv/statoolinfos/bin/`
|
|||
|
|
|||
|
On fait un lien symbolique du fichier `statoolinfos.sh`
|
|||
|
|
|||
|
```
|
|||
|
cd /srv/statoolsinfos/bin/
|
|||
|
ln -s statoolinfos.sh statoolinfos
|
|||
|
```
|
|||
|
Aussi un lien symbolique `well-know` pour que le dossier accessible `.well_know/www.rodinux.fr/chatonsinfos/` soit visible pour nous depuis `/srv/statoolinfos`
|
|||
|
|
|||
|
```
|
|||
|
cd /srv/statoolsinfos
|
|||
|
ln -s /var/www/.well-known/www.linux07.fr/chatonsinfos/ well-know
|
|||
|
```
|
|||
|
|
|||
|
Créer les dossiers `/srv/statoolinfos/conf/`, `/srv/statoolinfos/tmp/`
|
|||
|
|
|||
|
Dans le dossier `/srv/statoolinfos/conf/` on met en place des configurations properties pour chaque service
|
|||
|
Par exemple pour Etherpad
|
|||
|
|
|||
|
***/srv/statoolinfos/conf/pad.linux07.conf***
|
|||
|
|
|||
|
```
|
|||
|
conf.probe.types=HttpAccessLog, HttpErrorLog, Etherpad
|
|||
|
conf.probe.httpaccesslog.file=/var/log/nginx/pad.linux07.fr-access.log*
|
|||
|
conf.probe.httperrorlog.file=/var/log/nginx/pad.linux07.fr-error.log*
|
|||
|
conf.probe.httpaccesslog.pattern=
|
|||
|
conf.probe.etherpad.logs=/var/log/etherpad_mypads/etherpad.log
|
|||
|
conf.probe.etherpad.database.url=jdbc:mariadb://localhost/etherpad_mypads
|
|||
|
conf.probe.etherpad.database.user=User_DB
|
|||
|
conf.probe.etherpad.database.password=DB_PASSWORD
|
|||
|
conf.probe.target=/var/www/.well-known/www.linux07.fr/chatonsinfos/service-etherpad-metrics.properties
|
|||
|
|
|||
|
# Custom access log pattern with Java regex.
|
|||
|
# Default: "^(?<remoteAddress>[a-zA-F0-9\\\\:\\\\.]+) - (?<remoteUser>[^\\[]+) \\[(?<time>[^\\]]+)\\] \"(?<request>.*)\" (?<status>\\d+) (?<bodyBytesSent>\\d+) \"(?<referer>.*)\" \"(?<userAgent>[^\"]*)\".*$"
|
|||
|
#conf.probe.httpaccesslog.pattern=
|
|||
|
|
|||
|
```
|
|||
|
La commande pour tester les configurations:
|
|||
|
|
|||
|
`/srv/statoolinfos/bin/statoolinfos probe -full /srv/statoolinfos/conf/pad.linux07.conf`
|
|||
|
|
|||
|
### Usage
|
|||
|
|
|||
|
```
|
|||
|
Usage:
|
|||
|
statoolinfos [ -h | -help | --help ]
|
|||
|
statoolinfos [ -v | -version | --version ]
|
|||
|
|
|||
|
statoolinfos build <configurationfile> build property files from conf and input
|
|||
|
statoolinfos clear <configurationfile> remove property files from conf
|
|||
|
statoolinfos crawl <configurationfile> crawl all file from conf and input
|
|||
|
statoolinfos htmlize <configurationfile> generate web pages from conf
|
|||
|
statoolinfos probe OPTION [<directory>|<configurationfile>] generate metrics files from conf
|
|||
|
OPTION = [-full|-today|-previousday|-NN] with NN a day count
|
|||
|
statoolinfos uptime <configurationfile> update uptime journal
|
|||
|
|
|||
|
statoolinfos format <fileordirectory> format property files in tiny way
|
|||
|
statoolinfos list ip [-bot|-nobot] <fileordirectory> generate ip list from log file
|
|||
|
statoolinfos list ua [-bot|-nobot] <fileordirectory> generate user agent list from log file
|
|||
|
statoolinfos list visitors [-bot|-nobot] <fileordirectory> generate visitors (ip+ua) list from log file
|
|||
|
statoolinfos stat ip [-bot|-nobot] <fileordirectory> generate stats about ip from log file
|
|||
|
statoolinfos stat ua [-bot|-nobot] <fileordirectory> generate stats about user agent from log file
|
|||
|
statoolinfos stat visitors [-bot|-nobot] <fileordirectory> generate stats about visitors (ip+ua) from log file
|
|||
|
statoolinfos tagdate <fileordirectory> update the file.datetime file
|
|||
|
```
|
|||
|
## Dernières étapes
|
|||
|
|
|||
|
Maintenant on peut ajouter les liens dans les fichiers `service-application.properties`, par exemple pour `service-etherpad.properties` tout en bas
|
|||
|
|
|||
|
```
|
|||
|
# [Subs]
|
|||
|
# Un lien vers un fichier properties complémentaire (type URL, optionnel). Exemple : https://
|
|||
|
subs.foo = https://www.linux07.fr/.well-known/chatonsinfos/service-etherpad-metrics.properties
|
|||
|
```
|
|||
|
Mettre en place un crontab, ici 1 fois par jour en précsiant l’heure, par exemple 00h01
|
|||
|
|
|||
|
`1 0 * * * /srv/statoolinfos/bin/statoolinfos probe -previousday /srv/statoolinfos/conf/ >> /srv/statoolinfos/cron.log`
|
|||
|
|
|||
|
## Mise à jour
|
|||
|
|
|||
|
Pour les mises à jour de statoolinfos, il suffit juste de récuper le dernier fichier `statoolinfos.jar` et de le remplacer.
|