Monitorar tecnologias usando o probe RESTMon

Agora você pode monitorar os dados de tecnologia ou dispositivo usando as APIs REST. Usando os modelos fornecidos pelo UIM, é possível carregar o esquema, que detalha a QoS e a lógica de agregação com os terminais REST http/https. Você pode definir as métricas e os alarmes, bem como preencher os painéis do CABI para os dispositivos monitorados. Na página Configurações, você pode baixar o modelo padrão e criar o seu próprio esquema ou pode usar um dos seguintes esquemas prontos para uso:
uimpga-ga
HID_RESTMON_PROBES
Agora você pode monitorar os dados de tecnologia ou dispositivo usando as APIs REST. Usando os modelos fornecidos pelo UIM, é possível carregar o esquema, que detalha a QoS e a lógica de agregação com os terminais REST http/https. Você pode definir as métricas e os alarmes, bem como preencher os painéis do CABI para os dispositivos monitorados. Na página
Configurações
, você pode baixar o modelo padrão e criar o seu próprio esquema ou pode usar um dos seguintes esquemas prontos para uso:
Índice
Histórico de revisões
Esta seção descreve o histórico das revisões deste probe.
Os casos do suporte podem não estar visíveis para todos os clientes.
Versão
Description
Estado
Data
1.38
O que há de novo:
  • Adição de esquemas para o monitoramento de MarkLogic e Logstash.
GA
Abril de 2019
1.20
Release inicial do probe.
GA
Outubro de 2018
Pré-requisito
  • Baixe e instale o probe RESTMon 1.38 do site de Suporte da CA.
  • Certifique-se de que o CA UIM 9.0.2 ou posterior esteja instalado no seu ambiente.
  • Certifique-se de que o Console do operador esteja disponível em seu ambiente.
  • Modelos do MCS estão disponíveis.
  • Java 8 instalado nos robôs.
Configurar os clientes do REST
Configurar e fazer upload do arquivo JSON para cada cliente REST que deseja monitorar.
Etapa 1: efetuar logon no UMP e baixar o esquema
  1. Efetue logon no UMP e vá para
    Ações, Console do operador
    .
  2. Clique em
    Configurações
    ,
    RESTMon
    .
  3. Faça download do modelo de esquema no formato JSON.
Etapa 2: configurar os detalhes da tecnologia de monitoramento
Defina as seções a seguir para personalizar o esquema.
name
Cada esquema que você define deve ter um nome associado a ele. Depois de baixar o esquema JSON, substitua o nome
localservice
pelo nome da tecnologia, como
elasticsearch
.
"elasticsearch": {
calculated_methods
Na seção calculated_methods, defina um método para converter os valores da QoS que são retornados pelo JSON nas unidades corretas. Por exemplo, se desejar converter os valores de KB (kilobyte) em GB (gigabyte), veja este exemplo:
"calculated_methods": {
"convertKBtoGB": "/ 1048576;"
},
Usando calculated_methods na definição de métricas
Por exemplo, se o JSON na amostra abaixo retornar o valor 27992641617920 Bytes e o cálculo $convertKBtoGB for definido como "/ 1048576", quando for combinado com qos_value, isso resultará no envio do código a seguir ao mecanismo JavaScript (27992641617920/1048576). Isso retorna um valor final de 26695863.36 GB que é enviado como o valor de QoS em GB.
"calculated_methods": [
{
"convertBytestoGB": "/ 1073741824"
}
],
"metrics": [
{
"calculation": "$value $convertBytestoGB",
"xml_ns": "",
"attributes": {
"uim": {
"defaultpublishing": "true",
"qos_name": "QOS_ES_NS_IND_STORE_SIZE",
"qos_desc": "Store Size",
"qos_abbr": "GB",
"metric_type": "4.13.4.2.1.1:80",
"qos_unit": "GB",
"qos_value": "$.[*].input_per_sec",
"source": "$['nodes'][*]['host']",
"target": "$['nodes'][*]['host']"
},
"value": "$['nodes'][*]['indices']['store']['size_in_bytes']",
"url": "nodestats",
"group": "Node Stats Indices"
},
]
urls
Na seção urls, defina a lista de terminais REST que são usados para coletar informações de nó e métricas.
Defina os seguintes parâmetros na seção:
Atributos
Description
xml_ns
(Opcional) O namespace XML a ser usado ao analisar as informações de nó recuperadas do url referenciado
src
(Opcional) ID de um url irmão que contém informações de instância que são necessárias para este url. Usado com o campo var.
var
(Opcional) Defina a diretiva JPath ou XPath usada com o valor de src para analisar as informações retornadas pelo terminal src e substitua-a pelos tokens de $var no campo de url. Por exemplo, nas instâncias em que um url src retorna uma lista de hosts/ou nós/ou volumes, onde o valor de cada instância é destinado separadamente para obter informações mais detalhadas.
id
Nome exclusivo para as informações do url.
url
Terminal REST que fornece informações de nó e métrica.
Para cada URL que deseja monitorar, crie uma entrada e defina o valor no parâmetro
url
.
Verifique se todos os URLs são válidos e retornam um resultado ao acessar por um navegador.
Exemplo da seção URL
"urls": [
{
"xml_ns": "",
"src": "",
"var": "",
"id": "clusterhealthindices",
"url": "/_cluster/health?level=indices"
},
{
"src": "",
"xml_ns": "",
"var": "",
"id": "nodestats",
"url": "/_nodes/stats"
},
{
"src": "",
"xml_ns": "",
"var": "",
"id": "clusterstats",
"url": "/_cluster/stats"
},
{
"src": "",
"xml_ns": "",
"var": "",
"id": "indexstats",
"url": "/_all/_stats"
}
],
definition
Na seção definition, defina os detalhes relacionados à conexão e à autenticação.
Defina os seguintes parâmetros na seção:
Seção
Atributos
Valor padrão
Description
resource_category
QOS_APPLICATION
(Opcional) Categoria definida pelo usuário que é usada na publicação de métricas.
defaults
porta
80/443
Porta padrão a ser usada para terminais de acordo com o tipo que é especificado (http/s).
interval
60
A frequência, em segundos, com que os terminais REST são sondados.
httptimeout
30000
O tempo de espera, em milissegundos, por uma resposta de um terminal REST.
auth
none
Mecanismo de autenticação padrão a ser usado. Mecanismo de autenticação suportado: basic; digest; ntlm; token; bearer; urltoken; Outh2
xml_ns
(Opcional) O namespace XML a ser usado ao analisar as informações de nó recuperadas do url referenciado.
name
<nome do esquema>
Nome padrão a ser usado para a instância de perfil, que geralmente é o nome do esquema.
O nome do nó raiz do esquema é igual ao atributo do nome na seção definition do esquema ($.name = $.{name}.definition.name)
tipo
http
Tipo de conexões REST. As opções válidas são http e https.
(opcional) addedProfileFields
Defina os atributos nesta seção se desejar que os campos personalizados (com ou sem valores padrão) sejam exibidos quando você criar um perfil. Por exemplo, se o requisito for definir os seguintes campos: Autoridade (com o valor padrão), Escopo (com o valor padrão), ID do cliente, Segredo do cliente, ID do segredo do cliente e ID do projeto, você poderá definir os seguintes atributos:
"addedProfileFields": [{
"name": "authority",
"value": "https://accounts.google.com/o/oauth2/auth",
"type": "text",
"label": "Authority"
},
{
"name": "scope",
"value": "https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/cloud-platform.read-only https://www.googleapis.com/auth/cloudplatformprojects https://www.googleapis.com/auth/cloudplatformprojects.readonly",
"type": "text",
"label": "Scope"
},
{
"name": "client_id",
"value": "",
"type": "text",
"label": "Client ID"
},
{
"name": "client_secret",
"value": "",
"type": "password",
"label": "Client Secret"
},
{
"name": "client_secret_id",
"value": "",
"type": "text",
"label": "Client Sercret ID"
},
{
"name": "project_id",
"value": "",
"type": "text",
"label": "Project ID"
}],
Esses campos serão exibidos na UI quando você criar o perfil na guia
Monitoramento
.
Exemplo da seção definition
"definition": {
"node": "",
"resource_category": null,
"defaults": {
"port": 9200,
"interval": 60,
"httptimeout": 30000
},
"auth": "basic",
"xml_ns": "",
"name": "elasticsearch",
"type": "http"
},
metrics
Nesta seção, defina as métricas que deseja coletar.
Defina os seguintes parâmetros na seção:
Seção
Atributos
Valor padrão
Description
xml_ns
(Opcional) O namespace XML a ser usado ao analisar as informações de nó recuperadas do url referenciado
calculation
(Opcional) Cálculo a ser aplicado ao valor bruto para produzir a métrica. Esse parâmetro pode fazer referência a um calculated_method.
attributes > uim
Campos específicos do UIM que são usados durante a publicação do valor da métrica.
qos_name
Nome da QoS, como QOS_HTTP_STATUS. Você pode definir seus próprios nomes de QoS que desejar publicar.
qos_desc
Uma descrição da QoS definida no atributo qos_name, como o status da resposta HTTP.
qos_abbr
O nome abreviado da QoS que é usado na GUI, como Estado. Para obter mais detalhes sobre as abreviações
metric_type
Tipo de métrica, como 2. Usado com o tipo de IC ao gerar uma instância de métrica do UIM para produzir um valor de tipo, como 2.2.2.2. Por padrão, o tipo de IC disponível é 9.1.1. Para obter mais informações sobre métricas e tipo de IC, veja Declarando métricas de inventário e configuração em massa e consulte o arquivo SUPPORTED_CI_METRIC_TYPES.XLSX disponível na GUI. Para adicionar um tipo de IC personalizado, entre em contato com o Suporte da CA.
qos_unit
A unidade de medida da QoS, como Estado. Para obter mais informações sobre as unidades de QoS suportadas, consulte a planilha disponível na GUI.
source
Dispositivo do qual o valor da métrica foi coletado.
target
Dispositivo no qual o valor da métrica foi coletado.
defaultpublishing
true
(Opcional) Usado na criação de modelos do MCS do UIM.
conversion
Converte o valor de sequência de caracteres que o esquema retorna em valor numérico para que ele possa ser salvo no banco de dados. Por exemplo, você pode definir os valores de conversão como: Falha parcial:0, Íntegro:1, Degradado:2, Falha:3, Padrão:-999. Nesse caso, se o esquema retornar a sequência de caracteres Íntegro, ela será convertida no valor numérico 1 e salvo no banco de dados, o que indica a integridade do sistema quando as métricas foram coletadas.
value
O JPath ou XPath usado para analisar os dados de resposta do terminal REST da métrica.
url
A ID que faz referência às entradas na seção urls para o terminal REST.
grupo
(Opcional) O marcador de grupo definido pelo usuário.
Exemplo da seção metrics
"metrics": [
{
"calculation": "",
"xml_ns": "",
"attributes": {
"uim": {
"qos_name": "QOS_HTTP_STATUS",
"qos_desc": "HTTP response status",
"qos_abbr": "State",
"metric_type": "2.2.2.2:2",
"qos_unit": "State",
"source": "%hostname",
"target": "%urlid",
"defaultpublishing": "true"
},
"value": "%httpstatus",
"url": "%urlid",
"group": "Connections"
},
calculated_metrics
Nesta seção, defina os KPIs que são derivados de dados brutos para produzir métricas a serem coletadas.
Atributo
Description
values
Matriz de entradas de nome/valor que definem os KPIs derivados.
name
Nome exclusivo da métrica que é usado ao publicar o valor.
value
O JPath ou XPath usado para analisar os dados de resposta do terminal REST da métrica. Esse parâmetro é usado na expressão do campo de cálculo para derivar o valor de KPI.
Exemplo da seção calculated_metrics
"calculated_metrics": [
{
"calculation": "$fetch_total / ($fetch_time_in_millis/1000)",
"xml_ns": "",
"values": [
{
"name": "$fetch_total",
"value": "$['nodes'][*]['indices']['search']['fetch_total']"
},
{
"name": "$fetch_time_in_millis",
"value": "$['nodes'][*]['indices']['search']['fetch_time_in_millis']"
}
],
"attributes": {
"uim": {
"defaultpublishing": "true",
"qos_name": "QOS_ES_NS_IND_SEARCH_AVERAGE_FETCH_TIME",
"qos_desc": "Search Average Fetch Time",
"qos_abbr": "s",
"metric_type": "4.13.4.2.1.1:53",
"qos_unit": "s",
"source": "%hostname",
"target": "$['nodes'][*]['host']"
},
}
},
"url": "nodestats",
"group": "Node Stats Indices"
}
Etapa 3: procurar e fazer upload do esquema personalizado
Você pode fazer upload de vários esquemas do mesmo tipo de tecnologia. Os nomes de arquivo do esquema devem seguir o seguinte formato:
<nome-do-esquema>_schema.json
Etapa 4: validar o esquema
Antes de validar e implantar o esquema, defina
nome compatível
, que também é usado pelo probe para definir o nome do modelo. Clique em
Prosseguir
.
O esquema é validado para as seguintes condições:
  • É um arquivo JSON válido com uma sintaxe válida.
  • Se o arquivo contiver o esquema do APM sem métricas do UIM.
  • O nó raiz do esquema também é o nome do probe que pode conter somente caracteres minúsculos, números, hifens ou sublinhados
  • O nome do nó raiz do esquema é igual ao atributo do nome na seção definition do esquema ($.name = $.{name}.definition.name)
O upload falhará se alguma das condições não forem atendidas. É possível exibir os logs para depurar os erros.
Etapa 5: verificar a configuração na guia Monitoramento
Verifique se a tecnologia correspondente aparece na guia
Monitoramento
do UMP.
  1. Efetue logon no UMP e vá para
    Grupos
    ,
    Sistema operacional
    ,
    Robô
    em que você implantou o probe personalizado.
  2. Clique na guia
    Monitoramento
    e exiba o probe personalizado.
    Por exemplo, usando o esquema padrão, você pode criar um probe personalizado para monitorar os servidores do elasticsearch.
    restmon_setup_profile.png
Criar perfis e monitorar as tecnologias usando o probe Restmon
Para iniciar o monitoramento da tecnologia usando a API REST, crie um perfil na guia
Monitoramento
do UMP e
,
em seguida, ative ou desative as métricas necessárias para coletar os dados necessários.
Siga estas etapas:
  1. Como administrador de inquilinos, efetue logon no UMP e vá para
    Grupos
    ,
    Sistema operacional
    ,
    Robô
    e, em seguida, clique na guia
    Monitoramento
    .
  2. Selecione e expanda o nó para o probe personalizado e crie o perfil.
    generic_profile_creation.png
  3. Avance mais um subperfil e ative ou desative as métricas necessárias.
    restmon_setup_profile.png
    Para ativar os alarmes de limite, configure o parâmetro
    policy_mode_enabled
    no arquivo de configuração do MCS e defina o valor como
    false
    . Para obter mais informações sobre como configurar limites de alarme, consulte Configurando limites de alarme no MCS. Se preferir, você pode criar diretivas de alarme e configurar limites no Console do operador.
  4. Vá até o
    Inventário
    , procure o nome do host que você definiu ao criar o perfil e, em seguida, clique na guia
    Métricas
    para exibir a coleta de métricas e, para exibir os alarmes, clique na guia
    Alarmes
    .
    Exibir métricas
    generic_metrics_view.png
    Exibição de alarmes
    generic_alarms_view.png
Solução de problemas
Sintoma:
Ao definir um nome amigável para um esquema, você poderá encontrar o seguinte erro:
error_friendly_name.png
Solução:
Se esse erro ocorrer, defina outro nome amigável e implante o esquema.
Sintoma:
ao fazer upload do esquema JSON, a validação falha, resultando no seguinte erro:
[<nome_do_esquema>.json] não apresenta sintaxe de definições de métrica do UIM.
Solução:
Esse erro normalmente ocorre quando a seção de definição de métricas do UIM não está presente no arquivo JSON ou contém valores incorretos nos atributos
operator
e
severity
.
Para resolver o erro, edite o arquivo de esquema e execute uma das ações:
  • Na seção
    metrics
    do esquema, defina apenas um valor para os seguintes atributos:
    operator
    e
    severity
    . Esses atributos não oferecem suporte a uma matriz de valores.
    OR
  • Remova os seguintes atributos da seção
    metrics
    no esquema:
    thresholdenabled
    ;
    operator
    ;
    severity
    ;
    custom_message
    ;
    custom_clear_message
Sintoma:
ocorrem erros ao configurar o probe RESTMon.
Solução
Analise os seguintes arquivos de log localizados aqui: $UIM_installation_dir/Nimsoft/probes/services/wasp
  • operatorconsole.log
  • wasp.log
Além disso, você também pode capturar as solicitações de pacote http para obter detalhes específicos sobre os erros criando um arquivo
.har
no navegador para os seguintes terminais:
  • http://$HOSTNAME/operatorconsole_portlet/api/v1/restmon/validateSchema?fileNames=${commaSeparatedFileName}&checkIfExist=true/false&friendlyName=${friendlyName}
  • http://$HOSTNAME/operatorconsole_portlet/api/v1/restmon/uploadSchema
  • http://$HOSTNAME/operatorconsole_portlet/api/v1/restmon/downloadSchema/{resourceName}
Sintoma:
ocorrem erros na criação de um perfil de monitoramento usando um modelo do MCS.
Solução
Analise o arquivo
mon_config_service.log
localizado aqui: $UIM_installation_dir/Nimsoft/probes/services/mon_config_service/
Sintoma
O probe não coleta os dados de QoS sobre a definição de métricas no arquivo de esquema.
Solução
Verifique o seguinte:
  • Se o status retornado por QOS_HTTP_STATUS é 200. Se não for, verifique os logs para solução de problemas.
  • Usando o cliente REST, verifique se o terminal pode ser acessado e retorna a resposta esperada.
  • Se o atributo calculated_method é obrigatório com uma definição de QoS para publicar um valor de métrica derivado de um valor bruto.