Inventário de WebSphere

Para levantar informações do WebSphere Application Server (WAS) melhor trabalhar com scripts. E para ajudar nessa tarefa temos o wsadminlib.py, fornecido pela IBM, utilizado no wsadmin.
Caso não tenha acesso ao usuário de execução do WebSphere, você pode usar uma instalação local e conectar-se remotamente ao servidor desejado, por exemplo:
/opt/IBM/WebSphere/AppServer/profiles/AppServer01/bin/wsadmin.sh -lang jython -host 10.1.0.2 -user wasadmin -password 123456
Uma vez conectado ao servidor, vamos carregar as funções da biblioteca:

wsadmin>execfile('wsadminlib.py')

Exemplos de Funções:

 listServerClusters()
 listServersInCluster('clustername')
 listNodes()
 listAllServers()
 print getServerPort('nodename','servername','BOOTSTRAP_ADDRESS')
 print getServerPort('nodename','servername','WC_defaulthost')
 listApplications()
 getClusterTargetsForApplication('appname')
 getApplicationContextRoot('appname')
 getApplicationVirtualHost('appname')

Para obter a ordem de inicialização de cada aplicação, encontrei um script alternativo:
http://daneshmishra.blogspot.com.br/2010/10/jacl-script-to-change-start-weight-of.html
 

Montando o CMDB

Depois de muita reflexão (e troca de ideias com o querido chefinho da época), cheguei a uma forma de conseguir estruturar o CMDB.
Primeiro vamos seguir o padrão e considerar que qualquer coisa é um item de configuração (Configuration Item – CI).
Cada CI pode estar relacionado com outro CI. Vamos deixar a hierarquia para os controles específicos. Na visão geral, simplesmente teremos um relacionamento N pra N entre CIs.
Na prática, o que precisamos é transformar cada item da infraestrutura (que pode variar de servidor até arquivo de configuração) em um CI, e criar uma base de relacionamento de CIs, que pode ser bem simples.