*** JARED’S NETCOOL README ****
NOTES
– ldd and strace are your friends when tracking down libs, conf files, and mother trucking logs
- NETCOOL only runs on i686/i386 libs, you were warned (UPDATE: Jacob Steinberger on the netcoolusers.org list serv wanted me to point out that netcool runs on SunOs)
*** NETCOOL ***
[1] create netcool user as root
[2] login as netcool (do not su -, don’t ask me why, ibm’s docs say so)
[3] create dir `~/core`, transfer renamed tar to `core` and unpack (from ibm’s site CI3JDML, i renamed it for context)
tar xvf ~/core/CI3JDML_tivoli_netcool_omnibus_v731_core.tar |
[4] vi /etc/hosts (*hack for now)
192.168.1.101 nchost01
192.168.1.102 nchost02 |
[5] uncompress java from the .tar file, it is found in the
unzip /home/netcool/core/COI/PackageSteps/jre160IBMr7/FILES/jre160IBMr7-Linux32-1.6.700.0.zip |
[6] move jre to ~ and cleanup
mv /home/netcool/core/COI/PackageSteps/jre160IBMr7/FILES/platform/linux2x86/jre_1.6.7 ~/
rm -Rf /home/netcool/core/COI/PackageSteps/jre160IBMr7/FILES/platform |
[7] environment variables (add to .bashrc)
export NCHOME=/home/netcool/IBM/tivoli/netcool
export OMNIHOME=$NCHOME/omnibus
export PATH=$PATH:$NCHOME/omnibus/bin:$NCHOME/omnibus/probes:/home/netcool/jre_1.6.7/jre/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/netcool/IBM/tivoli/netcool/platform/linux2x86/lib
export JAVADIR=/home/netcool/jre_1.6.7/ |
[8] install the needed packages
yum install libXp-1.0.0-8 openmotif22-2.2.3-18 pam-1.1.1-4 pam.i686 libstdc++-4.4.4-13 libXft libXtst libgcc-4.4.4-13 libstdc++-4.4.6-3.el6.i686 libXpm-3.5.8 compat-libstdc++-296-2.96-144 compat-libstdc++-33-3.2.3-69 compat-libstdc++-33-3.2.3-47.3 compat-libstdc++-33.i686 libXmu.i686 openmotif.i686 openmotif22.i686 |
[9] potentially remove libXm 64bit
[netcool@nchost01 ~]$ yum remove libXmu.x86_64 |
*BEGIN PROTIP
If your install goes wrong remove these four hidden files (file / sym link) and run install.bin -i console again
OR
If you want to blow away the ~/IBM/tivoli/netcool dir and start over from step 10, delete these files
drwxrwxr-x. 20 netcool netcool 4.0K Feb 15 10:21 .acsi_nchost01
lrwxrwxrwx. 1 netcool netcool 28 Feb 13 06:33 .acsi_netcool -> /home/netcool/.acsi_nchost01
drwxrwxr-x. 3 netcool netcool 20K Feb 13 06:37 .coi
-rwxrwxrwx. 1 netcool netcool 2.5K Feb 13 06:37 .com.zerog.registry.xml |
*END PROTIP
[10] install core, use standard options, BUT install to custom dir /home/netcool/IBM/tivoli/netcool
/home/netcool/core/install.bin -i console
===============================================================================
Select Installation Directory
-----------------------------
Create an installation directory :
/opt/IBM/tivoli/netcool
ENTER AN ABSOLUTE PATH, OR PRESS <ENTER> TO ACCEPT THE DEFAULT DIRECTORY
(DEFAULT: /opt/IBM/tivoli/netcool): /home/netcool/IBM/tivoli/netcool |
[11] test to see if core and db installed/created succesfully
[netcool@nchost01 ~]$ /home/netcool/IBM/tivoli/netcool/omnibus/bin/nco_objserv -version
Netcool/OMNIbus Object Server - Version 7.3.1
(C) Copyright IBM Corp. 1994, 2007
Code Revision: 5.21.27
Library Revisions:
libnetcool: 5.21.27
libnoam: 5.21.27
libnsecurity: 5.21.27
libnipc: 5.21.27
libnstk: 5.21.27
libniduc_server: 5.21.27
libnregion: 5.21.27
libnmemstore: 5.21.27
libncmd: 5.21.27
libnstore: 5.21.27
libnproc: 5.21.27
libnauto: 5.21.27
libnobjserv: 5.21.27
network::ipv6: 5.21.27
Compilation Date: Wed Jan 12 19:13:14 GMT 2011
Compilation Machine: Linux 2.4.21-47.0.1.ELsmp i686
Compilation System: rhat3es-build1
Code Generation: PRODUCTION
Registered debug facilities:
nco_objserv_profiler_timings[ON], signal[ON], thread[ON], cmd[ON],
region[ON], objserv[ON], nco_objserv_profiler[ON], ipc_s_rpc[ON],
memstore[ON], nco_objserv[ON], clock[ON], timer[ON], sec_author[ON],
prop_mgr[ON], cb_mgr[ON], arg_mgr[ON], ipc_s_res[ON], noam[ON],
nco_objserv_vvtr[ON], ipc_s_not[ON], store[ON], auto[ON], proc[ON],
region_mutation[ON], sec_audit[ON], module[ON], ipc_s_ini[ON],
ipc_s_mut[ON], ipc_s_evt[ON]
[netcool@nchost01 ~]$ |
[12] copy/paste following into
vi /home/netcool/IBM/tivoli/netcool/etc/omni.dat
#
# omni.dat file as prototype for interfaces file
#
# Ident: $Id: omni.dat 1.5 1999/07/13 09:34:20 chris Development $
#
# Ibm in their wisdom thought it prudent to make
# P = Primary
# B = Backup
# (From their documents) Important: Ensure that you use these naming conventions for your ObjectServers and ObjectServer Gateways.
# The SQL import files and gateway configuration files, which are supplied for setting up the architecture,
# rely on compliance with these naming conventions. In particular, ensure that the primary ObjectServer names
# end in _P* and the backup ObjectServer names end in _B*.
[AGG_P]
{
Primary: nchost01 4100
}
[AGG_B]
{
Primary: nchost02 4150
}
[AGG_GATE]
{
Primary: nchost02 4105
}
[AGG_V]
{
Primary: nchost01 4100
Backup: nchost02 4150
}
[COL_P_1]
{
Primary: nchost01 4101
}
[COL_B_1]
{
Primary: nchost02 4151
}
[DIS_1]
{
Primary: nchost01 4102
}
[DIS_2]
{
Primary: nchost02 4152
}
[C_TO_A_GATE_P_1]
{
Primary: nchost01 4103
}
[C_TO_A_GATE_B_1]
{
Primary: nchost02 4153
}
[A_TO_D_GATE_1]
{
Primary: nchost01 4104
}
[A_TO_D_GATE_2]
{
Primary: nchost02 4154
} |
[14] Generate the interfaces file for Tivoli Netcool/OMNIbus communications by running the following command: // The interfaces file $NCHOME/etc/interfaces.arch is created, where arch represents the operating system name.
[15] we need to enable load balancing so copy default aggregation file and chmod to write perms
cp $NCHOME/omnibus/extensions/multitier/objectserver/aggregation.sql $NCHOME/omnibus/extensions/multitier/objectserver/aggregation_load_balancing.sql
chmod 755 $NCHOME/omnibus/extensions/multitier/objectserver/aggregation_load_balancing.sql |
[16] uncomment these lines in the aggregation file and write/quit
vi $NCHOME/omnibus/extensions/multitier/objectserver/aggregation_load_balancing.sql |
FROM:
------------------------------------------------------------------------------
-- INITIALISE LOAD-BALANCING FOR THE DISPLAY OBJECTSERVERS
-- NOT ENABLED BY DEFAULT
DELETE FROM master.servergroups;
go
-- INSERT INTO master.servergroups VALUES('DIS_1',1,1);
-- INSERT INTO master.servergroups VALUES('DIS_2',1,1);
-- go |
TO:
------------------------------------------------------------------------------
-- INITIALISE LOAD-BALANCING FOR THE DISPLAY OBJECTSERVERS
-- NOT ENABLED BY DEFAULT
DELETE FROM master.servergroups;
go
INSERT INTO master.servergroups VALUES('DIS_1',1,1);
INSERT INTO master.servergroups VALUES('DIS_2',1,1);
go |
* * * NCHOST1 * * *
[1] setup the different servers
cp $NCHOME/omnibus/extensions/multitier/gateway/C_TO_A_GATE.map $NCHOME/omnibus/etc/.
cp $NCHOME/omnibus/extensions/multitier/gateway/C_TO_A_GATE_P_1.* $NCHOME/omnibus/etc/.
cp $NCHOME/omnibus/extensions/multitier/gateway/A_TO_D_GATE.map $NCHOME/omnibus/etc/.
cp $NCHOME/omnibus/extensions/multitier/gateway/A_TO_D_GATE.tblrep.def $NCHOME/omnibus/etc/.
cp $NCHOME/omnibus/extensions/multitier/gateway/A_TO_D_GATE_1.props $NCHOME/omnibus/etc/.
$NCHOME/omnibus/bin/nco_dbinit -server AGG_P -customconfigfile $NCHOME/omnibus/extensions/multitier/objectserver/aggregation_load_balancing.sql
$NCHOME/omnibus/bin/nco_dbinit -server COL_P_1 -customconfigfile $NCHOME/omnibus/extensions/multitier/objectserver/collection.sql
$NCHOME/omnibus/bin/nco_dbinit -server DIS_1 -desktopserver -dsddualwrite -dsdprimary AGG_V -customconfigfile $NCHOME/omnibus/extensions/multitier/objectserver/display.sql |
[2] start the recently setup servers
$NCHOME/omnibus/bin/nco_objserv -name AGG_P &
$NCHOME/omnibus/bin/nco_objserv -name COL_P_1 &
$NCHOME/omnibus/bin/nco_objserv -name DIS_1 &
$NCHOME/omnibus/bin/nco_g_objserv_uni -propsfile $NCHOME/omnibus/etc/C_TO_A_GATE_P_1.props &
$NCHOME/omnibus/bin/nco_g_objserv_uni -propsfile $NCHOME/omnibus/etc/A_TO_D_GATE_1.props & |
* * * NCHOST2 * * *
[1] setup the different servers
cp $NCHOME/omnibus/extensions/multitier/gateway/AGG_GATE.* $NCHOME/omnibus/etc/.
cp $NCHOME/omnibus/extensions/multitier/gateway/C_TO_A_GATE.map $NCHOME/omnibus/etc/.
cp $NCHOME/omnibus/extensions/multitier/gateway/C_TO_A_GATE_B_1.* $NCHOME/omnibus/etc/.
cp $NCHOME/omnibus/extensions/multitier/gateway/A_TO_D_GATE.map $NCHOME/omnibus/etc/.
cp $NCHOME/omnibus/extensions/multitier/gateway/A_TO_D_GATE.tblrep.def $NCHOME/omnibus/etc/.
cp $NCHOME/omnibus/extensions/multitier/gateway/A_TO_D_GATE_2.props $NCHOME/omnibus/etc/.
$NCHOME/omnibus/bin/nco_dbinit -server AGG_B -customconfigfile $NCHOME/omnibus/extensions/multitier/objectserver/aggregation_load_balancing.sql
$NCHOME/omnibus/bin/nco_dbinit -server COL_B_1 -customconfigfile $NCHOME/omnibus/extensions/multitier/objectserver/collection.sql
$NCHOME/omnibus/bin/nco_dbinit -server DIS_2 -desktopserver -dsddualwrite -dsdprimary AGG_V -customconfigfile $NCHOME/omnibus/extensions/multitier/objectserver/display.sql |
[2] start the recently setup servers
$NCHOME/omnibus/bin/nco_objserv -name AGG_B &
$NCHOME/omnibus/bin/nco_objserv -name COL_B_1 &
$NCHOME/omnibus/bin/nco_objserv -name DIS_2 &
$NCHOME/omnibus/bin/nco_g_objserv_bi -propsfile $NCHOME/omnibus/etc/AGG_GATE.props &
$NCHOME/omnibus/bin/nco_g_objserv_uni -propsfile $NCHOME/omnibus/etc/C_TO_A_GATE_B_1.props &
$NCHOME/omnibus/bin/nco_g_objserv_uni -propsfile $NCHOME/omnibus/etc/A_TO_D_GATE_2.props & |
very awesome!
Nice Post Jared. Thanks for contributing to the Netcool community.
Hi Jared, This is really great post and really great effort. Thank you so much.
Jonnadula Nanaji
Hi Jared,
Is there a reason why you have chosen to install in a custom dir and any reason for cleaning the jre ?
Thanks
Raj
@Raj
I wanted to localize the installation to a specific part of the file system. Netcool generally pukes files all over the place when installing, which is super lame in my opinion.