Upgrade

This support forum board is for support questions relating to Nagios XI, our flagship commercial network monitoring solution.
mmestnik
Posts: 972
Joined: Mon Feb 15, 2010 2:23 pm

Re: Upgrade

Post by mmestnik »

Changing MySQL libraries can also effect PHP. If you had to rebuild one thing it's likely that everything else needs to be recompiled as well.
micatwix
Posts: 36
Joined: Sun Jun 13, 2010 4:24 am

Re: Upgrade

Post by micatwix »

1. We are able to perform Apply Configuration - we see no errors.
2. We are running XI as a VM downloaded from your site.
3. We are using CentOS 5.4 32 Bit
4.
Changing MySQL libraries can also effect PHP. If you had to rebuild one thing it's likely that everything else needs to be recompiled as well.
"Everything Else" does not make sense for me, can you please be more specific ?
mmestnik
Posts: 972
Joined: Mon Feb 15, 2010 2:23 pm

Re: Upgrade

Post by mmestnik »

Your right, this is a result of the level of frustration I've had with this in the past. Typically these dependency chains extend all the way to libc and this then causes everything to mean exactly everything on that host. In these cases every thing is /bin/* /sbin/* /usr/bin/* /usr/sbin/* /lib/* /usr/lib/* and much, much more.

In the case of mysql the dependency chain could be relatively small. I've tested the following solution on a box that had OpenSSL upgraded.

Code: Select all

# Assuming the location and name of an un-packed NagiosXI tree.
cd /tmp/nagiosxi/subcomponents/
./install
Rebuilding and re-installing all(every) NagiosXI *subcomponent should be a "Good-Start" to rebuilding everything effected by the MySQL upgrade. Everything can be lessened by what, depends, or rather is linked against libmysql and anything that is intern linked against this smaller Everything.

* Subcomponent is anything that is compiled from source during the install.

The real answer is I don't know what I mean by Everything Else, other then to say "Too much is preferred over not enough."
micatwix
Posts: 36
Joined: Sun Jun 13, 2010 4:24 am

Re: Upgrade

Post by micatwix »

The MySQL server is working as expected - no startup or runtime errors in the log, the connections are working ok.
The PHP is working as well - no error in apache error log, beside of this warning : "PHP Deprecated: Function eregi() is deprecated in /usr/local/nagios/share/pnp/include/function.inc.php on line 1553" also it does connect to MySQL and I even can see changes, so both selects and updates are working.
I do not see any malfunction in the low level components you describe.
In the case of mysql the dependency chain could be relatively small. I've tested the following solution on a box that had OpenSSL upgraded.
# Assuming the location and name of an un-packed NagiosXI tree.
cd /tmp/nagiosxi/subcomponents/
./install
1. What is the relation of OpenSSL upgrade ?
2. Can you guarantee that all the configuration settings and the DB will be intact after this procedure ?
In case, the settings will be lost - what is the backup and restore procedure ?
mmestnik
Posts: 972
Joined: Mon Feb 15, 2010 2:23 pm

Re: Upgrade

Post by mmestnik »

I think we are migrating off task. This suggestion has now become a do it only because you could get lucky. it's not my ideal method of trouble shooting, but i should give you the option. If MySQL did indeed have a change(like a soname bump) that caused programs to no-longer link with it, then rebuilding everything regardless of dependency would be my recommendation. Better safe then sorry, in the case where there is no change then the result should also be a no-op. The end result would be ls/cat/vi and the like would have there mtimes adjusted and all get new inode numbers.

There is no relation, other then the solution is the same. OpenSSL has a number of security upgrades while MySQL can be relatively unchanging so it makes for a better example.

I can. This procedure does not interact with databases. The script changes to each build folder and then runs the commands in the folder to compile and install the subcomponent. Applications are re-installed.
micatwix
Posts: 36
Joined: Sun Jun 13, 2010 4:24 am

Re: Upgrade

Post by micatwix »

That did not work - same result.
We reverted back to previous version snapshot.
Do you have another solution ?
mmestnik
Posts: 972
Joined: Mon Feb 15, 2010 2:23 pm

Re: Upgrade

Post by mmestnik »

Code: Select all

[root@nagiosxi nagiosxi]# lsb_release -a
LSB Version:	:core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID:	CentOS
Description:	CentOS release 5.4 (Final)
Release:	5.4
Codename:	Final
First error:

Code: Select all

--2010-10-18 12:28:48--  http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
Resolving download.fedora.redhat.com... 209.132.183.67
Connecting to download.fedora.redhat.com|209.132.183.67|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2010-10-18 12:28:48 ERROR 404: Not Found.
I downloaded and installed this instead: http://download.fedora.redhat.com/pub/e ... noarch.rpm

Second error:

Code: Select all

checking for mysql_config... no


*** MySQL library could not be located... **************************

You chose to compile NDOutils with MySQL support, but I was unable to
locate the MySQL library on your system.  If the library is
installed,  use the --with-mysql-lib argument to specify the
location of the MySQL library.
installed, use the --with-mysql=DIR argument to specify the
location of the MySQL library, We assume mysql_config is in DIR/dir
NOTE: After you install the necessary libraries on your system:
      1. Make sure /etc/ld.so.conf has an entry for the directory in
         which the MySQL libraries are installed.
      2. Run 'ldconfig' to update the run-time linker options.
      3. Run 'make devclean' in the NDBXT distribution to clean out
         any old references to your previous compile.
      4. Rerun the configure script.

TIP: Try the following....
      ./configure --with-mysql=/usr/lib/mysql

********************************************************************
No mistaking this, missing "mysql" prereq. Ran ./1-prereqs.

Third error:

Code: Select all

Error: mysql conflicts with MySQL-server
You must install mysql_config, it should be part of the development files for mysql, ALA mysql-devel. However:

Code: Select all

[root@nagiosxi nagiosxi]# yum provides \*/mysql_config
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: hpc.arc.georgetown.edu
 * base: centos.omnispring.com
 * epel: www.gtlib.gatech.edu
 * extras: mirrors.adams.net
 * updates: mirrors.gigenet.com
mysql-5.0.77-4.el5_4.2.i386 : MySQL client programs and shared libraries
Repo        : base
Matched from:
Filename    : /usr/lib/mysql/mysql_config
Filename    : /usr/bin/mysql_config



mysql-5.0.89-1.i386 : MySQL client programs and shared libraries.
Repo        : chl
Matched from:
Filename    : /usr/lib/mysql/mysql_config
Filename    : /usr/bin/mysql_config



mysql-5.0.77-4.el5_5.3.i386 : MySQL client programs and shared libraries
Repo        : updates
Matched from:
Filename    : /usr/lib/mysql/mysql_config
Filename    : /usr/bin/mysql_config



You may installe one of these. I'll no-longer need access to your server, thank you for the help.

I may continue to investigate how NagiosXI may co-exist with 3rd party mysql packages, but the current solution is that you must be using a compatible mysql installation.
micatwix
Posts: 36
Joined: Sun Jun 13, 2010 4:24 am

Re: Upgrade

Post by micatwix »

I installed mysql as you requested.
Ran the prerequisite script and upgrade script
Here is the post upgrade symptoms:

1. No GUI - blank page - fixed by adding this to php.ini:

Code: Select all

short_open_tag = On
2. We see tons of errors like the one below after restarting the Nagios daemon :

Code: Select all

...
Warning: Service 'SVS_Name' on host 'Host_name' has no check time period defined!
...
3. Additionally we see this error in the log:

Code: Select all

Oct 19 04:35:22 nagiosxi NPCD[23810]: ERROR: Executed command exits with return code '1' 
Oct 19 04:35:22 nagiosxi NPCD[23810]: ERROR: Command line was '/usr/local/nagios/libexec/process_perfdata.pl -n -b /usr/local/nagios/var/spool/perfdata//host-perfdata.1287480908' 
Oct 19 04:35:22 nagiosxi NPCD[23810]: ERROR: Executed command exits with return code '1' 
Oct 19 04:35:22 nagiosxi NPCD[23810]: ERROR: Command line was '/usr/local/nagios/libexec/process_perfdata.pl -n -b /usr/local/nagios/var/spool/perfdata//service-perfdata.1287480908' 
4. No dash-lets in the GUI (see attached image)

5. Cannot "Apply Configuration" in the GUI (see attached image)

You can access the server using the same credentials.
You do not have the required permissions to view the files attached to this post.
mmestnik
Posts: 972
Joined: Mon Feb 15, 2010 2:23 pm

Re: Upgrade

Post by mmestnik »

I'll see what I can do. The FAQ has one answer for you:
http://support.nagios.com/wiki/index.ph ... .22_Errors
mmestnik
Posts: 972
Joined: Mon Feb 15, 2010 2:23 pm

Re: Upgrade

Post by mmestnik »

Code: Select all

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/
sqlite3.so' - /usr/lib/php/modules/sqlite3.so: undefined symbol: sqlite3_clear_b
indings in Unknown on line 0

Code: Select all

yum install sqlite-3.6.17-1.i386
Just for referance, I don't know any thing about CentOS/RedHat or yum... So this dosen't mean anything to the likes of me.

Code: Select all

[chl]
name=CHL Packages for Enterprise Linux 5 - $basearch
baseurl=http://yum.chrislea.com/centos/5/$basearch
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL

[chl-source]
name=CHL Packages for Enterprise Linux 5 - $basearch - Source
baseurl=http://yum.chrislea.com/centos/5/SRPMS
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-source-5&arch=$basearch
failovermethod=priority
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
gpgcheck=1
I'm re-performing the upgrade, this time making a log(script is a tool to make transcripts/log of a console session) to look for more errors.
Locked