Gerenciando Servidores com GlideRecord no ServiceNow
No ambiente de operações de TI, a gestão eficaz dos servidores é crucial para a continuidade dos serviços e para a otimização dos recursos. Na nossa plataforma ServiceNow, utilizamos a tabela cmdb_ci_server
para armazenar informações essenciais sobre nossos servidores. Um dos métodos mais poderosos para interagir com esta tabela é por meio do uso de GlideRecord
, que nos permite executar operações como criar, ler, atualizar e excluir registros de forma programática.
O que é GlideRecord?
O GlideRecord é uma classe do ServiceNow (sim uma classe) que facilita a manipulação de dados em tabelas do banco de dados. Com ela, podemos realizar consultas e operações diretamente na tabela cmdb_ci_server
para obter informações sobre os servidores que gerenciamos.
Exemplo Prático de Script
Abaixo, apresento um exemplo de um script que utiliza o GlideRecord para iterar sobre todos os registros na tabela cmdb_ci_server
e exibir informações relevantes sobre cada servidor.
// Criar um novo objeto GlideRecord para a tabela cmdb_ci_server
var serverGR = new GlideRecord('cmdb_ci_server');
// Consultar todos os registros na tabela
serverGR.query();
// Verificar se existem registros
if (serverGR.hasNext()) {
// Loop através de todos os registros retornados
while (serverGR.next()) {
// Exibir informações do servidor
var serverName = serverGR.getValue('name'); // Nome do servidor
var serverIP = serverGR.getValue('ip_address'); // Endereço IP do servidor
var serverOS = serverGR.getValue('os'); // Sistema operacional do servidor
// Imprimir os detalhes do servidor no log
gs.info('Servidor: ' + serverName + ', IP: ' + serverIP + ', OS: ' + serverOS);
}
} else {
gs.info('Nenhum servidor encontrado na tabela cmdb_ci_server.');
}
Exemplo da resposta
*** Script: Servidor: Service-now Production Sacramento, IP: null, OS: Linux Red Hat
*** Script: Servidor: Service-now Production San Diego, IP: null, OS: Linux Red Hat
*** Script: Servidor: DatabaseServer2, IP: null, OS: Linux Red Hat
Explicação do Script:
- GlideRecord: Usamos
new GlideRecord('cmdb_ci_server')
para criar uma instância que nos permite interagir com a tabelacmdb_ci_server
. - query(): O método
query()
é chamado para buscar todos os registros da tabela. - hasNext() ou Next(): Verificamos se existem registros retornados.
- Loop com next(): Dentro de um loop
while
, chamamosserverGR.next()
para iterar sobre cada registro. - getValue(): Usamos
getValue()
para obter os valores dos campos relevantes (neste exemplo,name
,ip_address
, eos
). - gs.info(): Usamos
gs.info()
para registrar as informações no log do sistema, que pode ser visualizado em System Logs > System Log > All.
Como Usar:
- Você pode executar este script em um Background Script dentro do ServiceNow.
- Acesse System Definition > Scripts — Background e cole o código acima.
- Execute o script para visualizar os resultados no log.
Gerenciar servidores de maneira eficaz é fundamental para garantir a saúde da infraestrutura de TI. O uso de scripts como este nos permite automatizar processos e ter acesso instantâneo às informações necessárias para a tomada de decisões mais informadas. Além disso, pode ajudar a identificar rapidamente problemas nos servidores, permitindo uma resposta proativa antes que esses problemas afetem os serviços.
Know more:
Exploring CMDB: A Deep Dive into cmdb_ci_router in ServiceNow.