Wednesday, August 28, 2013

APM UI - Part 2 - Thresholds and Propagation

As a continuation of my previous post, we'll expand upon our GBS Supermarket Agent Builder data in the APM UI to incorporate thresholds and status propagation.

If you looked closely at the end of part 1, you'll notice that the "Resources" icon next to GBS Supermarket contained a grey question mark.


To resolve this with most APM UI widgets, you simply click on Resources, click on Edit at the upper-right, then click the gear icon on the widget you wish to adjust.


Next click on the [Thresholds] tab.


Unfortunately, our Thresholds tab is blank.  That's because we never defined thresholds within our custom JSON files.

Let's fix that and import a new version of the GBS Supermarket into APM UI.

Click the title or here to read more.

Wednesday, August 7, 2013

Netcool Omnibus Event Integration Facility


 Event Integration Facility (EIF) events date back to the days of the Tivoli Enterprise Console.  This event mechanism is robust and reliable, and still used today as a means to transport event information between ITM (and many other Tivoli products) and the EIF Probe for Omnibus.

The Netcool Omnibus Event Integration Facility is a software toolkit or SDK that can be used to send and receive EIF formatted events from within an application.  These EIF based applications are referred to as adapters.  The EIF toolkit provides many services to the adapter – some of these services include adapter configuration, event transport, event caching, automatic failover, and encryption via SSL or FIPS 140-2, to name a few.

You may be saying to yourself about now, well that’s cool, but with all the monitoring solutions out there and command line capabilities, why would I need to write my own adaptor?  That is a good question, and while the Omnibus EIF reference says:

The Event Integration Facility is a toolkit that expands the types of events and system information that you can monitor. You can use it to develop your own adapters, tailored to your network environment and to your specific needs.

I have found a useful feature to be receiving events rather than generating them. 

It’s not uncommon to find a company looking to replace both a legacy monitoring tool, and it’s event management system with IBM Tivoli Monitoring and Netcool Omnibus.   Many times the deployment of the ITM monitoring solution can be delayed while work is being done to implement automation and new processes within the new event management system – Netcool Omnibus.  This is usually a people/process delay not a technical one, but still delays the time to value of the overall solution.  

In some of these cases, use the EIF toolkit to develop an EIF receiver adapter, to “catch” ITM EIF events and then forward appropriate events on to the legacy event management system, can allow the ITM deployment to move forward.   Later, as the teams and processes are ready to begin transitioning the event management system, the adapter can be updated to forward only certain events to the legacy system and others to Omnibus, or perhaps to both for a period of time.  Ultimately the entire event flow is transition to Omnibus and the adapter eliminated from the environment.

I’ve used the Event Integration Facility toolkit a number of times in scenarios similar to this and for other things, and it can be a great tool to have in your tool belt.

For more information, see the Event Integration Facility Reference Manual, part of the Omnibus documentation set.  You can also find sample code shipped with the SDK, which is available for download with your Omnibus license.

Tuesday, July 23, 2013

APM UI - Customizing with Agent Builder data - "the Basics"

The IBM SmartCloud Application Performance Management UI (APM UI) provides a fast and simple interface into data provided by IBM Tivoli Monitoring (ITM).  It can be rendered on anything from a web browser to a smart phone.  As expected, it also provides customization capabilities.  In this post, we'll walk through end-to-end the process of introducing data/metrics from a custom ITM Agent Builder agent into the APM UI.

You're encouraged to take a look at this presentation by Cheng Quan Li of IBM Development which provides a nice overview of Dashboard Customization in APM UI.

Additionally, the documentation for APM UI customization (v.7.6.0.1 was the current version at the time of writing) can be found here.

For the purposes of this customization "basics", we're going to keep things very simple.  No fancy charts or graphs - we will simply display tabular data.  Our intent is to get comfortable with the process of customizing APM UI.  In later articles we may dig deeper into making your presentation more flashy.

We have a custom-built ITM Agent Builder agent (GBS Supermarket) for this exercise.  The data coming from this agent represents the check-out lanes at a typical supermarket.  Each lane has a name as well as performance data such as how many customers are waiting in line and the average customer wait time.

Here's what our agent looks like within the Tivoli Enterprise Portal Server (TEPS):


Click the title to read more.

Tuesday, July 9, 2013

Launchpad - Unable to find supported browser

Recently while trying to install Netcool Omnibus 7.4 on CentOS 6.4, I ran into this problem:

I launched the Omnibus launchpad.sh script only to be told that the browser I was using was not supported:

"An error occurred while starting the launchpad. This error typically occurs when the launchpad is unable to find a supported browser. Check your product's documentation for a list of supported browsers."


But, the HTML file (noBrowser.html) was actually displayed by Firefox.  It turns out that the version of Launchpad only supports older versions of Firefox, namely ESR10.

There is a very simple fix to this issue:

1) Download an ESR10 version of Firefox, for example:

# cd /tmp
# wget https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/10.0.2/linux-x86_64/en-US/firefox-10.0.2.tar.bz2

2) Extract it:

# cd /tmp
# tar -jxf firefox-10.0.2.tar.bz2

3) Tell Launchpad to use it

# export BROWSER=/tmp/firefox/firefox

4) Relaunch launchpad.sh

# /tmp/omni-install/launchpad.sh

and now it works:




Monday, May 6, 2013

What is new in TCR 3.1?

As you know, IBM released a new version of Tivoli Common Reporting as part of Jazz for Service Management 1.1 offering.   This article discusses some of the new features of Tivoli Common Reporting 3.1 release.   Read on to learn more.

Cognos 10 Business Intelligence

TCR 3.1 comes with a major version upgrade to Cognos Business Intelligence. It comes with Cognos 10.2 as opposed to Cognos 8.4 in TCR 2.1.1. This major version upgrade brings lot of newer functionality to reporting. Some of them are,

New Report Design Tools

Cognos 10 BI bundles  the new Workspace Advanced design tool that is much more powerful than Query Studio but less complex than Report Studio.

This tool can be used to build quick reports, end-user analytics and even for "reasonably complex" professional looking reports. However, to include advanced reporting features such as prompts, formulas, etc, you will have to rely on Report Studio.   Good news is that report designs can be opened both in Report Studio and Workspace Advanced without loss of information. So when you need the advanced features you can "insert" them in Report Studio and come back to Workspace advanced and continue the design.

Active Reports for offline interactive reports

Active Reports are HTML only reports that can be used for offline-viewing and interactive reports. With Active Reports, the output file will be in mutli-part HTML format (.mht) with the data is self-contained in the .mht file.

Mobile Support

Cognos 10 includes improved support mobile devices specifically iPad, Android and Blackberry.   There is a IBM Cognos mobile app available for iPad as well. The app can connect to your TCR server (over wireless network of course) and run the reports.   Dan Krissel of IBM showed a great example of this app back in Pulse.

64 Bit Java based reporting engine with JDBC Support

The default C++ based 32-bit Cognos engine doesn't support JDBC drivers.  Cognos 10 now also includes a 64-bit Java based engine (in addition to the 32-bit one) that supports JDBC.  Remember that the Java based engine is still new and you need to specifically enable this engine to use its features.

More powerful multi-datasource Workspace designer

You can easily design a dashboard (NOTE: this is different from reports)  by dragging-dropping elements such as charts, tables from various reports into a single workspace.  These data sources can be fetched from different Cognos packages.  E.g. You can fetch information from ITM OS agents reports, Netcool Omnibus reports and TBSM reports and present them in a single workspace. Very powerful and works great.

Event Studio for event-driven report delivery

The Event Studio tool is now bundled as part of TCR.  Even though this tool was available in older Cognos as well, it was not shipped with TCR 2.1.1. Using this tool, you can specify rules for report delivery.

WebSphere 8.5

TCR 3.1 ships with WebSphere 8.5 that provides tons of new features including support for Java 7, new serviceability tools and better mobile support.  For in-depth look at new features, please take a link below.

http://www.ibm.com/developerworks/websphere/techjournal/1206_alcott/1206_alcott.html

Jazz for Service Management Integration

TCR 3.1 is also one of the very first products that features Jazz for Service Management 1.1 integration.  This integration brings several features for interaction. We will discuss about Jazz for Service Management in a separate article, but some of the benefits of this offering are listed below.

  • OSLC Specification compliant - Now application data can be consumed in a standard based way rather than having to rely on application specific API calls/database queries.
  • Easier integration with other Tivoli and non-Tivoli products.
  • Linked data - meaning data can be fetched from the source instead of storing it in intermediate repository.   This eliminates problems such as data being out-of-date.

There are tons of other features including UI changes that I didn't mention here. Let us know if you have any questions related to all this features, we will be happy to help. 

Thursday, March 28, 2013

Video: Creating Omnibus Event List Report using Cognos Workspace Advanced

One of the new features in Tivoli Common Reporting 3.1 is the Cognos Workspace Advanced design tool.    The following video shows how to create a simple Netcool Omnibus Event List report using the Cognos Workspace Advanced tool. 

Sorry. No audio included.  It was prepared as part of another presentation. 

http://www.youtube.com/watch?v=ukTQOV72PT4

Feel free to check out other videos in our Gulf Breeze Youtube channel as well.

Wednesday, February 13, 2013

IBM Data Studio Overview

If you install the latest version of DB2 (DB2 V10.x), the first thing you will notice is that the old trusted DB2 Control Center interface is not there anymore.   In fact, there are no GUI tools shipped with DB2 installation. So, how do you manage DB2 then?  You will need to download and install a separate component called IBM Data Studio. 
 
First of all, IBM Data Studio is not a brand new product.   Remember, DB2 Control Center usage has been deprecated since 2009. IBM DataStudio has been out there for quite some time and it is based on IBM InfoSphere product line. Here is one of the blogs I came across while researching on this product history.
 
 
IBM Data Studio is an Eclipse based product and relying on JDBC for all database communication. It can be downloaded at no charge from IBM website link below. An IBM ID is required. 
 
 
You simply need to download the latest version.  (Version 3.2 as of this writing).
 
Downloading the IBM Data Studio client should be good enough for most of the common administration needs,  SQL Development, Stored procedure development requirements. Optionally, you can download the Web Console component if you need to monitor the health of the database such as viewing tablespace status, connections, alerts, etc.  
 
Note: The Web Console component is based on IBM's Jazz for Service Management.  You will need only one instance of this to manage all your DB2 databases.  Multiple administrators can share the same Web Console.  
 
In addition to the above links, here is another useful link I came across to learn more about IBM Data Studio.
 
http://www.ibm.com/developerworks/data/library/techarticle/dm-1201migctrlctrdatastudio/

Update:

Someone asked me about its backward compatibility.  It is fully compatible with DB2 V9.7/9.8 but for older versions, only subset of features are available.  For basic querying, it should be compatible with DB2 V9.1 or later. 

Here is a link that describes the feature set and version compatibility.

http://www-01.ibm.com/support/docview.wss?uid=swg27022148
 
Hope you find this helpful.

Thursday, November 1, 2012

Installing Cognos Framework Manager on Windows 64-bit?

Usually, Framework Manager installation is straight forward and consists of the following steps.
  • Install Framework Manager on Windows
  • Install FIPS Package for Framework Manager
  • Use Cognos Configuration to connect to TCR infrastructure.

However, if you are installing Framework Manager on 64-bit Windows, there is an issue. The FIPS package for Framework Manager does not work correctly on Windows 64-bit. It installs correctly but causes problems with encryption and you will not be able to successfully connect the Framework Manager to TCR infrastructure. The workaround is to skip the install of FIPS package and directly proceed with Cognos Configuration after the base Framework Manager installation.

Hope this helps.

Sunday, July 29, 2012

Extending TSAM using Eclipse

If you have been using Tivoli Service Automation Manager (TSAM) for Cloud provisioning, the usual way for service offering customization is to write Javascript and HTMLs directly on TSAM server.   With TSAM 7.2.2, there is an Eclipse based project available for self service offering customization.   Using this Eclipse project, you can perform Javascript customization right from your Eclipse IDE.  This artcile provides a high-level technical overview of this process.

To setup the Eclipse development environment,  you need to download/setup Eclipse first.  Even thought the latest versions of Eclipse should work, according to documentation, the Eclipse projects were tested with Helios (3.6) version and it is safe to use either Helios or Galileo versions.  Once Eclipse is setup, you simply have to download the project zip from TSAM install images located under TSAMBASE7300/samples/UI directory and import two Eclipse projects viz, custom_web and custom_web_build into Eclipse using Eclipse Import wizard. 

The custom_web project is used to make any javascript changes.  The custom_web_build project contains several ANT tasks that can be used to perform deployment to TSAM Server.   Connection to TSAM server is managed through SSH and you can specify the authentication parameters in build.properties. SSH authentication can use either SSH keys or password.

For testing you can use the quickdeploy ANT task that rebuilds the custom_web.war application as you publish the changes.  You can also backout the changes using undeploy task but that basically removes the custom_web.war from the TSAM server removing all custom changes.   For production deployments, you will have to rebuild the maximo.ear file using buildmaximoear.sh/cmd command.

You can find more information about this TSAM customization in TSAM 7.2.2 Extensibility Guide available at the following location.
http://publib.boulder.ibm.com/infocenter/tivihelp/v10r1/topic/com.ibm.tsam_7.2.2.doc/ext/c_sg_extensibility.html

Hope this helps you get started with TSAM customization. If you have any questions, please feel free to post it it in the comments.

Friday, June 29, 2012

DB2 Automatic startup for Linux/Unix

For many Tivoli installations, chances are you also need to setup DB2 for database services. One of the common issue with DB2 installations is that it is not setup to start automatically on reboot in Unix/Linux systems. IIRC, this feature was there in very old DB2 installations but removed for unknown reason.  So everytime your system reboots (however rare that may be), you would have to manually bring the service up.

To address this issue, usually the DB2 DBAs write a script to run DB2 automatically during startup.  If you don't have DBA support in your site, here is a very simple startup script that can be used to start DB2 automatically.   You will need root privileges to add this script to startup.


1.  Copy the following file and save it as /etc/init.d/db2server

#!/bin/bash
#
# chkconfig: - 91 35
# description: Starts and stops db2server. \

# Source function library.
. /etc/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0


prog="DB2"
inst="db2inst1"
start() {
    echo -n $"Starting $prog: "
    su - $inst -c "db2start"
}

stop() {
    echo -n $"Shutting down $prog: "
    su - $inst -c "db2stop force"
}

# See how we were called.
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart|reload)
        stop
        sleep 3
        start
        ;;
  *)
        echo $"Usage: $0 {start|stop|restart}"
        exit 1
esac

2. Run the following commands as root. (Tested on RHEL5)
# chmod a+x /etc/init.d/db2server
# ln -s /etc/init.d/db2server /etc/rc.d/rc5.d/S99Db2Server
# ln -s /etc/init.d/db2server /etc/rc.d/rc3.d/S99Db2Server
# ln -s /etc/init.d/db2server /etc/rc.d/rc1.d/K10Db2Server
# ln -s /etc/init.d/db2server /etc/rc.d/rc0.d/K10Db2Server

That is it!   The above steps should work for Linux systems.  Please note that Unix systems (AIX, Solaris and HPUX) do follow different rc.d directory structure and you may have to link it to appropriate directory structure for your operating system. 

Also the script is setup to use db2inst1 as the DB2 instance owner. If your site uses different user, change the script accordingly. 

Hope this helps.

Tuesday, May 22, 2012

Getting a UDF definition in DB2

Recently, I was looking to change few DB2 User defined functions I developed in the past, but couldn't find
their source code even though the User Defined functions were present in the database.   Here is a simple SQL that I used to extract the UDF definition from the DB2 Catalog.

select routinename, text from syscat.routines r where routinetype = 'F' and language = 'SQL' and routinename like 'MyRoutine%'


PS: I did have problems running the above SQL in DB2 Command Editor. It showed the Text name fields as SQL0423N Locator variable "1" does not currently represent any value. SQLSTATE=0F001.   Instead, running the above SQL frrom command line worked without any issues.


Hope this helps.

Monday, May 21, 2012

Some notes on installing TBSM 6.1 FP 1

1. One of the prerequisites for TBSM 6.1 FP1 is TIP version 2.2.0.7, which you must install silently with the command:

install.sh -i silent -j $JAVA_HOME -f responsefile.txt

JAVA_HOME must NOT be set to your TIP Java directory (/opt/IBM/tivoli/tipv2/java) or anything similar. If it is, the installer will fail because it will see your install process running. So you need to point it to a DIFFERENT Java 1.6 location.

2. The FIT (Fixpack Intelligence Tool) component must be extracted into the $TIP_HOME/profiles/TIPProfile/etc directory. This means that you will have a directory named $TIP_HOME/profiles/TIPProfile/etc/fit when you're done copying.


Tuesday, May 8, 2012

PHP with WebSphere

Who knew it was possible? An open source initiative has made it possible to use PHP on WebSphere:

http://www.projectzero.org/php/

Monday, May 7, 2012

SSL Certificate Issue with Tivoli Integrated Portal

Most of the Tivoli Integrated Portal (TIP) users aware of the harmless SSL error.  Whenever one access the Tivoli Integrated Portal login screen, the browser displays a SSL error like the one below.


While it is harmless and just needs an additional click to get to the login screen, you can get rid of this error if you have administrator privileges on the workstation.

Why does this error happen?   Basically the SSL certificate provided by TIP for SSL communication is a self-signed one and therefore not trusted.   There are ways to purchase the certificate from Certificated Authority and import it into TIP but not many sites do that due to cost and maintenance efforts involved.  Here is another way to make your certifcate trusted if you have administrator privileges on client workstations.
  1. Click on "Continue to this website (Not recommended).
  2. In the login screen, click on the "Certificate Error", next to URL bar and click the "View Certificate" link.
  3. In the Certificate Windows, click on "install certificate" to run Certificate Import wizard. 
  4. Click Next and when prompted to choose the Certificate Store location, choose "Place all certificates in the following store" option.
  5. Click on Browse button and choose "Trusted Root Certification Authorities" store and click ok.
  6. Finish the wizard and confirm your selection.   
  7. Restart the browser and next time you access the web page SSL error should be gone.
The downside of the above solution is it is browser & client specific and you will have to do this on each one of your clients (and browsers).  

Hope this helps.

Monday, April 9, 2012

Overview of TEPS/e Administration

Recently there was a question in the mailing list asking if there is an eWAS server supplied with Tivoli Enterprise Portal Server. The answer to the question is Yes and this article addresses the purpose of the eWAS server in TEPS.

The ITM component that utilizes the embedded eWAS server is called TEPS/e Administration console.  The console comes disabled by default and it can be enabled from Manage Tivoli Monitoring Services.

Why would you need the TEPS/e Administration console?   The console is mainly used for LDAP integration when Portal Server Authentication is used.  When you configure TEPS and provide LDAP information (such as LDAP Bind information, hostname, LDAP search string, etc),  the eWAS server stores the information and acts as the AD integration point for ITM.   If you want to view the configuration information or configure for LDAP servers other than Microsoft Active Directory & IBM Directory Server, you will need to use the TEPS/e Administration Server.

By default, the eWAS server is listening on port 15205.  You can access the TEPS/e Administration console by using the following link.

http://teps:15205/ibm/console

The userid for the Admin Console is wasadmin and the password can be set from Manage Tivoli Monitoring Services under TEPS/e Administration. Hope this helps.



Saturday, March 24, 2012

How to update DB2 after changing your Windows hostname

Working with a bunch of VMs, I often have to change names, IP addresses, etc. Today I finally got tired of having an extra (non-functioning) entry in my DB2 control center because I changed the hostname of one of my DB2 servers. Happily, I found this great entry on how to do it:

http://www.dbforums.com/db2/1080165-changing-host-name.html#post4010147

However, after going through the steps, you need to restart your database administration server service, named DB2DAS - DB2DAS00. Once you do that, your new hostname appears, and the default instance (named DB2) is also there. Any non-default instances can just be manually added.

Friday, March 23, 2012

GBS YouTube Channel

Gulf Breeze Software has just created a YouTube channel.   Four videos have already been posted and with plans on posting more videos in the future.  If you have any recommendations/requests please post them in the comments.

YouTube Channel
http://www.youtube.com/user/gulfsoft

ITM Private Situations and Private History
http://www.youtube.com/watch?v=QF1LVnCDuQY

ITM Agent Builder HTTP Provider
http://www.youtube.com/watch?v=j6LJr8zg4Uk

ITM Disk Situation Override
http://www.youtube.com/watch?v=mGNPgev4v18

ITM Dynamic Logical Views
http://www.youtube.com/watch?v=4f6BsRaNjKQ

Friday, March 16, 2012

Using Non-ITM data in TEPS - Updated

A while back, we posted a blog article on how to add custom datasources to TEPS.  The problem with that is the database credentials are stored in plain text format and TEPS now expects the credentials to be encrypted.  Here is an updated and Tivoli supported way to use Non-ITM data in TEPS using ODBC.  

Prerequisites

You should have  aworking ODBC connection to the datasource.  Must be cataloged as a system datasource in Windows. 

Steps to add custom datasource
  1. Open Command prompt and run "tacmd login" to logon to TEMS.
  2. Run the following command to add custom datasource with password. The command will encrypt the password and store it in kfwcma.ini under CNPS directory. 
    "tacmd configureportalserver -d <CANDLEHOME> -s DSUSER1 -p DSN=<ODBC-DSN> UID=<user> PWD=<password>".
  3. Verify the datasource entry by running the following command.
    "tacmd configureportalserver -s DSUSER1 -v"
  4. Recycle the portal server.

An Example

In this case, I created a custom data source to point to Omnibus REPORTER database and created a custom query to pull all the REPORTER_STATUS table entries.  After creating necessary views to use the Custom Query, the data can be seen in TEPS.  Please see the attached screenshot.

Thursday, March 15, 2012

Manually Setting the MOD Level for the ITCAMfAD DataCollector

Normally, you would change the MOD (Monitoring On Demand) level for the ITCAMfAD DC (also used as the DC for older versions of ITCAMfTrans) using the Managing Server. In some cases, however, you may not have a Managing Server, or you may not have access to it. In such cases, you can manually set the MOD level by editing the file:

WASDC_install_dir/runtime/server_name/am.mod

On my machine, the full path is:

/opt/IBM/ITM/lx8266/yn/wasdc/7.1.0.2/runtime/was70.aimssrv1.gulfsoft.comNode01.server1/am.mod

The default value of this file is a single line with the value 1, corresponding to MOD Level 1. To change this, open the file in a text editor and change the value to 2 or 3 (MOD Level 2 and 3, respectively).

One particular case where this is useful is if you don't have an ITCAMfAD MS and you want to capture JDBC calls for topology mapping in ITCAM for Transactions with TTAPI. The data collector will only collect this data in MOD levels 2 and 3, and the only way to set this without a Managing Server is by editing this file.

Tuesday, March 13, 2012

Wednesday, November 23, 2011

GBSCMD Performance Improvement Tip

GBSCMD is a Gulf Breeze developed utility for performing ITM operations from command line using SOAP.  If you are running GBSCMD, you will probably notice performance degrade when the amount of SOAP response is huge.   For example, if you are fetching list of all managed systems or all situations in an environment with thousands of systems/situations, gbscmd might take quite sometime to get this information.  
 
This performance degrade is due to the built-in XML parser used by XML::Simple module. To overcome this issue, you can simply set an environment variable to use a different/more-efficient parser and that will do the trick.
 
For example, run  "export XML_SIMPLE_PREFERRED_PARSER=XML::Parser" in your environment before running gbscmd and you will notice much better response times even for large datasets. 
 
Hope this helps.

Thursday, November 3, 2011

Working with the Deployment Engine

So the IBM Deployment Engine (aka ACSI, or Autonomic Computing Solution Installer is what I believe the acronym stands for) is a really nice product and works very well if you read the documentation and warnings. As luck would have it, I forgot to read some of the documentation and warnings, so I was able to learn some things.

The OMNIbus documentation states that if you use the DE as a regular user, then as root, that all installs from that point forward will only use the DE instance that was installed by root (the global instance). It also states that if you uninstall the global/common instance, then the DE is uninstalled everywhere.

The situation that brought me to this point is that I installed TBSM 6.1 on Linux as the user 'netcool' (so it uses a user-specific DE). I then tried to install CCMDB 7.2.1 on the same machine as the user 'root'. This failed early in the process, but not before a new global/common DE was installed. I gave up my CCMDB install dreams and proceeded to install an OMNIbus probe as the user 'netcool'. This gave me an error that I was currently using the global DE on an installation that had been performed using my user-specific DE and I should abort the installation. After reading the above OMNIbus documentation, I didn't want to uninstall the global DE (for fear that it would wipe out everything and I wouldn't be able to upgrade any products). However, since I had a copy of my VM, I gave it a shot. What I did was:

as root:

cd /usr/ibm/common/acsi/bin
export SI_JAVA_HOME=/usr/ibm/common/acsi/jre
./si_inst -r -f

This scared me a bit because it did COMPLETELY remove the /usr/ibm/common/acsi directory and killed all of the acsi processes ('ps -ef | grep acsi' showed nothing at this point). But my ~netcool/.acsi_* directories were still there (I don't know why, but I have two of these directories - ~/.acsi_netcool and ~/.acsi_myserverhostname). At this point, I re-ran the probe installation as user netcool (nco_install_integration), and I got no error messages, and the install information was added correctly to my local DE instance.

And the lesson I learned is that once you install any DE-based product on a machine as a non-root user, all of your subsequent DE-based installs need to be done as non-root users (it doesn't need to be the same user for different products, but you don't want to install anything DE-based as root).

Monday, October 10, 2011

Tips on the ITM Agent for Maximo (product code MI )

I recently found the Tivoli Monitoring Agent for Maximo 7.1.1 Feature Pack and wanted to share some tips on using it. You can find the Feature Pack (with downloads) here:

https://www-304.ibm.com/support/docview.wss?q1=itm&rs=3214&uid=swg24025477&context=SSLKT6&cs=utf-8&lang=en&loc=en_US

The instructions for installing the agent assume that you have Maximo, your ITM TEMS and ITM TEPS all on the same Windows machine, which I imagine would not be the case for most customers. You *can* install the TEMS and TEPS support on a non-windows machine using the following commands:

installIraAgentTEMS.sh /opt/IBM/ITM


installIraAgentTEPS.sh /opt/IBM/ITM

Where the first parameter is your ITM install directory. You can then install just the agent on a Windows machine with:

installIraAgent.bat C:\IBM\ITM

The agent itself is ONLY installable on Windows. However, this can be ANY Windows machine you want - it only needs to be able to access your Maximo server via URL. NOTE: The agent does get some information from the Log file dir that you specify; if you install the agent on a machine that is not your Maximo server, this data will not be available. (I'm not certain exactly what information it gets from the logs.)

A BIG caveat of the agent is that you CAN NOT use it if you have configured Application Server Security for authentication and authorization with Maximo. (I didn't test out the scenario of configuring Application Server Security only for authentication due to time constraints). So you can only use the agent to monitor a Maximo installation that is configured to use Maximo security.

The next tip has to do with configuration. When you configure the agent, you're required to provide a few pieces of information:

Instance Name: Do NOT use "maximo" as the value! I found this out the hard way - it simply doesn't work if you do this. I used "MXServer", but it looks like you can use anything OTHER than "maximo".

Log file dir: This is the location of your application server log files. For example:

/opt/IBM/WebSphere/AppServer/profiles/ctgAppSrv01/logs/MXServer

Port: This is the port you use to access Maximo. The default is 7001, which is the default http port for WebLogic. If you're using WebSphere, you should change this to 9080 for http access (or 9443 for https).

Java Home Directory: This can be set to any Java 1.5 (or above) install location on the system. I set mine to:

E:\IBM\SMP\sdk

Another tip is that you do NOT need to configure Maximo Performance Monitor for the agent to work.

The last tip is on usage, once you get the agent up and running. Let it run for a several minutes before assuming it's not working correctly. It just takes a few minutes to capture some of its data. Once it up and running correctly, the table in the Performance Object Status workspace should look similar to this:



SysInfo SysInfo ACTIVE NO ERROR
DataBaseInfo DataBaseInfo ACTIVE NO ERROR
InstalledApps InstalledApps ACTIVE NO ERROR
License License ACTIVE NO ERROR
InstalledProducts InstalledProducts ACTIVE NO ERROR
DBConnections DBConnections ACTIVE NO ERROR
MemGaugeForAllSrvrs MemGaugeForAllSrvrs ACTIVE NO ERROR
RuntimeMXBean RuntimeMXBean ACTIVE NO ERROR
Memory Memory ACTIVE NO ERROR
MemoryGauge MemoryGauge ACTIVE NO ERROR
MBOCountGauge MBOCountGauge ACTIVE NO ERROR
UPSGauge UPSGauge ACTIVE NO ERROR
CronTasks CronTasks ACTIVE NO ERROR
EscalationErrorLog EscalationErrorLog ACTIVE NO INSTANCES RETURNED



Sunday, October 2, 2011

PLAYterm: a New Way To Improve Command Line Skills

PLAYterm: a New Way To Improve Command Line Skills: chrb writes "Linux Journal points out PLAYterm, an interesting project that offers up recordings of Linux command line sessions, with the aim of helping viewers to improve their skills by watching gurus at work." And there's no bad excuse to link to Neal Stephenson's excellent (and free-to-download in delicious zipped-text form) In the Beginning was the Command Line.

Read more of this story at Slashdot.

I think this is a great resource for Windows people learning UNIX/Linux, and also for Linux people who just want to learn about some new commands.

Thursday, September 29, 2011

How to create a lock on a DB2 table

I spent a while figuring this out (to set up a problem/resolution scenario for ITCAM) and figured I would share.

By default, DB2 has auto-commit turned ON. So any time you run a SQL statement, it's automatically followed by a COMMIT. To change this, the easy way is:

db2 +c "delete from your_table_name where your_where_clause"

Then any other application or process trying to read or write this table will have to wait until the lock is cleared before returning. So if you open another window and run 'db2 select * from your_table_name', it will just sit there.

To clear the lock, run:

db2 commit

More info is here:


Monday, September 26, 2011

Tivoli Common Reporting Security - Removing users from administrator roles

In Tivoli Common Reporting, by default, all users will have administrative privileges.  So, every user you create in TCR will have access to the Launch->Administration option and he/she can edit data sources, cancel scheduled jobs and perform various administrative tasks.   While this is great for test environments, it is absolutely not desirable for production implementations.   So, how do we turn off this major security hole?   Fortunately, there is an easy but not well-documented way.
 
1. Logon as tipadmin/tcradmin in Tivoli Common Reporting portal and select Reporting->Common Reporting
2. Click Launch->Administration
3. Goto Security Tab.
4. Select Cognos.
5. Make sure you selected, Users, Groups and Roles option in the left pane.
6. The list of roles will be listed. Go to the next page on the list. 
7. Select "System Administrators" role that is listed at the very bottom.
8. Click on the "Properties" option to edit the role settings.
9. Click on the "members" tab.
10. Click on the "Add" link to add specific users to TCR administration role.  Typically, the TCR users you created will be under VMMProvider.
11. Next select the "Everyone" group by selecting the checkbox next to it and click "Remove" link.
12. Click OK to save the changes.
13. Log out and log back in as an ordinary user. Now the "Launch->Administration" option will not appear anymore.
 
Hope this helps,
 

Tuesday, September 6, 2011

Fixing perl's CPAN on CentOS

If you are using CentOS 5.5 and trying to download perl modules with CPAN, you may come across this error:

Undefined subroutine &Compress::Zlib::gzopen called at /usr/lib/perl5/5.8.8/CPAN.pm line 5721

When working with Tivoli software, it is helpful to use virtual machines. You can save images for different app/version combinations and retrieve them when you need to develop or test something. CentOS is the open source brand for Red Hat, so it works really well when you have to install multiple VMs but don't want the hassle of tracking RHEL licenses. Sometimes you may have to modify various file contents to look more like RHEL itself, but in general CentOS does the trick.

Recently, I was attempting to write a perl script to parse XML files.  I chose to download the XML::LibXML module because it is very flexible and pretty fast. I started CPAN with:

user@system> cpan

Then I attempted the install:

user@system> install XML::LibXML

but then I got the 'Undefined subroutine...' error above. I tried running CPAN with the alternate command:

user@system> perl -MCPAN -e shell

I also tried to install other packages (such as DBD::DB2), but they generated the same error. I have been using the same CentOS 5.5 image for a couple of years, so it made sense to update the perl packages. Same error.

After some Google research, it appears that another error may have a similar cause.
(note the different package and line #):

Undefined subroutine &Compress::Zlib::gzopen called at /usr/lib/perl5/5.8.8/CPAN/Tarzip.pm line 122

It took a while to piece together this solution in steps, so hopefully this can save someone else a little time.

1. Install the yum utilities:

user@system> yum install yum-utils
(This contains the yum-complete-transaction executable, which does what its name says.  Description here.)


2. Get libxml2:

user@system> yum install libxml2-devel

user@system> yum-complete-transaction
(notice it's yum-, NOT the normal yum with a space)


3. Update software packages:

But use yum from the command line to do it instead of the built-in CentOS  'Software Updater'.  Run this:

user@system> yum check-update

It will outline all the available updates and ask if you want to execute them. Go ahead and say yes. There may be libraries in some of those packages that will be required to build perl modules. (In a single run, I had 242 installs and 242 removes, and it completed all of them. In my previous attempts to do the same thing from the Software Updater, the Package Manager would hang every time.)

user@system> yum-complete-transaction
(this will just make sure they're all done)


4. Run CPAN:

user@system> perl -MCPAN -e shell

Within CPAN, run these commands in this order:

cpan> force install Scalar::Util

cpan> force install IO::Compress::Base

cpan> force install Compress::Raw::Zlib

cpan> force install IO::Compress::Gzip

cpan> force install Compress::Zlib


after running all of these, CPAN should run just fine. Go ahead and download any perl packages you want.

Saturday, August 27, 2011

Verify the CloudBurst 2.1 Tivoli software stack

Verify the CloudBurst 2.1 Tivoli software stack:

The advantages an appliance brings with it are often achieved by complex
tasks; many times this complexity is hidden by the interface to the appliance, giving the user a limited view of the entire configuration and integration points. But a user may need to verify or re-verify the software stack when the environment changes (restoring backup images in a disaster recovery scenario), making modifications to hardware configurations (like when you add new blades) or software configurations (like when you add new networks with VLAN tagging). In this article, the author provides a quick guide to verifying the IBM CloudBurst 2.1 Tivoli software stack.

Friday, July 15, 2011

Emailing Reports in TCR

The latest version of TCR supports Report Emailing and scheduling feature. However this feature is hidden deep in the menu options and this article shows how to email your report.



  1. First make sure that you configured TCR for emailing using the tcr_cogconfig.sh or by using "Cognos Configuration" application in Windows.

  2. Now to email a report, click on "Run with Options" icon against the report. It is a green arrow icon appearing on the same row as the report name.

  3. Now click on "To specify a time to run the report, or additional formats, languages or delivery options, use advanced options" link that appears to the right.

  4. In the advanced options page, click on "Run in the background" and "Now" under Time and Mode.

  5. Choose the appropriate format such as PDF.

  6. Under Delivery, uncheck save report.

  7. Under Delivery:, check send the report by email and click on "Edit options" right next to it.

  8. In the "Set Email Options" page, set the email receipients, (separated by commas). Edit the subject and body if necessary.

  9. Ensure the "Attach the report" is clicked. Alternatively, you can send a TCR link to the receipients. Click OK.

  10. Ensure that "Prompt for values" is checked. Now click Run.

  11. Now any report parameter values will be prompted and once you entered them and click finish,

  12. Finally, click OK to confirm and now the report will be generated and emailed to the receipients.

Hope this helps.

Wednesday, June 29, 2011

Importing Custom Images in TCR Cognos Reports

If you are developing custom Cognos reports in Tivoli Common Reporting, one of the basic needs in custom reporting is to include your company logo or custom images in your reports.  This article describes steps necessary to include custom logos in your Cognos reports.
 
  1. First assemble the custom images that you need to include.  These images must be in JPG or GIF format.
  2. Copy these images to the following directory location in TCR.  Or, you can create a subdirectory under the directory below and put your images under the subdirectory.
    <installdir>/../tipv2/profiles/TIPProfile/installedApps/TIPCell/IBM Cognos 8.ear/p2pd.war/tivoli
  3. Important: Also copy the images to <installdir>/../tipv2Components/TCRComponent/cognos/webcontent/tivoli directory or any of its subdirectory.
  4. Now you can drag and drop image objects in Report Studio in your report designs.  After dropping a image object, right click on it and select "Edit Image URL". 
  5. Specify the image url as "../tivoli/mylogo.jpg" if your images are located in tivoli folder in the above example. Modify the URL to include subdirectory names in case your images are located in the subdirectory of tivoli folder in steps 2 & 3.

That's it, Happy Reporting! 

Tuesday, May 3, 2011

The 10 commandments of good source control management

In IT, we all have to write some amount of code for something (OMNIbus rules, custom scripts, custom web pages, etc.), and that code should almost always go into a revision control system. I say almost always because sometimes you just have to write a quick awk one-liner that you'll never use again. But for anything that's in production, you should have it versioned. This link describes the 10 necessary rules for using source control management:

http://www.troyhunt.com/2011/05/10-commandments-of-good-source-control.html

(There are just a few R-rated words, but nothing egregious.)

Friday, April 22, 2011

Interesting information on Tivoli's Cloud initiatives

https://www.ibm.com/developerworks/mydeveloperworks/blogs/9e696bfa-94af-4f5a-ab50-c955cca76fd0/entry/csp_technical_integration_note_managing_the_core_system9?lang=en

If you're new to Tivoli's Cloud movement, I think the best way to get use out of this paper is to just read about the products that are involved in the total solution. If your company is moving toward the cloud, knowledge of those components will definitely help you.

Tuesday, March 29, 2011

Passing TCR UserID in BIRT Reports

Many times, you might want to display/determine the TCR user name that is invoking the reports. While there is no GUI way of doing this within BIRT, a simple Javascript is all you need. Here is how to do it in BIRT

  1. Select a blank area in the report. This should display report properties in the Property Editior.

  2. Now click on the "Script" tab for the report displayed at the bottom of the main work area. (where Preview/Layout tabs are).

  3. In the script drop down, select "Before Factory" and paste the javascript code below.


    TCR_IUSER = "com.ibm.tivoli.reporting.api.reportEngine.IUserInfo";

    userInfo = reportContext.getAppContext().get(TCR_IUSER);

    userName = "unknown";

    if (userInfo != null) {

    userName = userInfo.getUserPrincipal();

    }



  4. Now you can use the userName javascript variable in your reports to identify/display the TCR User.

  5. For example, to display the UserName, insert a "Dynamic Text" item anywhere in your report and enter the following value. "User name = " + userName
Hope this helps.

Thursday, March 17, 2011

IBM Service Management YouTube channel

This is great - a channel containing lots of fairly technical videos of Tivoli products and integrations:

http://www.youtube.com/user/ismconnect?feature=mhum#p/c/5C4BC71AD2C77801

A great tutorial on ITCAMfT integration with TBSM

TBSM is able to read Discovery Library Adapter (DLA) books from a number of products, including ITM, TADDM, and ITCAM for Transactions (there are others, but I don't know of a comprehensive list). Sometimes the specifics about the integration are dependent upon what other products you have installed, but that is a larger discussion also. This piece from IBM contains extremely useful information on how you can filter the data in the ITCAM for Transactions DLA so that it can be processed more quickly by TBSM and increase the quality of the data in TBSM (by eliminating services that are not important):


The information is great, but you definitely have to do some work before you can just follow along. In the example, they exclude all of the .gif, .css and .jpg components. In many shops, this would work great. However, I've been in some companies that have had problems specifically with .css files being moved/renamed/locked/etc., and those companies would definitely not want to exclude those entities. So before you can just dive in, you need to analyze your business needs and the current state of your components. This could be done in a DEV/QA environment, or possibly in a temporary portion of your TBSM implementation.

Wednesday, March 9, 2011

BitLocker on Windows 7

What is BitLocker?

Windows Vista and 7 included the BitLocker functionality to allow for encryption of the drive.

Deployment Problem:

According to the Info Center documentation, OSD is BitLocker ready. Well, not really. The idea is that OSD has the capability of creating a partition that will allow BitLocker to be activated. The problem is that when OSD creates the partition it assigns a driver letter to the partition and this is not something that can be there for BitLocker to function.

Solution:

As of Windows 7 (and Vista SP1(?), but who cares), Microsoft included a tools called bdehdcfg.exe that allows for the ability to take any partition, shrink it by a certain amount and prepare it for BitLocker. In order for BitLocker to work, it requires a minimum of 100MB or 300MB if you also want the recovery console (For Vista this is 1.5 GB). In order to do this, just use a software module that is deployed with the image to execute the bdehdcfg command.

One thing to note with this solution, when the image is deployed, you will end up with a larger partition than expected. The reason for this is that when the bdehdcfg command is executed, the partition ends up being created at the end of the drive and when OSD is completed, it takes the cache partition (about 500MB) and adds it to the last partition on the drive. So if you are defining bdehdcfg to create a 300MB partition, you will end up with a 800MB partition (approx). Currently the only way around this is to have the bdehdcfg execute after the OSD deployment is completed.

BitLocker sounds simple enough to implement, but there are some things to think about that will impact the business

  1. The PIN is used to provide an additional level of security to the BitLocker process. This PIN is set to the computer not to the user(s) of the computer, so if there are multiple users of the system, then they all share the same PIN.
  2. The PIN can only be set with someone with Administrative access. (I have not personally confirmed this, but I was informed of this by an engineering group, so if this is incorrect, please let me know and I will remove)
  3. There is no native method to enforce a password expiry of the PIN
  4. BitLocker can be disabled/paused by anyone with administrative access, thus leaving the system unprotected.
  5. Will require processes to be put in place when users forget their PIN (you know it will happen) and provide the recovery password. This is possibly the hardest part depending on the users and the number of users.

On the plus side:

  1. It is free so you are able implement encryption without additional software expense
  2. When protected, the encryption seems to be as good as any
  3. Encrypting a drive is relatively quick compared to other vendors
  4. Recovering a drive is simple as you just need the recovery password from Active Directory
  5. Did I mention it was free?

Hope this helps you out :)

If you have any other topics you would like covered, send me a note at martin dot carnegie at gulfsoft dot com.

Deploying Windows 7 with TPMfOSD

Recently I have been involved in using TPMfOSD to capture and deploy Windows 7 images. There is quite a bit of information available on the web and on IBM’s Info Center, but at times we found that there are certain areas that are not completed enough.

I have been working through the Devworks site with various people and thought I would also give back some information. Since this was too big for Devworks, I thought a blog would be best.

At a high level, here is what I did:
1. Importing Windows 7 DVD for Unattended Install
2. Preparing the OS Configuration for Unattended Install
3. Deploying the Unattended Install
4. Customizing Master Image
5. Executing sysprep
6. Capture Clone Image
7. Modifying the OS Configuration for Clone Install
8. Deploying the Cloned OS

For my environment, I am using VMware Workstation to create my profile. There are many advantages of using VMware rather than physical hardware such as:

1. The image does not contain any drivers for the physical hardware. Windows 7 can be installed on VMware with almost no extra drivers (depending on the vm hardware defined)

2. Simple and quick to restore an image with the snapshots rather than using OSD to capture the “Golden Master”

3. Multiple snapshots can be created to backup and restore during various stages

4. The restore of an image can be done to any system that has VMware installed, as long as the hardware is setup the same. So the VM image can be built on Lenovo/HP/Dell/etc hardware

When using VMware, I also add the setting bios.bootdelay=15000 to the .VMX file to allow time to press the F12 key or ESC for the boot menu.

Before starting on this, one big note is around the Built-in Administrator name that is used. When installing Windows 7, you are prompted to create an id that will be an administrator on the system. When this user is created, it will be added to the Administrators group and the Built-in administrator will be disabled. In order to get the Built-in administrator enabled, you need to set the Administrator name in the OS profile to “Administrator” (has to be this no matter what you want the id to actually be). For this example, I will be changing the Built-in administrator to “myadmin” and show how to make this will work.

1. Importing Windows 7 DVD for Unattended Install

This was fairly simple. Just use the New Profile > Unattended Setup and walk through the wizard.

Info Center documentation:

http://publib.boulder.ibm.com/infocenter/tivihelp/v3r1/index.jsp?topic=/com.ibm.tivoli.tpm.osd.doc/deploy/tosd_createunattended_win.html

2. Preparing the OS Configuration for Unattended Install

Once the import is complete, open the OS configuration, go to the Windows tab and set the "Administrator Name:" field to Administrator. Also verify that the time zone is set. If you are using volume licensing, then select the “Volume licensing” option. If not, then set the serial number.

3. Deploying the Unattended Install

After the unattended install system profile is created, it can be deployed to a target system in order to create the clone profile. The methods to deploy an unattended or cloned profile are exactly the same. The big difference is the time for installation. The unattended install is significantly longer to complete than a cloned image.

Info Center documentation:

http://publib.boulder.ibm.com/infocenter/tivihelp/v3r1/index.jsp?topic=/com.ibm.tivoli.tpm.osd.doc/deploy/tosd_startdeployment_win.html

4. Customizing Master Image

There are many options to configure in the image such as included software, user ids, local policies, etc. Also remember that software modules can be used to customize an image after deployment, so make sure what is included will not require you to make more updates to the image than necessary.

Some of the deciding factors for what to do in the image vs in a software module:

- will the software take too long to deploy in a software module. For example:

- MS Office, this product takes a very long time to run through installation than it does to have included in the image

- Adobe Flash, this product is quick to install but is updated quite regularly, so it is probably better to have in a software module.

- Antivirus applications. Since these are core to protecting the corporate environment, they should be in the image. This is because there could be a failure installing the software module which would end up leaving a system unprotected.

The Windows 7 image is quite large even without any software installed, so whatever can be cleaned to minimize this image would be a good idea. Typically I would include any patch backups as this could shrink an image by 1GB or more.

As stated, I have changed my Administrator (SID 500) account to myadmin. This is a typical configuration that most sites will do. There are a couple “quirks” that happen when you do this:

  1. After the change, the user directory on the system will be C:\Users\Administrator. When you deploy the image, the directory will be changed to C:\Users\myadmin. You cannot change the directory name on the original image (you can Google it).
  2. As stated earlier, when setting the OS Configuration in step 7, you have to set the Administrator Name to “Administrator”. If you do not, the system will be deployed with the “myadmin” account, but it will not be the SID 500 account, it will just be an id in the Administrators group. The SID 500 will be called Administrator and it will be disabled. When set correctly, the “myadmin” will be the SID 500 account and another account called “Administrator” will be added to the Administrators and Users groups. For my deployment, I included a software module that would remove it from both groups and disable the account.

Another issue that I ran into was that I deleted the C:\install directory. This is created by the unattended install. When deploying an image to the target, the c:\install directory would be created, but when executing software modules later in the build process, they would not execute. This is being addressed in a future fix (not in FP04). To workaround this issue, just leave the c:\install directory in the image.

5. Executing sysprep

Once the unattended install is complete, the system can then be configured with any corporate software and configurations. After all configurations are completed, the next step is to use the Microsoft tool called Sysprep. This tool is used to remove system specific configurations to allow for a cloning of an image to different systems.

http://technet.microsoft.com/en-us/library/cc783215%28WS.10%29.aspx

Unlike Windows XP, sysprep is already on Windows 7 and is located in C:\Windows\System32\Sysprep. The options selected are OOBE, Generalize and Shutdown. I prefer using the shutdown as I do not want to miss the reboot and have the mini-setup run again.

Info Center documentation:

http://publib.boulder.ibm.com/infocenter/tivihelp/v3r1/index.jsp?topic=/com.ibm.tivoli.tpm.osd.doc/deploy/tosd_ref-compwinvista.html

Notes:

A system that is joined to a domain cannot be used for creating a cloned profile. If the system has been joined to a domain, then it has to be moved to workgroup mode.
- Some extra recommended tasks are:
- Empty recycle bin
- Execute chkdsk to ensure there are no disk error
- Clean out temporary files
- Remove any persistent drive mappings
- Clear the Application, Security and System event logs
- Sysprep still has the limit of being executed 3 times in Windows 7.

6. Capture Clone Image

Capturing the Windows 7 OS is no different than the methods used for any other operating system. The process is quite a bit longer than Windows XP and requires more reboots, but overall the whole process is the same.

Info Center documentation: http://publib.boulder.ibm.com/infocenter/tivihelp/v3r1/index.jsp?topic=/com.ibm.tivoli.tpm.osd.doc/deploy/tosd_clone_win.html

7. Modifying the OS Configuration for Clone Install

Once an image is imported, the OS configuration will need to be set. The OS Configuration is where you use OSD to set the parameters that will be used in the unattend.xml file. The UI will allow for the configuration of many of the common settings, but if there are more that are required, use the “Edit custom unattend.xml” on the General tab. When setting the OS configuration, the most important item to set is the “Administrator Name” to “Administrator”. This is done by opening the properties for the OS configuration and going to the Windows tab. Also on this tab in the “System Customization”, check the setting “Always authorize installation of unsigned drivers”.

8. Deploying the Cloned OS

Deploying the Windows 7 OS is no different than the methods used for any other operating system. The process is quite a bit longer than Windows XP and requires more reboots, but overall the whole process is the same. One thing that did happen in Windows 7 and not XP is that OSD actually logs into the OS. This causes some issues with scripts that may be in the run/runonce/startup.

Info Center documentation:

http://publib.boulder.ibm.com/infocenter/tivihelp/v3r1/index.jsp?topic=/com.ibm.tivoli.tpm.osd.doc/deploy/tosd_clone_win.html

Other Notes:

TPMfOSD started supporting Windows 7 in 7.1.1.1, but this version and 7.1.1.2 use the WinPE2. There are some pretty significant improvements in using 7.1.1.3 or better yet 7.1.1.4 as it utilizes WinPE3 for the deployments. If you have not started, or are just starting, then move to one of these versions. There are other reasons for moving to these newer versions, but this is one of the most visible from a deployment perspective.

Conclusion

As noted, this is a fairly high level of using OSD for Windows 7 deployments, but should start you on the right path.


Remember, we at Gulf Breeze Software Partners are ready to help you with your implementations on TPMfOSD or any IBM Tivoli product

If you have any other topics you would like covered, send me a note at martin dot carnegie at gulfsoft dot com.

Monday, January 31, 2011

GbsTask - A Task Management Utility for ITM

Introduction
In Tivoli Management Framework, there is a concept called "Task". Tasks let users to specify executable for a specific platform at the creation time. When a task is run against multiple targets ("endpoints"), the appropriate executable is transferred and executed on the remote system and the output is presented in the standard output. When executed on multiple targets, the execution is done in multi-threaded manner.

We, at Gulf Breeze, developed a Java based solution to implement the task feature in Tivoli Monitoring product and this article discusses about this solution in detail. If you are interested, please email me and I will send you a free copy.

Benefits
  • A Simple database driven tool to create/update/delete/execute tasks.
  • Tasks can be executed on individual OS agents or on ITM MSLs.
  • Tasks can be executed in a multi-threaded manner across agents of different platforms.
  • Supports SQLServer or DB2 databases to store task information.
  • Authorization information kept in a separate file and can be specified with -a switch. You don't need to specify the password in your scripts.
Limitations
  • Maximum number of threads is limited by the maximum number of "tacmd"s that can be run in parallel. Running more than this limit could cause stability issues. As of ITM 6.2.2. FP2, the maximum number of threads is 10.
  • Currently the tasks can be executed only against Windows, Linux and Unix OS agents.
Requirements

To run the "gbstask" solution, you will need the following. The solution is tested with SUN JRE 1.5 and "should" work in other implementations of Java Runtime.
  • JRE 1.5 or later. (The code will NOT work with JRE 1.4).
  • JDBC driver for your database.
  • Tacmd CLI. (The CLI is installed with an OS agent installation or ITM TEMS installation).
  • A SQL Server or DB2 database where you can create a table to contain task information.
Examples

The following command creates task called pingtask for Linux and Windows.
# Creates tasks for Linux and Windows
C:\temp>java -jar GbsTask.jar -a db2.auth -c -l mylib -t pingtask -o Linux -f C:\temp\test.sh
C:\temp>java -jar GbsTask.jar -a db2.auth -c -l mylib -t pingtask -o Windows -f C:\temp\test.bat
# Executes a task on specific managed systems.
$ java -jar GbsTask.jar -a db2.auth -x -l mylib -t pingtask -h Primary:VMTBSM421:NT,vmitm622:LZ,Primary:VMTBSM42X:NT
# Executes a task on specific MSLs.
$ java -jar GbsTask.jar -a db2.auth -x -l mylib -t pingtask -m "*NT_SYSTEM,*LINUX_SYSTEM"
# Deletes a task
$ java -jar GbsTask.jar -a db2.auth -d -l mylib -t pingtask -o Windows
$ java -jar GbsTask.jar -a db2.auth -d -l mylib -t pingtask -o Linux


Sample Output

$ java -jar GbsTask.jar -a db2.auth -x -l mylib -t pingtask -h Primary:VMTBSM421:NT,vmitm622:LZ,Primary:VMTBSM42X:NT
---Begin Task Output for ManagedSystem vmitm622:LZ
PING 192.168.75.21 (192.168.75.21) 56(84) bytes of data.
64 bytes from 192.168.75.21: icmp_seq=1 ttl=128 time=0.276 ms
64 bytes from 192.168.75.21: icmp_seq=2 ttl=128 time=0.255 ms
64 bytes from 192.168.75.21: icmp_seq=3 ttl=128 time=0.168 ms
64 bytes from 192.168.75.21: icmp_seq=4 ttl=128 time=0.221 ms
--- 192.168.75.21 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3000ms
rtt min/avg/max/mdev = 0.168/0.230/0.276/0.040 ms
---End Task Output for ManagedSystem vmitm622:LZ
---Begin Task Output for ManagedSystem Primary:VMTBSM421:NT
C:\WINDOWS\system32>ping 192.168.75.21
Pinging 192.168.75.21 with 32 bytes of data:
Reply from 192.168.75.21: bytes=32 time=1ms TTL=128
Reply from 192.168.75.21: bytes=32 time=1ms TTL=128
Reply from 192.168.75.21: bytes=32 time=1ms TTL=128
Reply from 192.168.75.21: bytes=32 time=1ms TTL=128
Ping statistics for 192.168.75.21:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
---End Task Output for ManagedSystem Primary:VMTBSM421:NT
---Begin Task Output for ManagedSystem Primary:VMTBSM42X:NT
C:\WINDOWS\system32>ping 192.168.75.21
Pinging 192.168.75.21 with 32 bytes of data:
Reply from 192.168.75.21: bytes=32 time=1ms TTL=128
Reply from 192.168.75.21: bytes=32 time=1ms TTL=128
Reply from 192.168.75.21: bytes=32 time=1ms TTL=128
Reply from 192.168.75.21: bytes=32 time=1ms TTL=128
Ping statistics for 192.168.75.21:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
---End Task Output for ManagedSystem Primary:VMTBSM42X:NT

Interested?
Interested? Please email me at venkat at gulfsoft.com and will send you a free copy of this tool. You can download the documentation for this tool from the link below.