Vous êtes ici:

Menu

PHP

Adaptez php-fpm à votre configuration

php-fpm-logo
Centreon 18.10 utilise PHP-FPM qui permet une communication entre le serveur Web et PHP, basé sur le protocole FastCGI. Ce mécanisme créé par Andrei Nigmatulin (source wikipédia) permet d'être plus robuste sur des sites subissant de fortes charges.
Lors de l'installation de Centreon avec les sources avec Debian, la configuration de php-fpm se fait avec les paramètres par défaut. Malheureusement, cette configuration s'avère vite insuffisante pour une utilisation intensive de Centreon.
Le fichier de log /var/log/php7.1-fpm.log nous indique assez rapidement, ce genre de message
[07-Nov-2018 14:56:02] WARNING: [pool www] server reached pm.max_children setting (5), consider raising it

Ce message indique que vous n'avez pas assez de processus pour php-fpm. Nous devrons donc augmenter cette valeur dans des proportions cohérentes par rapport à votre configuration.
Dans un premier temps, déterminez la mémoire vive utilisée par les différents processus (centengine, mysql, apache, etc) de votre serveur et estimez la valeur totale que vous pouvez allouer à php-rpm. Dans notre cas, nous prendrons comme valeur 1024 Mo de RAM.
Ensuite, déterminons la consommation par processus php-rpm avec cette commande (attention valable pour une distribution Debian pour le nom du processus) :
ps -ylC php-fpm7.1 --sort:rss
S UID PID PPID C PRI NI RSS SZ WCHAN TTY TIME CMD
S 33 15825 15807 0 80 0 29556 109221 - ? 00:00:00 php-fpm7.1
S 33 15826 15807 0 80 0 30756 109281 - ? 00:00:00 php-fpm7.1
S 0 15807 1 0 80 0 47032 107672 - ? 00:00:00 php-fpm7.1

Les valeurs qui nous intéresse sont celles-qui correspondent à la colonne RSS. C'est la consommation en Ko de chaque processus. Pour obtenir la moyenne, vous pouvez lancer cette commande.
ps --no-headers -o "rss,cmd" -C php-fpm7.1 | awk '{ sum+=$1 } END { printf ("%d%s\n", sum/NR/1024,"M") }'
29M

Nous pouvons calculer le nombre de processus maximum que vous pourrez allouer à votre service php-fpm :

Mémoire allouée en ko / moyenne en ko d'un processus php-fpm

soit

1024/29=35,31 soit 35 processus maximum

Nous éditons le fichier de configuration php-fpm

vi /etc/php/7.1/fpm/pool.d/www.conf

La configuration par défaut est la suivante
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

Nous allons configurer les différentes valeurs :
pm.max_children : la valeur maximum sera celle trouvée précédemment soit 35
Pour les autres valeurs, il n'y a pas de règle bien définie, je n'en ai pas trouvé. Nous dirons que pm.max_spare_servers ne peut être inférieur à pm.start_servers et ni supérieur à pm.max_children. Voici donc une proposition :
pm.max_children = 35
pm.start_servers = 10
pm.min_spare_servers = 10
pm.max_spare_servers = 20

Pour optimiser la durée des processus et les fuites de mémoires, on peut configurer les valeurs suivantes :
pm.process_idle_timeout = 10s;
pm.max_requests = 500

Et je n'ai pas parlé du CPU qui a une importance évidente pour le traitement des processus…



Comments

Le bug de la page blanche...

upgrade-centreon2602015-04-22_09-26-55_PM
Après plusieurs sollicitations pour une erreur de la page blanche lors de la première connexion à l'interface Web de Centreon. Je me suis décidé à faire un billet sur cette erreur intervenant suite à une nouvelle installation. Ce phénomène se produit après une erreur de saisie du paramètre date.timezone, voici les symptômes :
Vous ne rencontrez aucune erreur, lors de l'installation en mode web mais lors de votre première connexion en admin, vous obtenez une magnifique page blanche.

bug-page-blanche

Pour trouvez la cause de ce dysfonctionnement, rien de tel que de lire les logs du serveur Web. Pour la distribution Centreon, lancez cette commande :

tail /var/log/httpd/error_log

Pour une Debian
tail /var/log/apache2/error.log

Voici un extrait du résultat de la commande indiquant un problème du paramétrage du fuseau horaire pour le PHP avec le champ date.timezone invalide.
[Sun Sep 25 21:49:21.378713 2016] [:error] [pid 7974] [client 172.16.209.1:51267] PHP Fatal error:  Uncaught exception 'Exception' with message 'DateTime::__construct(): Invalid date.timezone value 'Europe/ Paris', we selected the timezone 'UTC' for now.' in /usr/share/centreon/www/class/centreonGMT.class.php:205\nStack trace:\n#0 /usr/share/centreon/www/class/centreonGMT.class.php(205): DateTime->__construct()\n#1 /usr/share/centreon/www/menu/Menu.php(172): CentreonGMT->getDate('Y/m/d G:i', 1474832961, '')\n#2 /usr/share/centreon/www/main.php(197): include_once('/usr/share/cent...')\n#3 {main}\n  thrown in /usr/share/centreon/www/class/centreonGMT.class.php on line 205, referer: http://172.16.209.80/centreon/
[Sun Sep 25 21:49:22.215978 2016] [:error] [pid 7976] [client 172.16.209.1:51270] PHP Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct(): Invalid date.timezone value 'Europe/ Paris', we selected the timezone 'UTC' for now.' in /usr/share/centreon/www/class/centreonGMT.class.php:205\nStack trace:\n#0 /usr/share/centreon/www/class/centreonGMT.class.php(205): DateTime->__construct()\n#1 /usr/share/centreon/www/include/common/javascript/autologoutXMLresponse.php(56): CentreonGMT->getDate('Y/m/d G:i', 1474832962, '')\n#2 {main}\n thrown in /usr/share/centreon/www/class/centreonGMT.class.php on line 205, referer: http://172.16.209.80/centreon/main.php?

En y regardant de plus près, on constate un espace supplémentaire entre le slash et Paris. Cet erreur de saisie n'est pas détectée lors de l'installation en mode Web de Centreon. Pour corriger ce bug, il suffit de modifier le champ date.timezone. Pour la distribution Centreon, vous devez modifier le fichier /etc/php.ini et pour Debian, vous devez modifier le fichier /etc/php5/apache2/php.ini.

Le format de la chaine de caractères du fuseau horaire doit être comme ceci sans espace entre le slash
Continent/Ville

Pour terminer, n'oubliez pas de relancez le serveur web apache. Pour la distribution Centreon
service httpd reload

Pour debian
service apache2 reload

Sources


Support des dates et heures
Liste des Fuseaux Horaires Supportés



Comments

Mise à jour Centron UI 2.5.4 vers 2.6.0

upgrade-centreon2602015-04-22_09-26-55_PM
Pour réaliser sa mise à jour sur Debian Wheezy avec CentreonUI 2.6.0, vérifiez les prérequis sur la documentation officielle de Centreon. Faites les mises à jour de votre moteur Centreon-Engine et Centreon-Broker. Évitez d'avoir un delta de mise à jour trop important surtout celle antérieur à 2.5 qui utilise un autre mécanisme de Traps SNMP. Bref, mettez toutes les chances de votre côté pour réaliser votre mise à jour sereinement en lisant ce nouvel article Mise à jour Centreon 2.5.4 vers 2.6.0. Vous aurez aussi la possibilité de mettre à jour la version PHP et vous préparer à la nouvelle version de Debian qui devrait sortir dans les heures qui viennent Happy

maj_centreon260
Comments

Centreon 2.5x et PHP sur Debian

debian

Avis à tous les lecteurs, avant de m'écrire que vous ne pouvez pas modifiez votre configuration... Happy

Depuis que la distribution Debian est passée en version 7.x (wheezy), l'interface Web Centreon fonctionne mal avec la version PHP 5.4 installée par défaut. Ceci est dû au framework utilisé qui n'est pas totalement compatible avec PHP 5.4. Malheureusement, il n'est pas prévu de mise à jour de cette interface, car les développeurs de Centreon travaillent d'arrache-pied à la nouvelle version prometteuse qui aura une toute nouvelle interface. Ce rappel concerne toutes les internautes qui veulent se lancer dans l'installation d'une supervision Centreon à base de Debian, n'installez pas la version PHP 5.4 avec Wheezy !
L'installation de Centreon ne vérifie pas la version du PHP et elle se termine sans problème. Le plus troublant, vous pouvez vous connecter et lancez le démarrage de la configuration. Votre supervision fonctionne ! Mais viennent ensuite les dysfonctionnements lorsque vous voulez ajouter, modifier vos hôtes et services. Voici un exemple simple d'un dysfonctionnement lors d'un ajout d'un hôte ci-dessous :

erreur-add


Si vous obtenez cet exemple de vue quand vous validez votre modification, ne cherchez pas ! Vous n'avez pas la bonne version de PHP.

Deux solutions s'offrent à vous :
- La première, la plus radicale, réinstaller votre supervision en configurant le gestionnaire de paquet APT comme indiqué dans cet article.
- La deuxième, la plus délicate, downgrader le PHP comme indiqué dans cette article http://blog.wpkg.org/2013/06/20/downgrading-to-php-5-3-on-debian-wheezy-7-0/

Cette deuxième solution évite la réinstallation de votre supervision, je viens de la tester. Merci à Clément pour avoir trouvé cette solution sur Internet Winking

Comments
 Vous êtes ici: