fusioninventory / fusioninventory-for-glpi

FusionInventory plugin for GLPI
http://www.FusionInventory.org/
GNU Affero General Public License v3.0
362 stars 150 forks source link

Server down with GLPI 9.4.1.1 et FI 9.4.0+1.0 #2789

Closed ppenin closed 5 years ago

ppenin commented 5 years ago

We have an issue with GLPI 9.4.1.1 and Fusion Inventory 9.4.0+1.0 Millions of lines like thoses are written in php-errors.log and the server is stucked. We had to shutdown/restart it and we have disabled Fusion Inventory plugin.

[2019-03-15 14:56:42] glpiphplog.ERROR: Toolbox::userErrorHandlerNormal() in /usr/share/glpi/inc/toolbox.class.php line 659 PHP Warning(2): in_array() expects parameter 2 to be array, null given Backtrace : :
inc/plugin.class.php:710 in_array() plugins/fusioninventory/setup.php:549 Plugin->isActivated() inc/plugin.class.php:377 plugin_fusioninventory_check_prerequisites() inc/plugin.class.php:267 Plugin->checkPluginState() inc/plugin.class.php:106 Plugin->checkStates() inc/plugin.class.php:1704 Plugin->init() inc/plugin.class.php:709 Plugin::getPlugins() plugins/fusioninventory/setup.php:549 Plugin->isActivated() inc/plugin.class.php:377 plugin_fusioninventory_check_prerequisites() inc/plugin.class.php:267 Plugin->checkPluginState() inc/plugin.class.php:106 Plugin->checkStates() inc/plugin.class.php:1704 Plugin->init() inc/session.class.php:616 Plugin::getPlugins() inc/includes.php:54 Session::loadLanguage() plugins/fusioninventory/b/deploy/index.php:50 include() {"user":"@s001linux02","mem_usage":"1.256\", 2.35Mio)"} [2019-03-15 14:56:43] glpiphplog.ERROR: Toolbox::userErrorHandlerNormal() in /usr/share/glpi/inc/toolbox.class.php line 659
PHP Warning(2): in_array() expects parameter 2 to be array, null given Backtrace : :
inc/plugin.class.php:710 in_array() plugins/fusioninventory/setup.php:549 Plugin->isActivated() inc/plugin.class.php:377 plugin_fusioninventory_check_prerequisites() inc/plugin.class.php:267 Plugin->checkPluginState() inc/plugin.class.php:106 Plugin->checkStates() inc/plugin.class.php:1704 Plugin->init() inc/plugin.class.php:709 Plugin::getPlugins() plugins/fusioninventory/setup.php:549 Plugin->isActivated() inc/plugin.class.php:377 plugin_fusioninventory_check_prerequisites() inc/plugin.class.php:267 Plugin->checkPluginState() inc/plugin.class.php:106 Plugin->checkStates() inc/plugin.class.php:1704 Plugin->init() inc/plugin.class.php:709 Plugin::getPlugins() plugins/fusioninventory/setup.php:549 Plugin->isActivated() inc/plugin.class.php:377 plugin_fusioninventory_check_prerequisites() inc/plugin.class.php:267 Plugin->checkPluginState() inc/plugin.class.php:106 Plugin->checkStates() inc/plugin.class.php:1704 Plugin->init() inc/plugin.class.php:709 Plugin::getPlugins() plugins/fusioninventory/setup.php:549 Plugin->isActivated() inc/plugin.class.php:377 plugin_fusioninventory_check_prerequisites() inc/plugin.class.php:267 Plugin->checkPluginState() inc/plugin.class.php:106 Plugin->checkStates() inc/plugin.class.php:1704 Plugin->init() inc/plugin.class.php:709 Plugin::getPlugins() plugins/fusioninventory/setup.php:549 Plugin->isActivated() inc/plugin.class.php:377 plugin_fusioninventory_check_prerequisites() inc/plugin.class.php:267 Plugin->checkPluginState() inc/plugin.class.php:106 Plugin->checkStates() inc/plugin.class.php:1704 Plugin->init() inc/session.class.php:616 Plugin::getPlugins() inc/includes.php:54 Session::loadLanguage() plugins/fusioninventory/index.php:49 include() {"user":"@s001linux02","mem_usage":"2.135\", 2.27Mio)"}

System configuration

GLPI 9.4.1.1 (/glpi => /usr/share/glpi) Installation mode: TARBALL

Server

Operating system: Linux s001linux02 4.4.0-142-generic #168-Ubuntu SMP Wed Jan 16 21:00:45 UTC 2019 x86_64 PHP 7.0.33-5+ubuntu16.04.1+deb.sury.org+1 apache2handler (Core, PDO, Phar, Reflection, SPL, SimpleXML, Zend OPcache, apache2handler, apc, apcu, bcmath, calendar, ctype, curl, date, dom, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, imap, json, ldap, libxml, mbstring, mysqli, mysqlnd, openssl, pcre, pdo_mysql, posix, readline, session, shmop, sockets, standard, sysvmsg, sysvsem, sysvshm, tokenizer, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, zip, zlib) Setup: max_execution_time="30" memory_limit="1024M" post_max_size="1000M" safe_mode="" session.save_handler="files" upload_max_filesize="1000M" Software: Apache/2.4.18 (Ubuntu) (Apache/2.4.18 (Ubuntu) Server at 10.100.10.18 Port 80) Mozilla/5.0 (Windows NT 6.1; WOW64; rv:65.0) Gecko/20100101 Firefox/65.0 Server Software: (Ubuntu) Server Version: 5.7.25-0ubuntu0.16.04.2 Server SQL Mode: Parameters: root@localhost/glpi Host info: Localhost via UNIX socket

mysqli extension is installed ctype extension is installed fileinfo extension is installed json extension is installed mbstring extension is installed iconv extension is installed zlib extension is installed curl extension is installed gd extension is installed simplexml extension is installed xml extension is installed ldap extension is installed imap extension is installed Zend OPcache extension is installed APCu extension is installed xmlrpc extension is installed exif extension is installed CAS extension is not present Database version seems correct (5.7.25) - Perfect!Database version seems correct (5.7.25) - Perfect! OK/usr/share/glpi/files/_log : OK OK/usr/share/glpi/config : OK OK/usr/share/glpi/files : OK OK/usr/share/glpi/files/_dumps : OK OK/usr/share/glpi/files/_sessions : OK OK/usr/share/glpi/files/_cron : OK OK/usr/share/glpi/files/_graphs : OK OK/usr/share/glpi/files/_lock : OK OK/usr/share/glpi/files/_plugins : OK OK/usr/share/glpi/files/_tmp : OK OK/usr/share/glpi/files/_cache : OK OK/usr/share/glpi/files/_rss : OK OK/usr/share/glpi/files/_uploads : OK OK/usr/share/glpi/files/_pictures : OK Web access to files directory is protectedWeb access to files directory is protected : OK

Libraries

htmLawed version 1.2.4 in (/usr/share/glpi/lib/htmlawed) phpmailer/phpmailer version 6.0.7 in (/usr/share/glpi/vendor/phpmailer/phpmailer/src) simplepie/simplepie version 1.5.2 in (/usr/share/glpi/vendor/simplepie/simplepie/library) tecnickcom/tcpdf version 6.2.26 in (/usr/share/glpi/vendor/tecnickcom/tcpdf) michelf/php-markdown in (/usr/share/glpi/vendor/michelf/php-markdown/Michelf) true/punycode in (/usr/share/glpi/vendor/true/punycode/src) iamcal/lib_autolink in (/usr/share/glpi/vendor/iamcal/lib_autolink) sabre/vobject in (/usr/share/glpi/vendor/sabre/vobject/lib) zendframework/zend-cache in (/usr/share/glpi/vendor/zendframework/zend-cache/src) zendframework/zend-i18n in (/usr/share/glpi/vendor/zendframework/zend-i18n/src) zendframework/zend-serializer in (/usr/share/glpi/vendor/zendframework/zend-serializer/src) monolog/monolog in (/usr/share/glpi/vendor/monolog/monolog/src/Monolog) sebastian/diff in (/usr/share/glpi/vendor/sebastian/diff/src) elvanto/litemoji in (/usr/share/glpi/vendor/elvanto/litemoji/src) symfony/console in (/usr/share/glpi/vendor/symfony/console) leafo/scssphp in (/usr/share/glpi/vendor/leafo/scssphp/src)

LDAP directories

Server: 'x.x.x.x', Port: '389', BaseDN: 'DC=xxxx,DC=priv', Connection filter: none, RootDN: 'CN=xxxxxx,OU=Comptes de Services,OU=xxxx,DC=xxxxx,DC=priv', Use TLS: none

SQL replicas

Not active

Notifications

Way of sending emails: SMTP (xxxxxxxx10.100.10.66)

Mails receivers

Name: 'xxxx@xxxx.fr' Active: Yes Server: '{10.100.10.87/pop/novalidate-cert/notls/debug}INBOX' Login: 'hotline-GLPI' Password: Yes Name: 'support-qgr@groupesaintsauveur.fr' Active: Yes Server: '{10.100.10.87/pop/novalidate-cert/notls/debug}INBOX' Login: 'support-QGR' Password: Yes

Plugins list

barcode              Name: Barcode                        Version: 2.4.0      State: Enabled
fields               Name: Champs supplémentaires         Version: 1.9.1      State: Enabled
timelineticket       Name: Chronologie des tickets        Version: 9.4+1.0    State: Enabled
escalade             Name: Escalades                      Version: 2.4.2      State: Enabled
fusioninventory      Name: FusionInventory                Version: 9.4.0+1.0  State: Not activated
flyvemdm             Name: Gestion d'appareil mobile Flyv Version: 2.0.0      State: To be cleaned
pdf                  Name: Impression pdf                 Version: 1.4.0      State: Not activated
datainjection        Name: Injection de fichiers          Version: 2.7.0      State: Enabled
mailanalyzer         Name: Mail Analyzer                  Version: 1.3.8      State: Enabled
ocsinventoryng       Name: OCS Inventory NG               Version: 1.6.0      State: Enabled
mreporting           Name: Plus de rapports               Version: 1.6.1      State: Enabled
reports              Name: Rapports                       Version: 1.12.0     State: Not activated
dporegister          Name: Registre DPO                   Version: 1.4        State: Not activated
dashboard            Name: Tableau de bord                Version: 0.9.6      State: Enabled

OCS Inventory NG Host: localhost Connection: Ok Use the OCSNG software dictionary: No

fralla2 commented 5 years ago

I'll let it run for the night and see if it fixes itself. It only started doing this since v9.4.1.1 of GLPI and when the FusionInventory is activated... Prior to 9.4.1.1 (example 9.4.0 and 9.2.3 before), FusionInventory plugins did not crumble the server like that and it stops as soon as I disable the plugins.

I can only suspect that because the workstations could not send their inventory (local fusioninventory client on each computer does an inventory every 24h and send it to the glpi plugins) but could not in the last 24h because the plugins wasn't working properly, they must be all trying to send their updated inventory at the same time now that they see the service as up and running....

That would explain the numerous https connexions and the mysql load on the server when I reactivate the plugins ;)

I'll keep you updated.

Thanks again for all your good work.

ppenin commented 5 years ago

Hello, I had to apply the fixes twice this evening because of mistakes done. It’s very important to apply glpi 9.4.1.1 upgrade to replace all files and check the code changed. One error and you get http 500 or another error. That was my case. Now, everything is ok. Good luck. Regards.

ppenin commented 5 years ago

Everything works fine since we applied @cedric-anne recommended actions

cedric-anne commented 5 years ago

Hi,

Thanks for the feedback.

Regards

fralla2 commented 5 years ago

Sorry for the late reply. We had to do some testing before reapplying the fix. It now seems to work fine but still get slowdowns in glpi from time to time...

What we did :

Is-it possible that the new 9.4.1.1 version of GLPI or the fusionInventory plugins is really more demanding on the mysql side??? For about 15-20 simultaneous connexions/process (glpi receiving inventory from computer agents), it peaks at around 15 000 instructions in 5 seconds lapse.... That seems a lot?

Thanks Francois

guillermohaad commented 5 years ago

apparently I have the same problem that I cannot activate my fusioninventory. I have glpi 9.4.2 + fusioninventory 9.4.0 +1.0 installed I do the cleaning you say and do nothing

fusion