| Nagios: Monitor IBM DB2 database |
|
|
|
| Thursday, 13 October 2011 03:29 | |||
|
Install perl DBI module # perl -MCPAN -e 'install DBI'
Install the Application Development Client to be able to compile DBB:DB2 perl modules. Download it here: To Install the DB2 Application Development Client you need the library libstdc++.so.5. On my Centos 5.5 installation it was missing. I installed it like this: # rpm -q --whatprovides libstdc++.so.5 # yum -y install compat-libstdc++-33.i386 # find /usr/ -name libstdc++*
Download the correct DB2 "Dataserver Runtime Client" and store it in /tmp, I used v9.7: To Install the DB2 Runtime Client you need the library libaio.so.1. On my Centos 5.5 installation it was missing. I installed it like this: # rpm -q --whatprovides libaio.so.1 no package provides libaio.so.1 # yum -y install libaio.x86_64 # find /usr/lib64 -name libaio* # /usr/lib64/libaio.so.1 # cd /tmp # tar xvzf ibm_data_server_runtime_client_linuxx64_v97.tar.gz # cd rtcl # ./db2_install After the installation is finished succesfully you'll see this: db2_install program completed successfully. Set environmental variable DB2_HOME: # export DB2_HOME=/opt/IBM/db2/V9.7
Configure the DB2 Client. This step is needed to prevent error messages like: # groupadd db2grp1 # groupadd db2fgrp1 # groupadd dasadm1 # useradd -g db2grp1 -m -d /home/db2inst1 db2inst1 # useradd -g db2fgrp1 -m -d /home/db2fenc1 db2fenc1 # useradd -g dasadm1 -m -d /home/dasusr1 dasusr1 # /opt/ibm/db2/V9.7/instance/db2icrt db2inst1 Install perl DDB::DB2 module. Download the modules here: http://httpupdate37.cpanel.net/CPAN/authors/id/I/IB/IBMTORDB2/DBD-DB2-1.81.tar.gz # cd /tmp # tar zvxf DBD-DB2-1.81.tar.gz # cd DBD-DB2-1.81 # perl Makefile.PL # make # make test # make install Wow, now we can connect to the database. Get the Nagios plugin: # cd /tmp # wget http://labs.consol.de/wp-content/uploads/2010/12/check_db2_health-1.0.3.tar.gz # tar xvzf check_db2_health-1.0.3.tar.gz # cd check_db2_health-1.0.3 # ./configure # make # make install Now the script is installed in the default Nagios libexec directory: # ls /usr/local/nagios/libexec/check_db2_health Set the environmental setting so the library is found: # LD_LIBRARY_PATH=/opt/ibm/db2/V9.7/lib64 Check the database: # check_db2_health --username=root --password=******* --hostname vcenter.r71.nl --mode=connection-time Make sure the database accepts connections. Login to the vCenter server using ssh and execute the following commands: # /opt/db2/v9.7.2/adm/db2set DB2COMM=tcpip
# /opt/db2/v9.7.2/bin/db2 update dbm cfg using svcename
# /opt/db2/v9.7.2/bin/db2
db2 => LIST ACTIVE DATABASES
Active Databases
Database name = VCDB
Applications connected currently = 15
Database path = /storage/db/db2/home/db2inst1/db2inst1/NODE0000/SQL00001/
Beschikbare users: db2 => GET CONTACTS Name Type Address Max Page Length Description ------------------------------ ---------- ------------------------------ ---------------- ------------------------------ db2inst1 EMAIL db2inst1@localhost Contact added by DB2 Setup Wizard Login op linux als user db2inst1 ~> su - db2inst1 ~> db2set DB2COMM=tcpip ~> db2 update dbm cfg using agentpri system ~> db2 force applications all ~> dbstop ~> dbstart
Problem: when trying to connect the client to the database I get a Segmentation fault error. I'm having trouble solving this issue... Ideas are welcome!
|