ITM Host Availability (ping attribute)

June 28th, 2009
by jimsander

Synopsis

A nice feature which isn’t publicized too much in ITM for Linux and Unix agents is the ping capability.

They’re refrerred to as “Host Availability” for Linux and “Ping Attributes” for Unix

Both will accept an input file containing a list of servers to “ping”, and both will return status and response time.

Enabling the ping hosts file

Linux

$CANDLEHOME/config/lz.ini: KLZ_PINGHOSTLIST=<path_to_list>
# e.g. KLZ_PINGHOSTLIST=$CANDLEHOME/config/my_hostlist
# Add this to the lz.config if you want to avoid having to reconfig the agent

Unix

$CANDLEHOME/config/ux.ini: KUX_PINGHOSTLIST=<path_to_list>
# e.g. KUX_PINGHOSTLIST=$CANDLEHOME/config/my_hostlist
# Add this to the lz.config if you want to avoid having to reconfig the agent

Extra feature difference

One minor, but important, difference is that the Linux component will only ping servers in the list, while the Unix component has the additional feature using a situation to ping any target host from any managed system.

This makes every managed system (agent) a ping source to target critical servers.

Attribute Group: UNIX Ping
Situation Definitions: System_Name == $NODE$, Target_Host == webserver1
  • Share/Bookmark

Tags: , , , , , , , , , , ,
Posted in ITM6.x | Comments (0)

ITM v6 Gripes (Missing functionality)

June 26th, 2009
by jimsander

As a Tivoli consultant, I’ve had to tweak, torque and tune ITM v6 to fulfill requirements not met out of the box. Several of my clients have felt ripped off by IBM for having paid for a product billed as covering best practices out of the box, only to discover, there is significant development costs involved.

I’m going to itemize and update the shortcomings as I think or run across them, and in all fairness, update if ITM fills the void.

Situations

  1. Attributes, values and situation specific data is not passed to the ‘Take Action” command
    • Typically this is passed in the shell’s environment
    • However, these important pieces of info ARE passed to the EIF
  2. Inability to determine what situations are running on which systems, or reversed, inability to derive which situations are running on any particular system

Windows Agent

  1. No regular expressions for directory/file matching

Unix Agent

  1. No regular expressions for directory/file matching (Unix and Linux)

Oracle Agent (ITMfDatabases)

  1. (<= v6.2.0) Does not detect listeners if dynamically configured
  • Share/Bookmark

Tags: , , , , , , , , , , , , , , ,
Posted in ITM6.x | Comments (0)

Quick and Dirty LAMP

June 26th, 2009
by jimsander

Installing a LAMP stack: Linux – Apache, PHP, and MySQL on Fedora Core

Assuming you already have Linux and Yum installed.

1. Install Apache (httpd), PHP, MySQL (server and client), and the component that allows
php to talk to mysql.

 yum -y install httpd php mysql mysql-server php-mysql

2. Configure the new services to start automatically

  /sbin/chkconfig httpd on
  /sbin/chkconfig --add mysqld         [this is not required with FC4 and above]
  /sbin/chkconfig mysqld on

  /sbin/service httpd start
  /sbin/service mysqld start

3. IMPORTANT! Set up the mysql database root password. Without a password, ANY user on the box can login to mysql as database root. The mysql root account is a separate password from the machine root account.

 mysqladmin -u root password 'new-password'           [quotes are required]

4. Make additional security-related changes to mysql.

 mysql -u root -p

 mysql> DROP DATABASE test;                            [removes the test database]
 mysql> DELETE FROM mysql.user WHERE user = '';        [Removes anonymous access]
 mysql> FLUSH PRIVILEGES;

5. Following the above steps, the document root for Apache is /var/www/html/

Create a test PHP script (such as phpinfo.php) and place it in the document root. A useful
test script sample:

 <?php
    phpinfo();
 ?>

6. Create a database and database user for your data. You will use this database and user name
in your database connection string. The GRANT statement actually creates a new MySQL user account.

 mysql> CREATE DATABASE web_db;
 mysql> GRANT ALL PRIVILEGES ON web_db.* TO 'web_user'@'localhost' IDENTIFIED BY 'thepassword';
  • Share/Bookmark

Tags: , , , , , , , , , , , ,
Posted in webservices | Comments (0)

Windows Ports

June 14th, 2009
by jimsander

I was experimenting with WAMP on my laptop, not a big deal in itself, but when I rebooted the Apache server failed to start.

Event logs showed something else had already been binded to port 80.

Quick Fix was to determine which PID had it by running the following:
netstat -ano
From there you can use task manager, determine the conflicting process, kill the PID.

(If you had CYGWIN installed)
netstat -ano | grep :80
ps -Wef | grep <pid> # To determine the process
kill -9 <pid>

  • Share/Bookmark

Tags: , , , , , , , , , , , , , , , , , , , ,
Posted in Non-Tivoli, WindozeMiscellaneous | Comments (0)

ITM TDW Schema

June 3rd, 2009
by jimsander

Not that there is a lot to the TDW layout, but knowing the schema assists in the documentation process and developing queries and procedures of the TDW (Tivoli Data Warehouse).

Make short work of this by using the opensource tools of SchemaSpy and Graphviz

SchemaSpy is a jar file that supports over 21 DBs, including the 3 supported by ITM TDW (Oracle, Sybase, MSSQL) and is run from the command line to generate a html directory of content about the interrogated schema.

jdsmedia@deant61p /usr/local/bin
$ java -jar ./schemaspy.jar -t ora -db testtdw -s ITMUSR -dp c:\\OraClient11g\\jdbc\\lib\\ojdbc5_g.jar -u XXX -p XXX -o c:/cygwin/tmp/tdw

Using database properties:
[./schemaspy.jar]/net/sourceforge/schemaspy/dbTypes/ora.properties

Connected to Oracle – Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 – 64bit Production

With the Partitioning, OLAP and Data Mining options

Gathering schema details………………………………………………..
……………………………….

  • Share/Bookmark

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
Posted in ITM, TDW2.x | Comments (0)

ITM Agent(aka:TEMA) for Omnibus fails to install in $CANDLEHOME

May 22nd, 2009
by jimsander

Par for the course with IBM Tivoli’s porting of aqcuired products and their attempt at integrating them together, the ITM Agent for the a Netcool’s Omnibus  does not install in the expected $CANDLEHOME.

IBM has opened an enhancement request based on the PMR I opened. My workaround below.

Problem title
TEMA for Omnibus does support optional $CANDLEHOME paths
.
Problem description Read the rest of this entry »

  • Share/Bookmark

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , ,
Posted in ITM, Omnibus72x | Comments (0)

“Smart um_cleanup”

March 21st, 2009
by jimsander

DOWNLOAD:  

The ‘um_cleanup’ script that comes with ITM6 Universal Agent I’m convinced was written by an intern or co-op who just learned the basics of scripting.

I “rewrote” the whole darn thing with the following comments and syntax:

um_cleanup_jds.ksh -h
USAGE: um_cleanup_jds.ksh [UA|CMS|CNPS|ALL]

um_cleanup_jds.ksh -f

You need only supply a single arg - the component or force

where

-f is only required if NO ARGS are supplied

no args assumes ALL and prompts unless '-f'

This is a cleaned up version of the 'um_cleanup' script provided

with ITM6.x. It'll figure out the variables as a half-way decentprogram should.

#############################################################################

# Modified by Jim Sander : jimsander@jdsmedia.net

# Date: 03.20.09

# Laziest damn script fix up

# - there's no reason why somebody in the automation business

# needs to be pluggin in specific variables for an already 'shotgun'

# approach.

# - Added simple iterative loops to run down every friggin

# working path

# - The ONLY required input value should be the 'CLEANOPT'

# and it should take a list

# - no args assumes 'ALL' and prompt or force option

# - take an individual arg

# - TEMSNAME is only used on a TEMS (so why do they expect you to do

# provide it on every component

#############################################################################

  • Share/Bookmark

Tags: , , , , , , , , , , , , ,
Posted in ITM, Non-Tivoli | Comments (0)

ITM62 T/EC Rulebase Changes

October 2nd, 2008
by jimsander

ITM 6.2 FP1 contains several new and changed T/EC class changes, ranging from new classes, new slots, and only ONE new slot (omnux_value replacing kux_value).

**I have not seen an ITM event containing kux_value nor omnux_value, but to be safe, I added the old ‘kux_value’ slot to the kux.baroc file.

TOTAL: 22 baroc files

Baroc

Difference 

Desc 

ka4.baroc 

Changes 

Sentry3_5_Base class changed to Omegamon_Base

14 new classes

** JDS: Replace with new baroc

khd.baroc 

New 

 

kib.baroc 

Changes 

Sentry3_5_Base class changed to Omegamon_Base

one new slot: link_table in ITM_Universal_Messages

** JDS: Replace with new baroc

klz.baroc 

Changes 

Sentry3_5_Base class changed to Omegamon_Base

3 new classes : File pattern, comparison and host availability

several new slot changes : file information file content changed and checksum

** JDS: Replace with new baroc

knt.baroc 

Changes 

Sentry3_5_Base class changed to Omegamon_Base

8 new classes

several slot changes

** JDS: Replaced with new baroc

koq.baroc 

Changes 

Sentry3_5_Base class changed to Omegamon_Base

3 new classes

** JDS: Replaced with new baroc

kor.baroc 

Changes 

Sentry3_5_Base class changed to Omegamon_Base

11 new classes

several new slots : including table space used/allocated, processes, session details, lock wait time

** JDS: Replaced with new baroc

koy.baroc 

Changes 

Sentry3_5_Base class changed to Omegamon_Base

1 new class : Sybase segment detail

several new slots : lock wait time, engine number and status, number of databases open, logon available

** JDS: Replaced with new baroc

kp5.baroc 

New 

 

kph.baroc 

None 

 

kpk.baroc 

None 

 

kpv.baroc 

New 

 

kpx.baroc 

None 

 

kqr.baroc 

New 

 

kqv.baroc 

New 

 

kqx.baroc 

New 

 

ksy.baroc

New 

 

kud.baroc

Changes 

Sentry3_5_Base class changed to Omegamon_Base

3 new classes

new slots added to existing classes

** JDS: Replace with new baroc

kul.baroc 

Changes 

Sentry3_5_Base class changed to Omegamon_Base

** JDS: Replace with new baroc

kux.baroc 

Changes 

Sentry3_5_Base class changed to Omegamon_Base

kux_value(STRING) changed to omunx_value(STRING)

8 new classes added

** JDS: Modified new kux.baroc to include kux_value slot

kva.baroc 

None 

 

om_tec.baroc 

None 

 

 

 

  • Share/Bookmark

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
Posted in Non-Tivoli | Comments (0)

Hosting : Why does every visit to my website have the same IP address?

September 4th, 2008
by jimsander

Reference: http://help.mosso.com/article.php?id=180

Your script is calling for the “REMOTE_ADDR” and receives the IP of a server in front of one of our back-end servers. The web facing server is then passing the scripts output without giving the expected REMOTE_ADDR of the visitor. In order for your scripts to recognize that they are on a cluster and log the correct IP of your visitors, you will need to replace and add the code below.

For PHP:
Locate any lines of code that are similar to this snippet of code,
$_SERVER['REMOTE_ADDR'];
And replace it with this snippet of code,
$_SERVER['HTTP_X_CLUSTER_CLIENT_IP'];

For ASP:
Locate any lines of code that are similar to this snipper of code,
Request.ServerVariables(“REMOTE_ADDR”)
And replace it with this snipper of code,
Request.ServerVariables(“HTTP_X_CLUSTER_CLIENT_IP”)

My fix for this required a unix shell (if you’re on a Windows look at installing cygwin on your system.

# Ftp your web content down to your local system

$ for file in `find <path_to_files> -exec grep -l REMOTE_ADDR {} \;`; do base=`basename $file`; sed ‘s/REMOTE_ADDR/HTTP_X_CLUSTER_CLIENT_IP/g’ $file > /tmp/$base; grep HTTP_X_CLUSTER_CLIENT_IP /tmp/$base >/dev/null 2>&1 && grep REMOTE_ADDR $file && echo “Updated $base” && mv
/tmp/$base $file; done

# Then simply upload the changed files to your system.

  • Share/Bookmark

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
Posted in web_programming | Comments (0)

ITM6.2 : TEPS reconfigure overwrites kfwenv variable

September 3rd, 2008
by jimsander

Not all of them mind you, but some important ones none-the-less:

  • KFW_STARTJVM=N
  • KFW_USE_EMBEDDED=Y
  • KFW_EWAS_SERVER_PID_FILE=C:\IBM\ITM\CNPSJ\profiles\ITMProfile\logs\ITMServer\ITMServer.pid
  • KFW_EWAS_STARTSERVER_SCRIPT=C:\IBM\ITM\CNPSJ\profiles\ITMProfile\bin\startServer.bat
  • KFW_EWAS_STOPSERVER_SCRIPT=C:\IBM\ITM\CNPSJ\profiles\ITMProfile\bin\stopServer.bat

I verified the following by modifying all the variables in my %CANDLEHOME%\CNB\kfwenv file where numerical values like ports and max where incremented by one, and the string vlaues had _XXX_ inserted

The modified kfwenv was backed up, then I reconfigured the TEPS and ran a diff on both files, and the above variables are the resulting default values.

  • Share/Bookmark

Tags: , , , , , , , , , , , , ,
Posted in Non-Tivoli | Comments (0)

  • LinkedIn

    If you want to see my LinkedIn profile, click on this button:

    Jim Sander
  • Save MySQL

JDS Media is Digg proof thanks to caching by WP Super Cache