Integrar o CA Automic

O CA Digital Experience Insights/UIM combinado com o Automic Service Orchestration oferece análise de previsão para ajudar a resolver questões complexas de TI, como problemas de desempenho, capacidade e configuração, a serem detectados de maneira proativa (antes que afetem os usuários) e corrigidos automaticamente.
uim902-9-0-2
HID_Automic_Integration
O CA Digital Experience Insights/UIM combinado com o Automic Service Orchestration oferece análise de previsão para ajudar a resolver questões complexas de TI, como problemas de desempenho, capacidade e configuração, a serem detectados de maneira proativa (antes que afetem os usuários) e corrigidos automaticamente.
A integração do CA UIM ao CA Automic é realizada com o probe messagegtw, que publica alarmes do UIM em um terminal do Automic configurado no probe messagegtw, usando webhooks.
Quando o CA UIM gera um alarme de aviso de disco cheio, a mensagem é transmitida ao Automic e uma tarefa específica é executada para limpar o cache para o diretório do disco. Você também pode definir/configurar outros parâmetros a partir do CA UIM para serem enviados como parte da mensagem ou do alarme que serão enviados ao Automic.
O probe messagegtw (Gateway de mensagens) do CA Unified Infrastructure Management é usado para publicar alarmes do CA UIM em um aplicativo externo usando webhooks. Um webhook é uma mensagem de notificação simples usando HTTP POST para um aplicativo externo. No CA UIM, um webhook é disparado com base na ocorrência de um alarme.
Fluxo de trabalho básico para configurar o messagegtw para um terminal
Configurar messagegtw
Configure messagegtw
Conteúdo:
4
Visão geral
Quando ocorre um evento no nas, ele publica em uma fila no hub.O probe messagegtw faz a escuta das mensagens e alarmes pelo nas por uma fila que você cria no hub. Também é necessário configurar a mesma fila no probe messagegtw. O probe messagegtw faz uma solicitação HTTP ao URL configurado para o webhook e publica a mensagem no webhook configurado.
Você pode implantar o probe em um hub principal, em um hub secundário ou em um robô. Você pode optar por configurar vários webhooks para receber a mensagem e os alarmes do messagegtw.
A GUI do operador automático do nas foi agora aprimorada para oferecer suporte a webhooks. O novo tipo de ação "webhooks" funcionará para a execução de instâncias do messagegtw e invocará um retorno de chamada nesse probe para identificar quais webhooks ou integrações rest de saída foram configuradas para permitir a criação de um operador automático apontado para um determinado webhook.
O probe oferece suporte a várias instâncias do messagegtw, de modo que você possa configurar vários probes em hubs e robôs, com base em seu ambiente. Você pode, então, criar perfis de operador automático pelo nas para webhooks, filtrar os alarmes e publicar na instância específica do messagegtw que desejar, especificando o caminho do diretório do robô ou hub em que o probe messagegtw está implantado.
Você precisa criar um perfil de operador automático no nas, com o qual se possa filtrar os alarmes e as mensagens a serem publicados pelo messagegtw. Para obter mais informações, consulte o tipo de ação "webhook" nos perfis de operador automático do nas.
A GUI do probe messagegtw permite configurar o webhook e mapear campos do messagegtw e do nas. As mensagens que você adiciona são enviadas ao webhook. Na GUI do messagegtw, são os webhooks que fazem a escuta do probe messagegtw. É possível criar vários perfis sob os agentes de escuta. Todos os perfis de escuta criados fazem a escuta do probe messagegtw.
Pré-requisitos
  • Implante o nas no hub principal.
    É necessário implantar o operador automático do nas para o webhook no hub principal para configurar o perfil de operador automático do webhook. É necessário fazer isso no hub principal, pois o probe data_engine está no hub principal.
Criar uma fila de anexos do hub
Os componentes do CA UIM usam filas para passar mensagens. Crie uma fila de anexos no hub para publicar mensagens do messagegtw nos webhooks configurados.
Siga estas etapas:
  1. No robô, abra a configuração do probe do hub e vá para
    Lista de filas
    .
  2. Na tabela Configuração da lista de fila, selecione
    Novo
    .
  3. Especifique as seguintes informações necessárias:
    • Nome da fila:
      digite um nome descritivo e exclusivo. Por questões de usabilidade, use um nome semelhante ou idêntico ao assunto. Especifique o nome da fila ao configurar o webhook no probe mesagegtw.
      Certifique-se de que o nome da fila que você especificar ao criar a fila de anexos seja igual ao nome da fila especificado no campo da
      configuração do messagegtw
      , do
      webhook e do nome da fila
      .
    • Ativo
      - selecione
      ativo
      para que a fila fique disponível imediatamente.
    • Tipo
      - selecione
      Anexo
      .
    • Endereço do hub
      (filas de obtenção) - endereço do hub que tem a fila de anexos correspondente.
    • Assunto
      (filas de anexos) - insira o probe_messagegtw do assunto.
Será exibida uma caixa de diálogo solicitando que você reinicie o probe para aplicar as alterações. Selecione Sim para reiniciar o probe do hub.
Configurar o probe messagegtw
Depois de instalar o probe, configure a instalação do probe usando o Console de administração do probe messagegtw.
Siga estas etapas:
  1. Implante o probe
    messagegtw
    em um hub principal ou secundário ou em um robô.
  2. Selecione o probe
    messagegtw
    na guia Probes e selecione
    Configurar
    .
    As informações do probe padrão são exibidas.
  3. (Opcional) Na seção Configuração do probe, especifique o Nível do log e clique em
    Salvar
    . O nível de log padrão é 1.
    Registra no log o menos possível durante a operação normal para minimizar o consumo de disco e aumentar a quantidade de detalhes durante a depuração.
  4. Selecione
    Webhook
    ,
    Opções
    ,
    Clone
    . É recomendável criar uma configuração personalizada para o webhook, de acordo com a configuração padrão ou de amostra.
  5. Selecione
    Enviar
    e
    Fechar
    .
  6. Na seção
    EndPoint Details
    , selecione
    Novo
    para configurar um novo terminal e especifique os seguintes campos:
    Valores de amostra são exibidos no perfil clonado.
    • URL:
      especifique o url do terminal do webhook em que o messagegtw publicará as mensagens. Obtenha este URL do Token da API do aplicativo externo.
    • AUTH_METHOD:
      especifique o método de autenticação. Você pode selecionar Básico ou Nenhum. O messagegtw oferece suporte somente à autenticação básica.Se desejar publicar seus webhooks em um serviço que requer autenticação, use a autenticação HTTP básica modificando o URL de https://my.example.com para https://username:[email protected]
    • USER_NAME:
      especifique um nome de usuário para o terminal.
    • PASSWORD
      : especifique uma senha para o terminal.
    • (Opcional)
      respkey
      =
      $ .run_id.
      Adicionar essa chave permite recuperar a ID da tarefa/ticket e armazená-la no alarme.
  7. Na seção
    Payload Mapping
    , você pode especificar sua própria carga para adicionar seus campos personalizados à solicitação de carga. Para um exemplo de carga, verifique Amostra de carga. Para obter uma lista completa das variáveis de sistema de alarme e de computador, verifique Variáveis de sistema e alarme.
    O tipo de carga suportado é aplicativo/json
  8. Selecione
    Novo
    para configurar o mapeamento de carga para especificar o conteúdo que desejar registrar no webhook ou no URL do terminal. Especifique Mapping_key e Mapping_value, como no seguinte exemplo:
    • tags
      – por exemplo, "#alarm", "#cauim", "#${message.prid}"
    • external user name
      – por exemplo, "CA UIM"
    • content
      – por exemplo, "[${message.udata.severity}] ${cs.name}(${cs.ip}).${ci.description}.${ci.name}: ${message.udata.message}"
  9. Os valores padrão são exibidos na seção
    Webhook
    . Você pode personalizar os seguintes campos obrigatórios:
    • webhook name
      – especifique o nome do webhook.
    • queue name
      - especifique o nome da fila que você criou no hub, na qual o messagegtw está registrado.
    • attach to queue
      – especifique se True ou False. O padrão é True.Se True, a fila coleta mensagens para encaminhar a uma fila get.
    • send exclusive
      – se True, esta opção publica as mensagens no primeiro URL de terminal configurado. Quando definidas como False, as mensagens são enviadas a todos os terminais de webhook ao mesmo tempo. O valor padrão é True.
    • alert on failure
      – gera um alerta quando o messagegtw não consegue publicar no webhook configurado. O valor padrão é True.
    • bulk size
      – especifica o tamanho máximo da fila que é processada pelo messagegtw. O valor padrão é 10.
    • (Opcional) hub_address
      – se o messagegtw estiver implantado no hub secundário, especifique o endereço do hub principal. Por exemplo,
      hub_add = /domain/primary_hub/robot/hub
  10. Exclua a configuração de exemplo do webhook antes de reiniciar o probe. Vá para
    Webhook
    ,
    Opções
    e selecione
    Excluir
    .
  11. Depois de fazer as alterações na configuração, reinicie o probe.
    O probe messagegtw agora publica mensagens do nas nos webhooks que você configurou.
Carga de amostra
<payload>
content = "[${message.udata.severity}] ${cs.name}(${cs.ip}).${ci.description}.${ci.name}: ${message.udata.message}"
external_user_name = "CA_UIM"
tags = ["#alarm", "#cauim", "#${message.prid}"]
</payload>
Variáveis de sistema e alarme
Você pode especificar sua própria carga para adicionar seus campos personalizados à solicitação de carga. Especifique sua própria carga personalizada usando as variáveis de sistema de computador e alarme abaixo.
Variável
Tipo
Significado
rowid
Número inteiro
Indica a ID da linha. Exemplo: 1
event_type
Número inteiro
Indica o tipo de evento. Exemplo: 16
nimid
Sequência de caracteres
Indica a message-id do alarme. Por exemplo, YP39028984-19824
nimts
Número inteiro
Indica a marca de data e hora da mensagem, quando ela foi enviada originalmente. Por exemplo, 1534444449
arrival
Número inteiro
Indica a marca de data e hora em que o Nimsoft Alarm Server recebeu o alarme. Por exemplo, 1534444450
gravidade
Sequência de caracteres
Indica o nome do nível de gravidade. Por exemplo, crítico
nível
Número inteiro
Indica o nível de gravidade do alarme. Por exemplo, 5
prevlevel
Número inteiro
Indica o nível de gravidade anterior do alarme. Por exemplo, 5
subsys
Sequência de caracteres
O texto da mensagem indica o subsistema do alarme. Por exemplo, Controlador
message
Sequência de caracteres
Indica o texto da mensagem. Por exemplo, Testar alarme pelo controlador em computer-8462
source
Sequência de caracteres
Indica o endereço IP do sistema que enviou o alarme. Por exemplo, 10.131.144.22
hostname
Sequência de caracteres
Indica o nome do host do sistema que enviou o alarme. Por exemplo, computer-8462
sid
Sequência de caracteres
Indica a ID do subsistema no Nimsoft Alarm Server. Por exemplo, 1.2.2.1
domínio
Sequência de caracteres
Indica o nome do domínio em que o robô está. Por exemplo, computer-8462_domain
hub
Sequência de caracteres
Indica o hub ao qual o robô pertence. Por exemplo, computer-8462_hub
NAS
Sequência de caracteres
Indica o nome do hub ao qual o nas pertence. Por exemplo, computer-8462_hub
robô
Sequência de caracteres
Indica o nome do robô que enviou o alarme. Por exemplo, computer-8462
origem
Sequência de caracteres
Indica o nome do sistema do hub no qual o robô está presente. Por exemplo, computer-8462_hub
prid
Sequência de caracteres
Indica a ID do probe. Por exemplo, controlador
supp_key
Sequência de caracteres
Indica a chave de supressão (geralmente contém o ponto de verificação). Por exemplo, test_alarm
suppcount
Número inteiro
Indica o número de vezes que este alarme foi suprimido. Por exemplo, 43
supptime
Número inteiro
Indica a marca de data e hora da última supressão desta mensagem. Por exemplo, 1536050909.
tz_offset
Sequência de caracteres
Indica o deslocamento de fuso horário do sistema que faz os envios comparado com o UTC. Por exemplo, -19800
visível
Booleano
Indica se o alarme tornou-se invisível para os usuários da conta.
dev_id
Texto
A ID do dispositivo com endereço IP associado à entidade para a qual o alarme foi criado.
met_id
Texto
A ID da métrica, se houver, para a qual o alarme foi criado.
perfil
Texto
Indica o nome do perfil de operador automático do nas.
aots
Número inteiro
Indica a marca de data e hora da execução do operador automático.
webhook
Texto
Indique o nome do webhook.
ci.caption
Texto
Indica a legenda do item configurável.
ci.name
Texto
Indica o nome do item configurável.
ci.type
Texto
Indica o tipo do item configurável.
ci.description
Texto
Indica a descrição do item configurável.
metric.description
Texto
Indica a descrição da métrica.
metric.unit
Texto
Indica a unidade da métrica.
device.id
Texto
Indica a id exclusiva do dispositivo.
device.ip
Número inteiro
Indica o endereço IP do dispositivo.
device.name
Texto
Indica o nome do dispositivo.
device.probe
Texto
Indica o nome do probe no dispositivo.
cs.id
Texto
Indica a ID exclusiva do sistema do computador.
cs.key
Texto
Indica a chave do sistema do computador.
cs.dedicated
Texto
Indica se o sistema do computador é virtual ou físico.
cs.state
Texto
Indica o estado do sistema do computador. Ativo = 1; Inativo = 0
cs.name
Texto
Indica o nome do sistema do computador.
cs.domain
Texto
Indica o domínio em que o sistema do computador reside.
cs.origin
Texto
Indica os detalhes da origem ou do inquilino do sistema do computador.
cs.ip
Texto
Indica o endereço IP do sistema do computador.
cs.os_type
Texto
Indica o tipo de SO do computador. Por exemplo, UNIX ou Windows
cs.os_name
Texto
Indica o nome do sistema operacional do computador. Por exemplo, Linux, Cent ou Ubuntu para UNIX, Windows
cs.os_version
Texto
Indica a versão do sistema operacional do computador.
cs.os_description
Texto
Indica a descrição do sistema operacional do computador.
cs.maintenance
Texto
Indica se o sistema do computador está em manutenção.
Para bancos de dados Oracle, os parâmetros com ic, e cs, devem estar em letras maiúsculas. Por exemplo, ci.name deve ser CI.NAME em bancos de dados Oracle.
Definir o perfil no operador automático do nas
Na configuração do IM do nas, guia
Auto-Operator
, é possível configurar o operador automático com perfis contendo critérios de seleção para vários campos, como níveis de gravidade, ID do subsistema, sequência de caracteres de mensagem, etc. Quando um evento de alarme passa os critérios de seleção, bem como o tempo de ação, uma ação é disparada.
O operador automático ajuda o administrador no gerenciamento de alarmes, fazendo a correspondência com regras (gravidade do alarme, texto da mensagem do alarme, ID do subsistema) para atribuir um alarme a uma pessoa ou grupo e enviar mensagens (email ou texto) quando uma regra específica for atendida. Crie e defina um perfil no operador automático para o webhook. Especifique a instância do messagegtw na qual a fila é publicada.
Siga estas etapas:
  1. No robô, abra a configuração do nas do IM e vá para o operador automático.
  2. Clique com o botão direito do mouse em
    Novo
    para criar um perfil.
    Webhook_AO.png
  3. Especifique os seguintes campos obrigatórios:
    • Action type
      - selecione
      webhook
      (especifica que o operador automático envia uma mensagem aos webhooks configurados).
    • Path to Messagegtw Probe
      - especifique o caminho do hub ou robô em que o probe messagegtw está implantado e configurado. O perfil de operador automático do nas publica na instância do probe messagegtw aqui especificado.
    • Webhook Name
      - selecione o webhook na lista suspensa. O webhook é preenchido com base nos webhooks configurados na instância selecionada do probe messagegtw.
    • Assunto
      - especifica o nome da fila de mensagens. Esse campo é preenchido automaticamente com base no webhook que você selecionar.
    • More Properties
      - especifique a propriedade adicional ou os metadados que desejar enviar ao messagegtw.
Caso de uso para integração do CA UIM ao Automic
Caso de uso: autocorreção por meio da integração do UIM ao Automic: limpeza de disco para impedir falha no banco de dados.
Um alarme é configurado no CA UIM para indicar que o espaço livre em disco no servidor está abaixo do limite pré-configurado. Devido ao espaço insuficiente em disco, os aplicativos e os bancos de dados podem parar de funcionar corretamente e até mesmo o sistema operacional pode travar, o que levará à interrupção do serviço. Em resposta a esses alarmes, uma limpeza do disco pelo Automic deve ser executada proativamente antes que os negócios sejam afetados.
Pré-requisitos:
  • A máquina do host é monitorada pelo UIM e tem o Automic implantado para WA.
  • Crie um tipo de objeto de tarefa no Automic para limpar o cache para o diretório do disco especificado no sistema de destino.
Uma tarefa é usada para definir as etapas de processamento em um sistema de destino. Ela pode ser usada de forma independente, em um grupo ou fluxo de trabalho.
O script é processado de uma maneira específica no tipo de objeto Tarefa. Dependendo do JCL (Job Control Language) e dos elementos do script, uma tarefa executável é gerada para o sistema de destino correspondente e transmitida por meio da transferência de arquivo. O script do AE (se existente) e as linhas do JCL são processados e, em seguida, o JCL é enviado ao sistema de destino. O script do AE nunca é enviado ao sistema de destino.
Quando o CA UIM gera um alarme de aviso de disco cheio, a mensagem é transmitida ao Automic e uma tarefa específica é executada para limpar o cache para o diretório do disco. Você também pode definir/configurar outros parâmetros a partir do CA UIM para serem enviados como parte da carga da mensagem que será enviada ao Automic. Quando um alarme de disco cheio é gerado no CA UIM, o messagegtw envia uma solicitação POST mapeando as variáveis do UIM que geraram o alarme para nomes de campo no Automic. Uma ID de tarefa do Automic é retornada como resposta.O CA UIM anexa essa ID da tarefa ao alarme usando Editar ações do URL no OC. Execute a ação Iniciar URL, no OC, para disparar a ID da tarefa no Automic. O Automic executa a tarefa para limpar o cache do disco especificado no sistema de destino.
Exemplo: URL e carga para enviar mensagem ao Automic
http://hostname-a15090:8088/ae/api/v1/100/executions
O seguinte formato json é aceito pelo Automic:
{
"object_name"
:"JOBP.DISK_SPACE",
"inputs"
:{
"DISK#"
:"C",
"DNSNAME#"
:"domain.name.xx",
"IP#"
:"10.0.0.1"
}
Seria necessário mapear o nome dos campos no objeto de tarefa do Automic para as variáveis do CA UIM:
CA Automic
CA UIM
DISCO
Especifique o diretório do disco.
ci.name
Indica o nome do item configurável.
DNSNAME
Especifique o nome do servidor de nomes de domínio.
cs.name
Indica o nome do sistema do computador.
IP
Especifique o endereço IP do sistema de destino cujo espaço em disco você está monitorando.
cs.ip
Indica o endereço IP do sistema do computador.
Depois de mapear o campo e as variáveis, use a amostra de carga a seguir
<payload>
object_name = "JOBP.DISK_SPACE"
inputs = {"DISK#" : "${ci.name}", "DNSNAME#" : "${cs.name}", "IP#" : "${cs.ip}"}
</payload>
As respostas esperadas são
Custom 1
=
url_field
e
Custom 2
=
run_id_field.
Elas são anexadas à configuração do messagegtw em uma solicitação POST bem-sucedida.
Para obter o status da tarefa no Automic, se o run_id foi retornado, siga estas etapas:
USM Actions.png
  1. No OC, selecione o dispositivo monitorado,
    Ações
    ,
    Editar ações do URL
    .
  2. Por padrão, os campos Custom_1 e Custom_2 retornam url_field e run_id_field. Especifique um
    Nome
    para a nova ação de URL e clique em
    Salvar
    .
  3. Clique no botão
    Iniciar ação do URL
    (para o dispositivo selecionado) a fim de verificar o status da tarefa no Automic. 
Amostra de resposta do status para a ID da tarefa usando a opção Iniciar ação do URL > Nome especificado ao Editar ações do URL.
{
"name" : "JOBP.DISK_SPACE",
"type" : "JOBP",
"run_id" : 1934790,
"status" : 1900,
"status_text" : "ENDED_OK - ended normally",
"runtime" : 0,
"activation_time" : "2018-09-24T22:42:59Z",
"start_time" : "2018-09-24T22:43:00Z",
"end_time" : "2018-09-24T22:43:00Z",
"parent" : 0,
"user" : "AUTOMIC/AUTOMIC",
"estimated_runtime" : 1,
"alias" : "JOBP.DISK_SPACE"
}