Monday, January 6, 2014

Creating ITM deployment packages for IBM Endpoint Manager



A question came up on the IBM Endpoint Manager forum on how to deploy ITM agents using IEM. This is not something that I have done in IEM, but have done with TCM (Configuration Manager) and TPM (Provisioning Manager). I did recall that ITM had a switch that allowed for the creation of SPD (Software Package Definitions) or SPB (Software Package Blocks), so thought I would look at this for IEM.
Now there are a few ways of using the SPB/SPD or even just create the bundle with no export format. If you use the SPD format, you will get the command line that would need to be used in the IEM action script. So for this example. I am going to use the SPD export. Just to note though, IEM also supports the import of SPB files, so this could be another option.

Assumption: The particular bundle that you desire is already in the ITM depot.

The high level steps would be as follows:
    - Create the bundle
    - Create IEM Download File
    - Determine the sha1 information.
    - Review the SPD file and determine install command and options for the NT_Silent_Install.txt
    - Use the BFArchive tool to ZIP the bundle directory and upload to the IEM server.
    - Determine relevance method
    - Create the fixlet

Create the Bundle

ITM uses the “tacmd” command with the “exportBundles” switch to create a silent installation folder. For this example, I am using the “-o SPD” switch to define that I want the export to also create the SPD file to determine the command line an contents of the NT_Silent_Install.txt file.
tacmd exportBundles -o SPD -t nt -e e:\data\bundle
KUICEB023I: Are you sure you want to export the following bundles to the e:\data\bundle directory?
Product Code : NT
Deployable   : True
Version      : 063000000
Description  : Monitoring Agent for Windows OS
Host Type    : WINNT
Host Version : WINNT
Prerequisites:

Product Code : NT
Deployable   : True
Version      : 063000000
Description  : Monitoring Agent for Windows OS
Host Type    : WIX64
Host Version : WIX64
Prerequisites:
 KUICEB024I: Enter Y for yes or N for no: y

 KUICEB020I: Exporting bundles to the e:\data\bundle directory. The time required to complete this operation depends on the number and size of the exported bundles.

 KUICEB022I: The following bundles were successfully exported to the e:\data\bundle directory:

Product Code : NT
Deployable   : True
Version      : 063000000
Description  : Monitoring Agent for Windows OS
Host Type    : WINNT
Host Version : WINNT
Prerequisites:

Product Code : NT
Deployable   : True
Version      : 063000000
Description  : Monitoring Agent for Windows OS
Host Type    : WIX64
Host Version : WIX64
Prerequisites:

Create IEM Download File

BFArchive-8.0.0.0.exe -a e:\data\bundle\NT_063000000_WINNT e:\data\NT_063000000_WINNT.tmp

Determine sha1 information

The SHA1 tool (https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Tivoli%20Endpoint%20Manager/page/SHA1%20Tool) can be used to determine the SHA1 value and also will provide a template for the “prefetch” command.

Sha1.exe -r e:\data\NT_063000000_WINNT.tmp
prefetch NT_063000000_WINNT.tmp sha1:32685b95f970e8f61e187d8433360072f213dba8 size:85360201 http://EXAMPLEURL/REPLACEME.exe

Use the sha1 value as the folder name and create a folder under “E:\Program Files (x86)\BigFix Enterprise\BES Server\wwwrootbes\Uploads\” (this is the directory on my TEM server), then  copy the TMP file to the new folder. For this example the folder would be “E:\Program Files (x86)\BigFix Enterprise\BES Server\wwwrootbes\Uploads\32685b95f970e8f61e187d8433360072f213dba8”

Review the SPD file and determine install command and options for the NT_Silent_Install.txt


If you do not already have a silent install response file, this can be created by reviewing the information in the SPD file. This is no different than the response file used for non-IEM deployments. This also goes for the command line.
The SPD file does contain quite a bit of information in it and if you are not familiar with them, you might be better off reading the ITM install guides on how to create the response file.
Most of what is needed is either in the “default_variables” or in the “add_text_file_objects”. These sections will show the variables that are used and the command line required to execute the install.

default_variables
     LOG_MODE = "LOGMODE"
     SOURCE_DIR = "e:\data\bundle\NT_063000000_WINNT"
     TEMS_HOSTNAME = "localhost"
     CANDLEHOME = "C:\IBM\ITM"
     FIREWALL = "NO"
     NETWORK_PROTOCOL = "IP.PIPE"
     IP_PIPE_PORT_NUMBER = "1918"
     CANDLE_ENCRIPTION_KEY = "IBMTivoliMonitoringEncryptionKey"
     ARGS_INSTALL_CMD = '/c start /wait $(CANDLEHOME)\spbInstall\setup.exe /w /z"/sf$(CANDLEHOME)\spbInstall\NT_Silent_Install.txt" /s  /f2"$(DEST_SILENT_INSTALL_LOG)"'
     DEST_SILENT_INSTALL_LOG = "$(temp_dir)\Silent_NT.log"
     DEST_SILENT_UNINSTALL_LOG = "$(temp_dir)\Silent_NT.log"
     ARGS_UNINSTALL_CMD = '/c start /wait $(CANDLEHOME)\spbInstall\setup.exe /w /z"/sf$(CANDLEHOME)\spbInstall\NT_Silent_Uninstall.txt" /s  /f2"$(DEST_SILENT_UNINSTALL_LOG)"'
end

add_text_file_objects
     replace_if_existing = y
     file = $(CANDLEHOME)\spbInstall\NT_Silent_Install.txt
     stop_on_failure = n

     add_command_line
        replace_if_existing = y
        text = ";Install Directory=C:\IBM\ITM"
        command = "Install Directory"
        key = "C:\IBM\ITM"
        position = begin
        pattern = "Install Directory=C:\IBM\ITM"
     end

     add_command_line
        replace_if_existing = y
        text = ";EncryptionKey=IBMTivoliMonitoringEncryptionKey"
        command = "EncryptionKey"
        key = "IBMTivoliMonitoringEncryptionKey"
        position = begin
        pattern = "EncryptionKey=IBMTivoliMonitoringEncryptionKey"
     end

     add_line
        replace_if_existing = y
        text = "Install Directory=$(CANDLEHOME)"
        position = before_first
        pattern = ";Install Directory=C:\IBM\ITM"
     end
     add_line
        replace_if_existing = y
        text = "EncryptionKey=$(CANDLE_ENCRIPTION_KEY)"
        position = before_first
        pattern = ";EncryptionKey=IBMTivoliMonitoringEncryptionKey"
     end
     add_line
        replace_if_existing = y
        text = "[CMA_CONFIG]"
        position = end
     end
     add_line
        replace_if_existing = y
        text = "FTO Flag=N"
        position = end
     end
     add_line
        replace_if_existing = y
        text = "AUDIT=Y"
        position = end
     end
     add_line
        replace_if_existing = y
        text = "Protocol1=$(NETWORK_PROTOCOL)"
        position = end
     end
     add_line
        replace_if_existing = y
        text = "IPPIPE_Port=$(IP_PIPE_PORT_NUMBER)"
        position = end
     end
     add_line
        replace_if_existing = y
        text = "IPPIPE_Host=$(TEMS_HOSTNAME)"
        position = end
     end
     add_line
        replace_if_existing = y
        text = "CONNECT=Y"
        position = end
     end
   end

With this information, I am able to build the action script. Of course there will be different paths for some items, but that goes with knowing the IEM environment.

My command line will look something like this:
waithidden "C:\IBM\Install\setup.exe" /w /z"sfc:\IBM\install\IEM_NT_Silent_Install.txt" /s /f2"c:\IBM\Install\Silent_NT.log"

During my download, I will extract the .TMP file and then copy the files to “C:\IBM\Install”. This is not required as they can be executed from the “__Download” folder, but I just wanted the code to be kept local. I am also going to create the response file called “IEM_NT_Silent_Install.txt” using the appendfile command.

Here is what my action script looks like
=======================================================================
prefetch NT_063000000_WINNT.tmp sha1:32685b95f970e8f61e187d8433360072f213dba8 size:85360201 http://winbfsrv:52311/Uploads/32685b95f970e8f61e187d8433360072f213dba8/NT_063000000_WINNT.tmp

extract NT_063000000_WINNT.tmp

dos mkdir "c:\IBM\install"
delete "__Download\NT_063000000_WINNT.tmp"

dos xcopy /s/e/v/q/y "__Download\*.*" "C:\IBM\Install"

parameter "TEMS_HOSTNAME"="temhub"
parameter "Install Directory"="C:\IBM\ITM"
parameter "FIREWALL"="NO"
parameter "NETWORK_PROTOCOL"="IP.PIPE"
parameter "IP_PIPE_PORT_NUMBER"="1918"

delete __appendfile
appendfile [INSTALLATION SECTION]
appendfile ;---------------------------------------------------------------------
appendfile AgentDeploy=yes
appendfile License Agreement=I agree to use the software only in accordance with the installed license.
appendfile Install Directory={parameter "Install Directory"}
appendfile Install Folder=IBM Tivoli Monitoring
appendfile EncryptionKey=IBMTivoliMonitoringEncryptionKey
appendfile [FEATURES]
appendfile KNTWICMA=Monitoring Agent for Windows OS

appendfile [CMA_CONFIG]
appendfile FTO Flag=N
appendfile AUDIT=Y
appendfile Protocol1={parameter "NETWORK_PROTOCOL"}
appendfile IPPIPE_Port={parameter "IP_PIPE_PORT_NUMBER"}
appendfile IPPIPE_Host={parameter "TEMS_HOSTNAME"}
appendfile CONNECT=Y
appendfile FIREWALL={parameter "FIREWALL"}

delete "c:\IBM\Install\IEM_NT_Silent_Install.txt"

copy __appendfile "c:\IBM\Install\IEM_NT_Silent_Install.txt"

waithidden "C:\IBM\Install\setup.exe" /w /z"sfc:\IBM\install\IEM_NT_Silent_Install.txt" /s /f2"c:\IBM\Install\Silent_NT.log"
=======================================================================

Now this action script does work and would be ok if you always had the same TEMS/RTEMS, but I am sure that is not realistic. If you want to add to it, I would look at possibly prompting for the TEMS/RTEMS host name with the “action parameter query”.

For example, you would replace the:
parameter "TEMS_HOSTNAME"="temhub"

with:
action parameter query "Primary RTEMS Hostname" with description "Please enter the Primary RTEMS Hostname:" with default value "ITMHUB"

Determine relevance method

There are many ways to check the relevance, this really comes down to your preferred method. Here are a couple options:
Files:
C:\IBM\ITM\INSTALL\ver\ KINWIINSMSTR.VER
C:\IBM\ITM\properties\version\knt.IBM_Tivoli_Monitoring_-_Windows_OS_Agent-6.3.0.swtag

Services:
KNTCMA_Primary
KNTCMA_Watchdog

For simplicity, I will just use the service “KNTCMA_Primary”. The relevance will look like:
not exists service “KNTCMA_Primary”

Create the fixlet

With all the information gathered and the TMP file copied to the Uploads folder, the fixlet can be created and used to deploy ITM agents. The fixlet can be created by putting the following into a text file with the BES extension and then use the Import function from the IEM Console to import the file to the desired site.

=================================================================
<?xml version="1.0" encoding="UTF-8"?>
<BES xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="BES.xsd">
        <Fixlet>
                <Title>Deploy: IBM Tivoli Monitoring Agent for Winnt</Title>
                <Description><![CDATA[Created: Jan 5, 2014<BR>Created By: Martin Carnegie, Gulf Breeze Software Partners<BR>Comment: Sample Fixlet for deploying ITM agent.]]></Description>
                <Relevance>(name of it contains "Win") of operating system </Relevance>
                <Relevance>not exists service "KNTCMA_Primary"</Relevance>
                <Category></Category>
                <Source>Internal</Source>
                <SourceID></SourceID>
                <SourceReleaseDate>2014-01-05</SourceReleaseDate>
                <SourceSeverity></SourceSeverity>
                <CVENames></CVENames>
                <SANSID></SANSID>
                <MIMEField>
                        <Name>x-fixlet-modification-time</Name>
                        <Value>Mon, 06 Jan 2014 04:57:48 +0000</Value>
                </MIMEField>
                <Domain>BESC</Domain>
                <DefaultAction ID="Action1">
                        <Description>
                                <PreLink>Click </PreLink>
                                <Link>here</Link>
                                <PostLink> to deploy this action.</PostLink>
                        </Description>
                        <ActionScript MIMEType="application/x-Fixlet-Windows-Shell">prefetch NT_063000000_WINNT.tmp sha1:32685b95f970e8f61e187d8433360072f213dba8 size:85360201 http://winbfsrv:52311/Uploads/32685b95f970e8f61e187d8433360072f213dba8/NT_063000000_WINNT.tmp

extract NT_063000000_WINNT.tmp

dos mkdir "c:\IBM\install"
delete "__Download\NT_063000000_WINNT.tmp"

dos xcopy /s/e/v/q/y "__Download\*.*" "C:\IBM\Install"
action parameter query "Primary RTEMS Hostname" with description "Please enter the Primary RTEMS Hostname:" with default value "ITMHUB"

parameter "TEMS_HOSTNAME"="temhub"
parameter "Install Directory"="C:\IBM\ITM"
parameter "FIREWALL"="NO"
parameter "NETWORK_PROTOCOL"="IP.PIPE"
parameter "IP_PIPE_PORT_NUMBER"="1918"

delete __appendfile
appendfile [INSTALLATION SECTION]
appendfile ;---------------------------------------------------------------------
appendfile AgentDeploy=yes
appendfile License Agreement=I agree to use the software only in accordance with the installed license.
appendfile Install Directory={parameter "Install Directory"}
appendfile Install Folder=IBM Tivoli Monitoring
appendfile EncryptionKey=IBMTivoliMonitoringEncryptionKey
appendfile [FEATURES]
appendfile KNTWICMA=Monitoring Agent for Windows OS

appendfile [CMA_CONFIG]
appendfile FTO Flag=N
appendfile AUDIT=Y
appendfile Protocol1={parameter "NETWORK_PROTOCOL"}
appendfile IPPIPE_Port={parameter "IP_PIPE_PORT_NUMBER"}
appendfile IPPIPE_Host={parameter "TEMS_HOSTNAME"}
appendfile CONNECT=Y
appendfile FIREWALL={parameter "FIREWALL"}

delete "c:\IBM\Install\IEM_NT_Silent_Install.txt"

copy __appendfile "c:\IBM\Install\IEM_NT_Silent_Install.txt"

waithidden "C:\IBM\Install\setup.exe" /w /z"sfc:\IBM\install\IEM_NT_Silent_Install.txt" /s /f2"c:\IBM\Install\Silent_NT.log"


</ActionScript>
                </DefaultAction>
        </Fixlet>
</BES>
=================================================================

After Thoughts

There are many ways that this could be done and some people may prefer to use the SPD/SPB file or even the IEM Software Distribution Wizards rather than this sort of manual method that I have here. Once you have the response files created and the command lines to use, the SPD file section will not be required.

I think it would also be interesting to use the “SWTAG” files “C:\IBM\ITM\properties\version” on Windows or the “VER” files in “C:\IBM\ITM\INSTALL\ver” as part of an analysis as there is some useful information in there to query the ITM environment. This would have to be explored more on the various agents to see where these files are and if they are there for all agents.

Hope you were able to get some useful information out of this. Please let me know if you come across an issue or a possible enhancement to this process.

Thanks


Martin Carnegie.

Wednesday, December 18, 2013

APM UI 7.7 and Mobile Support

APM UI 7.7 and Mobile Support

If you currently using APM UI 7.6.x on mobile devices, I would currently recommend keeping the APM UI 7.6.x around and running.  Keeping both running should not be an issue, since APM UI 7.6 uses TIP and APM UI 7.7 uses Liberty.

When testing APM UI 7.7 on an IPAD running IOS 7.0.4 the user interface was not usable.  I saw the following issues:

1.  Everything was not visible on the screen right to left on IBM provided widgets.  This was even after collapsing the left pane.
2.  I could not scroll down to see the data on all widgets.

Based on the following Dev Works post from IBM, I believe true mobile support is not expected till March.
https://www.ibm.com/developerworks/community/forums/html/topic?id=4f6fef3a-b945-4d1b-9bf1-09fb70942e87#2cad1b7a-e075-47c8-b74e-4f7dfbf5634f

NOTE:  We also found the following in the manuals:
To avoid conflicts with the SCR of Tivoli Business Service Manager, do not install SmartCloud Application Performance Management UI and Tivoli Business Service Manager on the same computer. 

This is probably due to the fact the TBSM schema and APM UI are very similar.

Source --> http://publib.boulder.ibm.com/infocenter/tivihelp/v63r1/topic/com.ibm.apm.doc_7.7/apm_ui_docs/apmui_77/install_using_im.html


Sunday, December 15, 2013

APM UI 7.7 is GA

APMUI 7.7 is GA


APMUI 7.7 is GA as of 12/13/13.

Part Numbers for download:
  • Windows - CIR57ML
  • AIX - CIR58ML
  • Linux X - CIR59ML
  • Linux Z - CIR5AML

Quick Highlights:
1.  Requires use of derby or DB2 database
2.  Uses Tivoli Blaze
3.  WebSphere Liberty Core
4.  Does NOT use TIP 2.x as the Application Server anymore.

New Widgets:
1.  DataPower
2.  Exchange 2013 Server
3.  .NET Framework
4.  Plus more ....

New Features Overview:

I will update the GBS blog over the next few days once we get this up and running in the lab.







Tuesday, November 5, 2013

Repairing WMI Errors on Windows systems with IBM Endpoint Manager

One of the issues that I have seen on customer sites are problems with WMI (Windows Management Instrumentation). One of the (many) good things about IEM is that it really does not need WMI to function as IBM uses custom built inspectors to do almost everything. The only issues are mainly around some data collection points (some hardware information for example), but this does not cause the agent to fail and still allows for actions to be taken on the targets. This is a huge advantage for IEM, as other vendor products will not even function if WMI is broken.

To identify systems with WMI issues is pretty simple with a Web Report:
1. In Web Reports go to Explore Data
2. Click the Edit Columns and add the column "Computer Model - Windows" (part of the hardware analysis)
3. Add the filter "Computer" "Computer - Model - Windows (Hardware Information (Windows))" "contains" "Windows Error"

This will show all systems with errors which should be ones with WMI issues. The thing to note is that there are different error codes and some are easier to fix than others.


Now to repair the WMI issues, I created a fixlet that can be used. This seems to address some of the errors that I have seen, but not all. Some systems are so far gone, that it will require manual intervention or even a rebuild of the OS.

I have made this available on the BigFix.me site for downloading and comments:
http://bigfix.me/fixlet/details/3652?force=true

Please note that this has been tested but only in a limited amount as I do not have many systems available to me and I could not simulate all the possible WMI errors.

Let me know how this works for you and we will see if we can get this to fix all errors.

Martin

Tuesday, October 29, 2013

Using JScrollPane in Java and getting the contents to actually scroll

This has almost nothing to do with Tivoli, but I hit this stupid problem every few years, and it takes me 30 minutes to figure out the solution each time. So I thought I would post it here:

When creating a fat GUI in Java, you may have a portion of your window that is a JScrollPane, which has a ViewPort and a ViewPortView (often a JPanel) . A common need is to add components to your JPanel (the ViewPortView). However, when you do this, you'll notice that whatever you do with the JScrollPane's scrollbars, it won't scroll in one or both directions. Well, the problem is that the addition of new components does NOT increase the value of the ViewPortView's PreferredSize attribute. So as you add more components, you need to manually update this attribute with code similar to:

myJScrollPane.getViewPort().getView().setPreferredSize(myNewDimension);

I've tried setViewSize(), and that doesn't seem to do anything - setPreferredSize is what you've got to do.


Wednesday, October 23, 2013

TCR 3.1.x and Launch --> Administration and Browser Fun

After installing JazzSM 1.1.0.1, I learned AGAIN all browsers are not created equal.

The browser, version, and java version are becoming more and more important today within the IBM product set and here is another example.

So after having a completed JazzSM/TCR install I went to configure the DB connection for TDW via Launch > Administration and found the following screen appears.  Where is the rest of it?


The troubleshooting starts:
1.  Maybe the installer said the install was SUCCESS, but it really failed.  Better check the logs.
2.  Maybe I need to cycled the application.
3.  Let me check the user permissions.
4.  Lets create another user.
5.  Did the Cognos content store DB get created.

After talking to Venkat Saranathan (the GBS resident TCR expert), he suggests trying I.E (his favorite browser) instead of Chrome.

If you use Firefox or I.E the gui draws correctly or at least the buttons are now there.  I.E. had other issues since I was using version 10 and version 10 is not supported for TCR. So after trying Firefox I was able to complete the configuration.



If you want to see what browsers and version are supported for JazzSM 1.10.1 check out the following link:
http://publib.boulder.ibm.com/infocenter/prodguid/v1r0/clarity-reports/report/html/softwareReqsForProduct?deliverableId=1315519207893&osPlatform=Windows#
--> Then Select prerequisites





Tuesday, October 15, 2013

Exporting and Importing TEPS WorkSpaces

Exporting and Importing TEPS WorkSpaces


I have never had great success with exporting and importing workspaces that I have custom built.  I spent some time last night to work through a process that appears to work well.

The key item I have found it is to import the workspace without the queries in place.  This requires you to import any custom queries in advance though.  This allows the IBM provided queries you used to not be touched.

#Admin and Author mode setup for my user on both TEPS servers

#Export WorkSpace with the queries
tacmd exportWorkspaces -x GBS_LZ_HealthCheck_RealTime.queries -w GBS_LZ_HealthCheck_RealTime -t lz -q

#Export WorkSpace with NO queries
tacmd exportWorkspaces -x GBS_LZ_HealthCheck_RealTime -w GBS_LZ_HealthCheck_RealTime -t lz

#Determine Custom Queries
cat GBS_LZ_HealthCheck_RealTime.queries |grep "query name"
    <query name="G_LZ_DiskUsedPercent" type="candle.fw.model.PBasedModel">
    <query name="System Statistics" name_key="Klz:KLZ6828" type="candle.fw.model.PBasedModel">
    <query name="CPU" name_key="Klz:KLZ6802" type="candle.fw.model.PBasedModel">
    <query name="VM Statistics (623)" name_key="Klz:KLZ6844" type="candle.fw.model.PBasedModel">
    <query name="G_LZ_ProcessTop10" type="candle.fw.model.PBasedModel">

#NOTE:  All of the queries I built start with G_ (so they are easy to find)

#Export the Cusom Queries:
tacmd exportqueries -x G_LZ_DiskUsedPercent -q G_LZ_DiskUsedPercent -t lz
tacmd exportqueries -x G_LZ_ProcessTop10 -q G_LZ_ProcessTop10 -t lz

#Transfer Files to the other TEPS
scp * <user>@<host>:/tmp/workspace

#Import the Queries
tacmd importQueries -x ./G_LZ_DiskUsedPercent
tacmd importQueries -x ./G_LZ_ProcessTop10

#Import the WorkSpace without the Queries
tacmd importWorkspaces -x ./GBS_LZ_HealthCheck_RealTime

IBM SmartCloud Application Performance Monitoring 7.7 highlights

This is a short summary of the key new features and capabilities available in SCAPM 7.7.

These are are a view of the highlights we have found so far.

SCAPM 7.7 Overview:
http://publib.boulder.ibm.com/infocenter/tivihelp/v63r1/index.jsp?topic=%2Fcom.ibm.apm.doc_7.7%2Fic-homepage.html


What I know so far:
1.  NO APM UI 7.7 yet that I can find.  

2.  ITCAM for Transactions 7.4
Keys: 
1.  RPT 8.3  support.  
2.  Client Response Time is out.
3.  Rational Robot is out, RPT is the future.
4.  New WRT functions 
5.  ITM 6.3 is officially supported.
          6.  The agents have been updated to support SDA.



3.  Updated ITCAM for Applications 7.2.1


Keys: 
1.  ITCAM for SOA Message Broker and ITCAM for Transactions are sharing the same data collector.
2.  The J2EE Agents have not been updated yet.  They are still sitting at the 7.1 version.
          3.  Numerous FixPacks are now eGA which makes for the faster deployments. 


IBM Information:
 Capability Updates for this new Release: 
  • SOA Infrastructure : Enabling Line of Business Service Reporting in a Multi-tenant Datapower Infrastructure.           
  • End-user experience management  : Visibility to end user experience with proprietary applications, featuring custom decoder plugin capability for Transaction Tracking.
  • Extended Transaction Tracking capability to CICS TX.
  • Enhanced Transaction Tracking support for Websphere MQ to Message Broker.
  • Improved Diagnostics platform currency (JBoss 5, & 6, Tomcat 7, WebLogic 12, NetWeaver 7.1, WAS 8.5.5, WXS 7 & 8, WSRR 8.0.2)
               
- Currency Updates :
  • Rational Functional Tester 8.3, Rational Performance Tester 8.3, Message Broker 8, ASP.NET 4, SAP NetWeaver 7.31 and 7.4 & Siebel 8.1.x and 8.2.x. SAP NetWeaver 7.3.1/7.4, SAP NetWeaver PI 7.3.1/7.4, SAP  Solution Manager 7.1
  • Support for the new architecture (MAI) of SAP Solution Manager 7.1.

Future :  Shortly we will be announcing our new open beta program which will cover the following capabilities:  
  • Reduces application downtime by putting lightweight deep-dive diagnostic capabilities into the hands of application developers, making it practical for them to perform production-like monitoring in test and development environments, as well as obtaining that same deep level of visibility in production.
  • Expands Application Performance Management platform coverage to include new cloud technology capabilities for application resources.
  • Extends traditional application performance capabilities beyond the data center into self-service public and private clouds.
  • Dynamically recognizes new instances of rapidly provisioned applications, and automatically expands and contracts the Application Performance Management infrastructure to respond to fluctuations in demand.
  • Accelerates problem resolution through rapid analysis of structured and unstructured application data.

Wednesday, September 11, 2013

Rational Performance Tester - Verification Points and Custom Code


The following article was posted to IBM DeveloperWorks:

Summary:

  • How to record a RPT HTTP Test in the Test Perspective.
  • How to upload the RPT script to the AMC.
  • How to create a Profile and deploy the RPT script.
  • How to test and setup Content Verification Points in the RPT Test Perspective.
  • How to use Custom Java Code to perform variable substitution in an RPT script.
Article Link --> 

Sunday, September 1, 2013

Using a Single SSL/TLS Certificate in IHS for Multiple Virtual Hosts

IBM HTTP Server does allow a single SSL/TLS certificate to be presented for multiple virtual hosts. It allows this capability by supporting Server Alternate Names (SANs) on certificates rather than by supporting TLS Server Name Indication (SNI). (Just to be clear - no versions of IHS support SNI as of IHS version 8.5).

This article defines this capability: IP-Based Virtual Hosting must be used if configuring multiple SSL Virtual Hosts, but it does it in a VERY confusing way, with an even MORE confusing title. The meat of the solution is in the following text from the above article:

Exception Note: If the Keyfile uses a SAN Certificate (support for multiple domain names) 
Name-Based virtual hosting can be used instead. When using a SAN Certificate the first SSL VirtualHost will be used for the SSL handshake. After the handshake completes the SSL Virtualhost used for the HTTP request processing is determined by the ServerName directive that matches the host header supplied in the client request

NameVirtualHost 1.2.3.4:80
NameVirtualHost 1.2.3.4:443

<VirtualHost 1.2.3.4:80>
ServerName www.CompanyA.com
ServerAdmin webmaster@CompanyA.com
DocumentRoot /www/html/CompanyA
ErrorLog /www/logs/CompanyA/error_log
TransferLog /www/logs/CompanyA/access_log
</VirtualHost>

<VirtualHost 1.2.3.4:80>
ServerName www.CompanyB.com
ServerAdmin webmaster@CompanyB.com
DocumentRoot /www/html/CompanyB
ErrorLog /www/logs/CompanyB/error_log
TransferLog /www/logs/CompanyB/access_log
</VirtualHost>

<VirtualHost 1.2.3.4:443>
SSLEnable
SSLClientAuth none
ServerName www.CompanyA.com
ServerAdmin webmaster@CompanyA.com
DocumentRoot /www/html/CompanyA
ErrorLog /www/logs/CompanyA/error_log
TransferLog /www/logs/CompanyA/access_log
</VirtualHost>

<VirtualHost 1.2.3.4:443>
SSLEnable
SSLClientAuth none
ServerName www.CompanyB.com
ServerAdmin webmaster@CompanyB.com
DocumentRoot /www/html/CompanyB
ErrorLog /www/logs/CompanyB/error_log
TransferLog /www/logs/CompanyB/access_log
</VirtualHost>

SSLDisable
Keyfile /usr/lpp/HTTPServer/keys/Keyfile.kdb
SSLV2Timeout 100
SSLV3Timeout 1000


In this case, your keyfile (Keyfile.kdb) would only contain one server certificate.

You can view information on SAN Certificates here: http://www-01.ibm.com/support/docview.wss?uid=swg21444027

And in case you were wondering, I'm pretty certain the above will NOT work for the Tivoli Enterprise Portal Server (TEPS) because of multiple specifications of the host name and/or IP address that must all match correctly.

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.