Monday, June 6, 2016

IBM Control Desk for Service Providers

One of the many features of IBM Control Desk that separates it from the competition is its ability to support Service Providers. It does this by allowing you to secure information on a per-customer basis. For this blog post, I wanted to show a couple of multi-customer scenarios in the product. Specifically, I wanted to show a customer-specific user logging in and only seeing that customer's assets. Additionally, I wanted to show a software license being assigned to that customer-owned asset and how it appears. The screenshots associated with those are shown here:

Create a customer named ACME CORP






Now create a Person who is associated with ACME CORP.





The Cust/Vendor field is farther down on the page.


Now create a user that is associated with that Person.


Now create a Security Group (SP) with any permissions you want, but specify "Authorize Group for Customer on User's Person record". I only granted Read access to the Assets application. And add your user to this group.


Here I'm logged in as the user, and can only see the one asset associated with ACME CORP.


Here I'm viewing the Licenses (SP) application for Adobe Acrobat and see that a license has been allocated to ITAM1010, which is the asset associated with ACME CORP.


Friday, April 22, 2016

Configuring ITIC for use with IBM Control Desk 7.6

As shipped with ICD 7.6 (at least on Linux x86 64-bit), ITIC isn't quite configured correctly. When you try to run startFusion.sh, it will complain that it cannot file the main class. The problem lies in the init.sh script. Specifically, you need to change the following line:

FSNBUILD=7510

to

FSNBUILD=7600

Without this change, it's trying to find a file named IntegrationComposer7510.jar, which doesn't exist. In 7.6, the correct file is IntegrationComposer7600.jar.

Another thing to note is the URL of the BigFix server for use with the ITIC mapping is:

https://hostname-or-ipaddress:52311


The easiest way to work around the problem of having one VM on a NAT network and one on a host-only network in VMWare Workstation

The Situation


I have a BigFix environment with a Windows BigFix server on the host-only network, and I've got IBM Control Desk installed on a Red Hat VM on one of the NAT networks. I want to integrate the two for asset management, which requires the Integration Composer, which has to communicate with both servers simultaneously. (We've done an air-gapped integration for a couple of customers, but I wanted to use the out-of-the-box mechanism).

Bad Solutions

Some of the solutions that I considered, but threw out because of the work involved:

Change an IP address

Simply move one server to the other network and then add routes to communicate between different subnets IP addresses on the same network

Easy Solution

I added a network card on the NAT network to the BigFix Windows server. VMWare Workstation quickly suspended and resumed the VM, the adapter was seen, and it got a DHCP address on the NAT network. And then I could communicate between the two machines!

Tuesday, April 19, 2016

Installing IBM Control Desk v7.6 on Red Hat Enterprise Linux 6.6

I just had a difficult time installing ICD 7.6 on RHEL 6.6 and wanted to share one workaround that I used that finally got me around the prerequisite checker failures on Installation Manager.

I've done this successfully in a production environment, but in this case I'm installing this in a VM in my lab that's running under VMWare Workstation, and it's on a NAT network. Every time the Installation Manager runs the prerequisite checker, I kept getting a failure on network.fqdn, even though the hostname was absolutely set to a fully qualified domain name (icd76.mynet.foo). So I started up 'dnsmasq' locally and pointed to my own IP address as my DNS server. That allowed network.fqdn to PASS, but then network.dns would FAIL (!).

Figuring I have my networking configured "good enough" for my small test machine, I simply edited the following files:

PAD_07060000.cfg
PAW_07060000.cfg

in the directory /var/ibm/InstallationManager/bundles/plugins/com.ibm.tivoli.pae.prereq 1.0.1.20157141414/com/ibm/tivoli/pae/prereq/SystemRequirements/unix/ to change:

network.dns=True

to

network.dns=False

And then it worked like a champ!

How did you find those buried files?

If you cd to /var/ibm/InstallationManager/logs and run 'firefox index.xml', you get a great view of all of the Installation Manager log files. In the latest one, the completion message pointed me basically to that directory.

IBM's Maximo 7.6 demo site is available

It's here:


It's just Maximo (enterprise) Asset Management, so it doesn't have any of the IBM Control Desk-specific content, but is a good place to check stuff out if you don't have a a local installation running.


Monday, March 14, 2016

How to Convert Remedy Time to UTC TimeStamp

This question came up on the INUG-USERS mailing list the other day, and our own IV Blankenship was the person who came to the rescue:

Question:
Using Impact WebService we capture the Ticket Close time from Remedy.

I observer Remedy sends the datetime in the below format. How to convert
the below format to NetCool UTC datetime format and display in NetCool
Dashboard.

*2016-02-23T20:45:09-08:00 -> with timezone embedded*



Answer:
The Impact ParseDate function is a wrapper for the Java SimpleDateFormat
class (
http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html)

The problem with your date string is the timezone. SDF and ParseDate by
extension expect it to be (+-)NNNN not (+/-)NN:NN.
Also, you have to escape the T using single quotes.


You did not say if you were using IPL or Javascript, but here is some IPL
that will work and verify that your data is in the expected format.

d="2016-02-23T20:45:09-08:00";
if(d like '(\d\d\d\d\-\d\d\-\d\dT\d\d:\d\d:\d\d)([\+\-]\d\d):(\d\d)$') {
  parts=RExtractAll(d,
'(\d\d\d\d\-\d\d\-\d\dT\d\d:\d\d:\d\d)([\+\-]\d\d):(\d\d)$');
  tempDateString=parts[0]+parts[1]+parts[2];
  Log(0,tempDateString);
  f="yyyy-MM-dd'T'HH:mm:ssZ";
  pd=ParseDate(tempDateString, f, null);
  Log(pd);
}
else {
  Log(0,"Unsupported date format!");
}

Monday, February 29, 2016

GBS IBM InterConnect 2016 Presentation

All,

This is the presentation Anthony Segelhorst gave at IBM InterConnect 2016.

Title: Gulf Breeze Discusses Application Monitoring Using IBM APM and Log Analysis

Link to Google Drive:
Download Link