Anomalie #22207
Erreur remontée sonde piwik applications ARENA
100%
Description
Bonjour,
J'ai mis en place la sonde piwik sur edispatcher.
Les applications posh-profile remonte bien dans Piwik.
Par contre, pour les applications ARENA, j'ai une erreur 500 dans ma console de mon navigateur web. Du coup, les applications ARENA ne remontent pas dans Piwik.
Je n'ai rien dans mes logs apache (pas d'erreur)
Image 1 et 2 : Console du navigateur web
Du coup, j'essai d'attaquer directement l'URL qui provoque l'erreur 500 (l'URL qui est présente dans l'image 2) :
https://monintranet.ac-caen.fr/edispatcher/ng/piwik/GLOBAL/monintranet.ac-caen.fr?name=SANSCATEGORIE/Plate-forme collaborative : Tribu&appid=baef4c5a847b414a14b78de21de22866&urlid=522
Je tombe sur une page d'erreur (image 3) :
Slim Application Error The application could not run because of the following error: Details Type: InvalidArgumentException Message: Identifier "metrics" is not defined. File: /var/www/html/edispatcher/vendor/pimple/pimple/src/Pimple/Container.php Line: 96 Trace #0 /var/www/html/edispatcher/ng/Controllers/DefaultController.php(257): Pimple\Container->offsetGet('metrics') #1 [internal function]: Edispatcher\Controllers\DefaultController->piwikAction(Object(Slim\Http\Request), Object(Slim\Http\Response), Array) #2 /var/www/html/edispatcher/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php(41): call_user_func(Array, Object(Slim\Http\Request), Object(Slim\Http\Response), Array) #3 /var/www/html/edispatcher/vendor/slim/slim/Slim/Route.php(325): Slim\Handlers\Strategies\RequestResponse->__invoke(Array, Object(Slim\Http\Request), Object(Slim\Http\Response), Array) #4 /var/www/html/edispatcher/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(116): Slim\Route->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response)) #5 /var/www/html/edispatcher/vendor/slim/slim/Slim/Route.php(297): Slim\Route->callMiddlewareStack(Object(Slim\Http\Request), Object(Slim\Http\Response)) #6 /var/www/html/edispatcher/vendor/slim/slim/Slim/App.php(443): Slim\Route->run(Object(Slim\Http\Request), Object(Slim\Http\Response)) #7 /var/www/html/edispatcher/vendor/slim/http-cache/src/Cache.php(57): Slim\App->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response)) #8 [internal function]: Slim\HttpCache\Cache->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Slim\App)) #9 /var/www/html/edispatcher/vendor/slim/slim/Slim/DeferredCallable.php(43): call_user_func_array(Object(Slim\HttpCache\Cache), Array) #10 [internal function]: Slim\DeferredCallable->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Slim\App)) #11 /var/www/html/edispatcher/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(67): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Slim\App)) #12 /var/www/html/edispatcher/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(116): Slim\App->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response)) #13 /var/www/html/edispatcher/vendor/slim/slim/Slim/App.php(337): Slim\App->callMiddlewareStack(Object(Slim\Http\Request), Object(Slim\Http\Response)) #14 /var/www/html/edispatcher/vendor/slim/slim/Slim/App.php(298): Slim\App->process(Object(Slim\Http\Request), Object(Slim\Http\Response)) #15 /var/www/html/edispatcher/ng/index.php(127): Slim\App->run() #16 {main}
Renaud me dit que la partie metrics concerne grafana et promeuteus. Je n'ai pas installé ces applications et Renaud me dit que lui non plus, et que pourtant pour lui, les applications ARENA remontent dans Piwik.
Merci d'avance,
Nicolas.
Révisions associées
fixes #22207 Erreur remontée sonde piwik applications ARENA si pas de metrics
Historique
#1 Mis à jour par Arnaud FORNEROT il y a plus de 6 ans
- Projet changé de Envole-Mutualisé à eole-dispatcher
#2 Mis à jour par Renaud Dussol il y a plus de 6 ans
- Assigné à mis à Christophe LEON
- Priorité changé de Normal à Haut
Pour corriger cela :
Dans ng/Controllers/DefaultController.php :
entourer les lignes :
foreach ($rnes as $rne) {
$this->ci["metrics"]->appAccess($app->id,$url->id,$this->ci["profil"]->getProfil(),$rne);
Par une condition sur l'objet metrics :
if ($metrics) {
foreach ($rnes as $rne) {
$this->ci["metrics"]->appAccess($app->id,$url->id,$this->ci["profil"]->getProfil(),$rne);
}
}
#3 Mis à jour par Renaud Dussol il y a plus de 6 ans
ce sont les lignes 256-257
#4 Mis à jour par Nicolas Penot il y a plus de 6 ans
Je confirme que l'ajout du if corrige le bug !
Et un bug de résolu ;)
#5 Mis à jour par Christophe LEON il y a plus de 6 ans
- Statut changé de Nouveau à Résolu
- % réalisé changé de 0 à 100
Appliqué par commit ca20c03fb4a52c50edc817fe1999d651d2395686.
#6 Mis à jour par Arnaud FORNEROT il y a plus de 6 ans
- Version cible mis à Envole 5.7
#7 Mis à jour par Arnaud FORNEROT il y a plus de 6 ans
- Statut changé de Résolu à Fermé
#8 Mis à jour par Arnaud FORNEROT il y a presque 6 ans
- Tracker changé de Demande à Anomalie