marcelocmotta

Integrando o CA CMDB com uma tabela ou view no SQL Server usando o GRLoader

Blog Post created by marcelocmotta on Jun 3, 2016

Caros, neste documento compartilho uma forma de implementar a população do CMDB com as informações de uma tabela/view do SQL Server usando o GRloader.

 

Faça o De/para dos campos do CMDB e da tabela de origem

 

Para integrar use a linha de comando abaixo:

 

GRLoader -dbdriver com.microsoft.sqlserver.jdbc.SQLServerDriver -dburl jdbc:sqlserver://BANCO_DADOS:1433;databaseName=BD_NOME;integratedSecurity=true -dbuser USUARIO -dbpswd SENHA -s http://SDM_SERVER:8080 -a -n -E -u USARIO_SDM -p SENHA_SDM -dbstmt "QUERY" -e ERRO.xml

 

Onde você deve alterar os seguintes parâmetros:

 

  • BANCO_DADOS: Nome do servidor de banco de dados
  • BD_NOME: Nome do banco de dados onde estão as tabelas
  • USUARIO: usuário de acesso ao banco de dados. No meu caso eu usei um usuário do AD e precisei colocar Dominio/usuário
  • Senha: Senha do usuário de acesso ao banco
  • SDM_SERVER: Servidor do SDM
  • USUARIO_SDM: Usuario do SDm
  • SENHA_SDM: Senha de acesso do usuário do SDM
  • QUERY: Consulta SQL na tabela de origem
  • ERRO: nome do arquivo de erro na integração

 

Para quem for fazer autenticação no AD é necessário fazer a copia do arquivo sqljdbc_auth.dll no Java

 

A query deve ter o de/para identificado e os nomes das colunas devem corresponder com os nomes dos campos do CMDB.

Obs: Na versão 12.7 não consegui fazer com que funcionasse para campos customizados no CMDB com letra maiúscula (isto funciona quando usa uma planilha do Excel). Tive que criar os campos sempre com letra minúscula.

 

Exemplo de query:

 

SELECT * FROM dbo.CMDB_VM where delete_flag = 'Ativo'

 

No meu caso eu fiz a integração com o VCenter para criar/atualizar as máquinas virtuais da minha empresa. Para isto criei views com os nomes de campos corretos.

 

Para finalizar eu criei um agendamento no windows que executa o comando diariamente.

Outcomes