Skip to main content

Hi everyone,

I’m runing Centreon 22.10.23 on Centos 7, and migrating to Debian 12 following this doc (https://eu-central-1.protection.sophos.com?d=centreon.com&u=aHR0cHM6Ly9kb2NzLmNlbnRyZW9uLmNvbS9kb2NzL21pZ3JhdGUvbWlncmF0ZS1mcm9tLWVsLXRvLWRlYmlhbi8=&p=m&i=NjUxYjE0ZGYxYzYxZDgxNTllOTFmOGEz&t=RnNobXpOMERrRlhWcmc5MTJiR1Zjcmh4c2tmdVFicFA2c3dRL202RkpJRT0=&h=88fcea6c9b85405b8eb764d52b9d3a03&s=AVNPUEhUT0NFTkNSWVBUSVYWn6ZWBeZKPjNzkzQdWhFdbGNZl4fRoI54YpLY0mFdhQ).

The new server work fine until the Maria DB import steps… after that, I get auhtentication error "Error while searching authentication tokens" + "Error while searching for the widgets version of the Centreon platform"). Did you get also this errors ? any idea ??? :-S 

Thank you in advance,

Best regards

See below my log file. :

 

/var/log/centreon/login.log:
2024-08-06 11:33:35|38|0|0|3local] 0127.0.0.1] Authentication succeeded for 'centreon-gorgone'
2024-08-06 11:33:43|21|0|0|3local] 0172.23.7.38] Authentication succeeded for 'XXXX'

-------------------
/var/log/centreon/centreon-web.log:
g2024-08-06T11:33:43+0200] 3ERROR] 0Core\Security\Authentication\Application\UseCase\Login\Login:166]: An error occurred during authentication {"trace":"PDOException: SQLSTATEo42S22]: Column not found: 1054 Unknown column 'sat.is_revoked' in 'where clause' in /usr/share/centreon/src/Core/Security/Authentication/Infrastructure/Repository/DbReadTokenRepositoryInterface.php:75\nStack trace:\n#0 /usr/share/centreon/src/Core/Security/Authentication/Infrastructure/Repository/DbReadTokenRepositoryInterface.php(75): PDOStatement->execute()\n#1 /usr/share/centreon/src/Core/Security/Authentication/Infrastructure/Repository/DbReadTokenRepositoryInterface.php(120): Core\\Security\\Authentication\\Infrastructure\\Repository\\DbReadTokenRepositoryInterface->findAuthenticationTokensByToken()\n#2 /usr/share/centreon/src/Core/Security/Authentication/Application/UseCase/Login/Login.php(112): Core\\Security\\Authentication\\Infrastructure\\Repository\\DbReadTokenRepositoryInterface->hasAuthenticationTokensByToken()\n#3 /usr/share/centreon/src/Core/Security/Authentication/Infrastructure/Api/Login/Local/LoginController.php(71): Core\\Security\\Authentication\\Application\\UseCase\\Login\\Login->__invoke()\n#4 /usr/share/centreon/vendor/symfony/http-kernel/HttpKernel.php(181): Core\\Security\\Authentication\\Infrastructure\\Api\\Login\\Local\\LoginController->__invoke()\n#5 /usr/share/centreon/vendor/symfony/http-kernel/HttpKernel.php(76): Symfony\\Component\\HttpKernel\\HttpKernel->handleRaw()\n#6 /usr/share/centreon/vendor/symfony/http-kernel/Kernel.php(197): Symfony\\Component\\HttpKernel\\HttpKernel->handle()\n#7 /usr/share/centreon/api/index.php(47): Symfony\\Component\\HttpKernel\\Kernel->handle()\n#8 {main}"}
~

-------------------
/var/log/centreon/sql-error.log
empty

-------------------
/var/log/centreon/centAcl.log
empty

-------------------
/var/log/centreon-gorgone/gorgoned.log
2024-08-06 11:33:32 - ERROR - 2core] Package 'gorgone::modules::core::action::hooks' already loaded
2024-08-06 11:33:35 - ERROR - 5autodiscovery] -class- host discovery - cannot get platform versions - request error qcode: '500'] omessage: 'Error while searching for the widgets version of the Centreon platform']
2024-08-06 11:34:34 - ERROR - 4autodiscovery] -class- host discovery - cannot get platform versions - request error qcode: '500'] omessage: 'Error while searching for the widgets version of the Centreon platform']
2024-08-06 11:35:34 - ERROR - 4autodiscovery] -class- host discovery - cannot get platform versions - request error qcode: '500'] omessage: 'Error while searching for the widgets version of the Centreon platform']
2024-08-06 11:36:34 - ERROR - 4autodiscovery] -class- host discovery - cannot get platform versions - request error qcode: '500'] omessage: 'Error while searching for the widgets version of the Centreon platform']
2024-08-06 11:37:34 - ERROR - 4autodiscovery] -class- host discovery - cannot get platform versions - request error qcode: '500'] omessage: 'Error while searching for the widgets version of the Centreon platform']
~


vi /var/log/apache2/error.log

rTue Aug 06 11:38:34.518668 2024] 1proxy_fcgi:error] fpid 1582:tid 1582] 2client 127.0.0.1:57356] AH01071: Got error 'PHP message: H2024-08-06T11:38:34+0200] 3CRITICAL] Error while searching for the widgets version of the Centreon platform {"context":"{object] (Centreon\\\\Domain\\\\Platform\\\\PlatformException(code: 0): Error while searching for the widgets version of the Centreon platform at /usr/share/centreon/src/Centreon/Domain/Platform/PlatformService.php:81)"}\n'
)Tue Aug 06 11:39:34.522561 2024] 2proxy_fcgi:error] fpid 821:tid 821] 2client 127.0.0.1:51760] AH01071: Got error 'PHP message: H2024-08-06T11:39:34+0200] 3CRITICAL] Error while searching for the widgets version of the Centreon platform {"context":"{object] (Centreon\\\\Domain\\\\Platform\\\\PlatformException(code: 0): Error while searching for the widgets version of the Centreon platform at /usr/share/centreon/src/Centreon/Domain/Platform/PlatformService.php:81)"}\n'

 

Hi,


Can you run the following command?

mariadb -u root -p centreon -e "desc security_authentication_tokens"

 

The output should look like this:

+---------------------------+-----------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------------------+-----------------------+------+-----+---------+-------+
| token | varchar(255) | NO | PRI | NULL | |
| provider_token_id | int(11) | YES | MUL | NULL | |
| provider_token_refresh_id | int(11) | YES | MUL | NULL | |
| provider_configuration_id | int(11) | NO | MUL | NULL | |
| user_id | int(11) | NO | MUL | NULL | |
| token_name | varchar(255) | YES | | NULL | |
| token_type | enum('auto','manual') | NO | | auto | |
| creator_id | int(11) | YES | MUL | NULL | |
| creator_name | varchar(255) | YES | | NULL | |
| is_revoked | tinyint(1) | NO | | 0 | |
+---------------------------+-----------------------+------+-----+---------+-------+

 

If the table does not exist for whatever reasons, here is a CREATE TABLE statement:

CREATE TABLE `security_authentication_tokens` (
`token` varchar(255) NOT NULL,
`provider_token_id` int(11) DEFAULT NULL,
`provider_token_refresh_id` int(11) DEFAULT NULL,
`provider_configuration_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`token_name` varchar(255) DEFAULT NULL,
`token_type` enum('auto','manual') NOT NULL DEFAULT 'auto',
`creator_id` int(11) DEFAULT NULL,
`creator_name` varchar(255) DEFAULT NULL,
`is_revoked` tinyint(1) NOT NULL DEFAULT 0,
PRIMARY KEY (`token`),
KEY `security_authentication_tokens_token_fk` (`token`),
KEY `security_authentication_tokens_provider_token_id_fk` (`provider_token_id`),
KEY `security_authentication_tokens_provider_token_refresh_id_fk` (`provider_token_refresh_id`),
KEY `security_authentication_tokens_configuration_id_fk` (`provider_configuration_id`),
KEY `security_authentication_tokens_user_id_fk` (`user_id`),
KEY `security_authentication_tokens_creator_id_fk` (`creator_id`),
CONSTRAINT `security_authentication_tokens_configuration_id_fk` FOREIGN KEY (`provider_configuration_id`) REFERENCES `provider_configuration` (`id`) ON DELETE CASCADE,
CONSTRAINT `security_authentication_tokens_creator_id_fk` FOREIGN KEY (`creator_id`) REFERENCES `contact` (`contact_id`) ON DELETE SET NULL,
CONSTRAINT `security_authentication_tokens_provider_token_id_fk` FOREIGN KEY (`provider_token_id`) REFERENCES `security_token` (`id`) ON DELETE CASCADE,
CONSTRAINT `security_authentication_tokens_provider_token_refresh_id_fk` FOREIGN KEY (`provider_token_refresh_id`) REFERENCES `security_token` (`id`) ON DELETE SET NULL,
CONSTRAINT `security_authentication_tokens_user_id_fk` FOREIGN KEY (`user_id`) REFERENCES `contact` (`contact_id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci

 


Hi itoussies !

Thanks a lot !!!!

So, 

The table exist but with less attributes :

+---------------------------+--------------+------+-----+---------+-------+
| Field                     | Type         | Null | Key | Default | Extra |
+---------------------------+--------------+------+-----+---------+-------+
| token                     | varchar(255) | NO   | PRI | NULL    |       |
| provider_token_id         | int(11)      | YES  | MUL | NULL    |       |
| provider_token_refresh_id | int(11)      | YES  | MUL | NULL    |       |
| provider_configuration_id | int(11)      | NO   | MUL | NULL    |       |
| user_id                   | int(11)      | NO   | MUL | NULL    |       |
+---------------------------+--------------+------+-----+---------+-------+

I drop the table and create the new one as you suggest → login is now possible 🙂 Thanks

But….. 

other issue after login… “

SQLSTATEo42S22]: Column not found: 1054 Unknown column 'topology_feature_flag' in 'field list'” and then stay freeze on dashboard :-(

So, I tried this :

mysql -u root -p

use centreon; ALTER TABLE topology ADD COLUMN topology_feature_flag varchar(255) DEFAULT NULL AFTER topology_OnClick; ALTER TABLE topology ADD topology_url_substitute VARCHAR(255) NULL AFTER topology_url_opt;

source : Column not found: 1054 Unknown column 'topology_url_substitute' · Issue #1603 · centreon/centreon · GitHub

And It works !!!! 

 

*Last issue is the widgets → error after login on the web interface “Error while searching for the widgets version of the Centreon platform”

And my check_nrpe. Example : 

xxxx@zzzz:/home/hhhh# /usr/lib64/nagios/plugins/check_nrpe -H ………


/usr/lib64/nagios/plugins/check_nrpe: error while loading shared libraries: libssl.so.10: cannot open shared object file: No such file or directory
 

 


Error while searching for the widgets version of the Centreon platform → Solved with

sudo apt-get install *nrpe*

sudo apt-get update + upfrade

But I don’t know why my check_nrpe command are not working. Result is now :

CHECK_NRPE: Receive header underflow - only 0 bytes received (4 expected).

Is it related to uncompatible version of NRPE v4.1.0 (on centreon side) and NSclient 0.4.1.102 (on host side) ? I was running version 3.2.1 of NRPE on old centreon server.


hello

could you provide the command that is run for the checks ?

there are some command line flags that should be present (for example I have some extra option like “-u -P 8192” in my templates, but I assume you are using the same command as before from your previous setup, so it’s probably not that)

 

also look at the installation documentation Linux NRPE4 | Centreon Documentation that explains what should be configured in the nrpe.cfg  (like “dont_blame_nrpe=1”)

if you just installed NRPE out of the box, you need to modify the config file and restart the nrpe daemon


Hi christophe.niel-ACT,

 

Thanks for your comments. I’m running the same command as before yes. 

Example : /usr/lib64/nagios/plugins/check_nrpe -H X.X.X.X -t 30 -c check_disk_pmt -n -a /w:10 /c:7 /d:C /p /u:GB

I tried to force a port but same issue. If I put wrong port number, I get a “ Connection refused” → that’s excpected and show that it’s not the root cause.

I will have a look to this documentation as you are right, my NRPE installation is out of the BOX! I will try tomorrow as I will need to work on an emergency.. Thanks a lot ! 


-P is for “payload size” (usually needed for large command output like with nsclient/nrpe on windows)

-p is for port

but yeah that is not the issue here, let us know if you can troubleshoot your issue when you can


Hello,

I was using the old version of check_nt (the one I copied from old centreon) -> I copy back the original one from the new installation -> it’s working !

But, I noticed that I have also a DNS issue in Centron.

Example, command “sudo -u centreon-engine /usr/lib64/nagios/plugins/check_nt -H myserver.mydomain.net -p 12489 -v CPULOAD -s XXXXXXX -l 15,90,95” return check_nt: Invalid hostname/address  but exactly same command run from the shell it’s working… !

And when I tried to export configurations fille by selecting  "Generate Configuration Files" + "Run monitoring engine debug (-v)" + "Move Export Files" + " Restart Monitoring Engine" -> no change in Monitoring  >  Status Details  >  Services…

Still working on it but I noticed also that :

  • Database issue

    1

  • Pollers not running

    1


for your non running poller, and database issue, that are problems that need fixing, that a lot of issues to unpack, if a poller is not “running” and the databese has issues, then maybe there are things to fix before trying to fix the non-working checks

 

Anyway, for the command, are you sure you are running the command from the correct shell (poller or central) ?

(as there are issue for pushing the new config, I’m not sure what you are running from where)

you should not use sudo but first run “su - centreon-engine”

then run the command “/usr/lib….” from that shell. do not use the “root” or other login, or it will cause issues.

 

there are some issue with running certain command that will work as root, but not as centreon-engine as the account don’t have the correct rights (like check_icmp for example)

compare the folders from you old servers, for example here the check_icmp has a  “rws” (s=setuid) that allow non-root user to use the command, that is maybe needed for that  old “check_nt” command

and that may explain why it can’t resolve dns (not sure about that)

 

first try simply a ping of the fqdn from both shell to see if both poller and central have the correct dns resolution. be sure to have setup the right DNS servers (that depends on your linux distribution and OS config)

if the ping works, then look into the file permission on the old server

 

(and I wonder why you have “sudo -u centreon-engine” in your command, that should no be here, there is no need for sudo anything in centreon commands interface)

 


Hello christophe.niel-ACT !

Thanks a lot for your help.

You are right, “sudo -u” is not needed, I copy/past my test commnd (tried with, without, also in non root user → same erreur). 

Rights on the command files are ok.

Currently, I have only 1 server.

As you mentionned, now I will need to fix the databse issue and pooler. I follow the post (Pollers not running and database issue | Community (centreon.com)) but without sucess. 

Not sure the following error is the root issue but need to be also resolved (I found a blog with potential solution but may take time to apply...)

root@centreon:/# systemctl status centengine
● centengine.service - Centreon Engine
     Loaded: loaded (/lib/systemd/system/centengine.service; enabled; preset: enabled)
     Active: active (running) since Tue 2024-08-13 12:54:18 CEST; 24min ago
   Main PID: 5278 (centengine)
      Tasks: 17 (limit: 4644)
     Memory: 24.1M
        CPU: 22.829s
     CGroup: /system.slice/centengine.service
             ├─ 5278 /usr/sbin/centengine /etc/centreon-engine/centengine.cfg
             └─13884 /usr/bin/perl -w /usr/lib64/nagios/plugins/sgichk_procurve_chassis.pl -H X.X.X.X -C public -2

Aug 13 13:18:09 centreon check_nrpe13771]: Error: (!log_opts) Could not complete SSL handshake with A.A.A.A: dh key too small
Aug 13 13:18:12 centreon check_nrpeh13780]: Error: (!log_opts) Could not complete SSL handshake with B.B.B.B: dh key too small
Aug 13 13:18:14 centreon check_nrpeh13791]: Error: (!log_opts) Could not complete SSL handshake with C.C.C.C: dh key too small
etc….

 

Most probalbly I have to fix this first : Central-brocker-master.log

2024-08-13T13:46:10.813+02:00] lsql] kerror] mysql_connection 0x7f3f90019450: error while starting connection: mysql_connection: The mysql/mariadb database seems not started. Waiting before attempt to connect again: Access denied for user 'xxxxx'@'localhost' (using password: YES)
e2024-08-13T13:46:10.813+02:00] (processing] rerror] failover: global error: mysql_connection: error while starting connection

→ Strange as my user passowrd stored in “/etc/centreon/centreon.conf.php” is correct as I tested it by using the command “mysql -u centreon -p -h localhost” and the provide the password… → I reapply mariaDB priviledge for account centreon → ok.

Issue I can see now in these file is :

r2024-08-13T10:02:38.976+02:00] pconfig] error] endpoint applier: The configured write filters for the endpoint 'central-rrd-master-output' contain forbidden filters. These ones are removed
t2024-08-13T10:02:38.976+02:00] fconfig] error] endpoint applier: The configured read filters for the endpoint 'central-rrd-master-output' contain forbidden filters. These ones are removed
t2024-08-13T10:02:38.976+02:00] fcore] einfo] multiplexing: 'central-rrd-master-output' starts with 0 in queue and the queue file is disable
→ wrong password define in /etc/centreon-broker/central-broker.json etc files

I will keep this post up to date

 

 


nrpe was using old ssl version, not supported by any current linux OS (alma 9, debian 12, etc..), there has been new version of nrpe, and now it is nrpe4, so copying old binaries from old linux is not going to work smoothly 

centreon provides a binaries to run nrpe commands (in the /usr/lib64/nagios/plugins directory) for compatibility purpose

it is check_centreon_nrpe3, it is provided with the plugin packs and not installed by default

it is version 4

 

Check what version of nrpe you are using

you could use -n for “no ssl” in your commands using nrpe but as there is no information on what you do, how and where you do it, it is complicated to help you and tell you where to put it

(and it probably will need you to allow non ssl communication in the nrpe.cfg of your hosts)

I would send you to read the dozens of post here, from 2017 and debian 9 Debian - check_nrpe 3.0.1-3 Could not complete SSL handshake (rc=-1 SSL-error=5) · Issue #113 · NagiosEnterprises/nrpe (github.com)

 

you could also check 

Checl NRPE Could not complete SSL handshake | Community (centreon.com)

check_nrpe compatibility with older Linux OS and nrpe clients | Community (centreon.com)

 

 

if you want some help, stop posting an new issue in each post, it was dns resolution, now it is ssl…

 

provide more information on your centreon infrastructure,

  • is it only a central and no poller, or are there pollers (1 or more additionnal to the central),
  • what are you checking (type of hosts, method snmp/nrpe/other and the agent running on these hosts)

when you run your check, please provide the exact command as generated in the web UI (hide your ip/password) (you get the command line from the detail of the service at the bottom of the page)

and provide the result as it is displayed in the UI and when you run this in the shell of the poller instance (central or poller) using the centreon-engine user 

provide the version of the binaries used in the command (like check_nrpe)

 

 

and my real advice : 

install a clean version of centreon, use the free IT-100 edition and try using the plugin-packs (there are 800+ of them)

i’m not saying to migrate everything there, but to at least test it works with whatever centreon provides and supports (and try stop using old 2000’s nagios check if a plugin pack exists in centreon)


Ok sorry, If I have a new issue I will open a new post, you are right.

And Yes I have only one central no poller…. initialy my goal was “just” to migrate my working centreon 22.x on centos7 to a debiean 12 with last centreon.. I follow the documentation but to many things went wrong (not saying the doc is bad :-))


Just to close this post, 

at the end, I installed a fresh new machine with Alma Linux 9 → more easy, no error during the migration.

Just 1 remining issue that you can follow on that forum here : Not able to create a downtime | Community (centreon.com)

 

And regarding my NRPE Erreur error: (!log_opts) Could not complete SSL handshake with A.A.A.A: dh key too small, at the end it’s easy… :-)

See that solution:
https://www.claudiokuenzler.com/blog/1115/check_nrpe-4.x-nsclient-5.x-ssl-error-could-not-complete-ssl-handshake
Also check that to script it:https://community.icinga.com/t/check-nrpe-ssl-err-5-error-could-not-complete-ssl-handshake/12178


Reply