Alors nous sur notre instance de yunohost, on a simplement monté une mywebapp (un conteneur générique d’application yunhost) pour pouvoir exposer les fichiers
Ok, on est passé par un autre biais du coup. Les fichiers organisation
et service
sont sur un dépôt gitea. Pour les fichiers metrics, on a bidouiller un peu… en rajoutant un fichier de configuration nginx chatons.conf
dans un sous-domaine qui sert à une redirection /etc/nginx/conf.d/sous-domaine.tld.d/chatons.conf
ou nous avons ajouté
location ^~ '/.well-known/chatonsinfos/' {
alias /var/www/.well-known/sous-domaine.tld/chatonsinfos/;
}
et dans ce dossier /var/www/.well-known/sous-domaine.tld/chatonsinfos/
vont se trouver les fichiers metrics
.
Pour l’instant ça devrait marcher, mais pour un premier essai avec etherpad, nous avons eu que des erreurs…
Ça m’intéresse de savoir comment vous avez fait ceci dit. On se disait d’ailleurs que ce serait chouette de créer à l’avenir un paquet YunoHost dédié…
Salut,
bon j’ai toujours ces erreurs quand je lance une commande /srv/statoolinfos/bin/statoolinfos probe -full /srv/statoolinfos/conf/pad.linux07.conf
une serie de LINE IS NOT MATCHING
Pour d’autre service pareil…
Pour l’instant mes conf sont avec ces directives:
conf.probe.types=HttpAccessLog, HttpErrorLog
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.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=
Après investigation, je n’ai pas réussi à reproduire les erreurs. Tes fichiers de logs passent tout à fait normalement
Peux-tu me donner ta version de Java et de StatoolInfos :
java -version
statoolinfos.sh -v
Au passage, j’en ai profité pour ajouter la détection de Kuma en tant que bot. Donc j’ai fait une nouvelle release et je t’invite à remplacer le fichier statoolinfos.jar
salut, pour java
java -version
openjdk version "11.0.18" 2023-01-17
OpenJDK Runtime Environment (build 11.0.18+10-post-Debian-1deb11u1)
OpenJDK 64-Bit Server VM (build 11.0.18+10-post-Debian-1deb11u1, mixed mode, sharing)
statoolinfos
/srv/statoolinfos/bin# ./statoolinfos.sh -v
0.5.1-20220627220034
Après avoir changer de fichier statoolsinfos.jar
/srv/statoolinfos/bin# ./statoolinfos.sh -v
0.5.1-20230131174124
M’enfin !? Tout est bon. À tout hasard, si tu relances un probe -full, y-a-t-il encore des erreurs ?
Je crois que oui… J’ai ressayé avec etherpad aussi avec mattermost ou nextcloud…
Par exemple pour le fichier service.nextcloud.properties
# [File]
file.class=metrics
file.generator=StatoolInfos
file.datetime=2023-01-31T21:15:08.161651
file.protocol=statoolinfos 0.5.1
# [Metrics]
metrics.http.errors.2023.months=118
metrics.http.errors.2023.weeks=12,20,42,30,14
metrics.http.errors.2023.days=,,5,5,1,1,,,,2,3,12,,3,,9,1,14,7,11,,,,,,10,12,6,2,9,5
Pour le fichier service-etherpad.properties
# [File]
file.class=metrics
file.generator=StatoolInfos
file.datetime=2023-01-31T21:12:10.387393
file.protocol=statoolinfos 0.5.1
# [Metrics]
metrics.http.errors.2023.months=1839
metrics.http.errors.2023.weeks=,909,375,480,75
metrics.http.errors.2023.days=,,,,,,,,,25,32,261,184,265,142,177,62,21,,,20,95,413,,32,18,17,,,6,69
Tu penses que c’est normal ??
Si c’est normal, je peux essayer déjà une autre configuration de metrics ??
Non, ce n’est pas normal. Quand je lance sur ma machine, j’obtiens tout bon. Donc, d’où cela peut-il venir ?
Peut-être à cause d’un zabbix-agent ?? J’ai un zabbix externe qui écoute le serveur…
Ou une histoire de permissions ???
les fichiers access.log
et error.log
pour etherpad appartiennent à www-data adm
Cela me gêne, je ne vois pas qui est l’user adm
d’ailleurs…
Bon j’ai supprimé zabbix-agentd sur le serveur pour voir, mais ça ne change pas…
Ça serait étonnant. adm
est un groupe. La lecture des fichiers de logs semble se faire correctement puisque les logs d’erreur affichent les lignes du fichier. C’est bien mystérieux tout ça
Qu’est-ce que suis supposé obtenir avec cette commande ? c’est les access.log
que je n’obtiens pas correctement ? le script ne fonctionne pas comme il devrait ?? …
Voilà ce que tu es censé obtenir comme fichier de metrics : bon résultat.
Peux-tu afficher le contenu de ton fichier de configuration pad.conf
?
Le fichier que l’on a mis dans le dossier conf
de statoolinfos ?
/srv/statoolinfos# cat conf/pad.linux07.conf
conf.probe.types=HttpAccessLog, HttpErrorLog
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.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=
Où la configuration de etherpad_mypads ? là il s’agirait plutôt d’un fichier settings.json
… Je ne crois pas que ce soit de cela dont tu parles, de plus j’ai les mêmes erreurs sur d’autres applications…
Très bien, c’est le fichier que j’avais besoin de voir
Ok, trouvé. C’est cette ligne qui est mal gérée. Je pensais pourtant avoir fait ce qu’il faut. Et un bug de corrigé donc merci à toi
J’ai fait une nouvelle release, tu peux dès maintenant remplacer le fichier statoolinfos.jar. Recommandation de relancer une fois en mode -full
Et comme tu as fait plusieurs fichiers de configuration, tu peux faire une ligne de cron générique en indiquant le dossier des fichiers de conf au lieu de chaque fichier de conf unitairement :
1 * * * * root /srv/statoolinfos/bin/statoolinfos probe -previousday /srv/statoolinfos/conf/
Super oui; ça semble marcher !!
Du coup j fais cette commande probe-full sur chaque fichiers de conf avant ? ensuite je peux ensuite décommenter les lignes
subs.foo =` sur les fichiers properties
et ajouter le cron…
let’s go
Voilà, tout à fait
Deux coquillettes à corriger :
service.website = https://sondage.liux07.fr
et :
linux07-etherpadlinux07.properties 128 host.server.type = DISTRIBUTION
Dans le premier, rajouter un ‹ n › (c’est joli liux), dans le deuxième plutôt mettre PHYSICAL
.
Merci !! Je crois que ça va fonctionner !! Super, je prendrai le temps de documenter tout cela…
Ensuite, est-ce que je dois adapter les fichiers de conf suivant les services ? ou je les laissent tous tels quels ?? Pour l’instant j’ai mis la même chose sur chacun d’eux…