Skip to main content
Data Infrastructure Insights
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

API de Data Infrastructure Insights

Colaboradores netapp-alavoie dgracenetapp

A API do Data Infrastructure Insights permite que clientes da NetApp e fornecedores independentes de software (ISVs) integrem o Data Infrastructure Insights com outros aplicativos, como CMDBs ou outros sistemas de emissão de tickets.

Data Infrastructure Insights"função do conjunto de recursos" determinará quais APIs você pode acessar. As funções de usuário e convidado têm menos privilégios que a função de administrador. Por exemplo, se você tiver a função de Administrador em Monitorar e Otimizar, mas a função de Usuário em Relatórios, poderá gerenciar todos os tipos de API, exceto Data Warehouse.

Requisitos para acesso à API

  • Um modelo de token de acesso de API é usado para conceder acesso.

  • O gerenciamento do token de API é realizado por usuários do Data Infrastructure Insights com a função de administrador.

Documentação da API (Swagger)

As informações mais recentes da API podem ser encontradas fazendo login no Data Infrastructure Insights e navegando até Admin > API Acccess. Clique no link Documentação da API.

Tipos de API

A documentação da API é baseada no Swagger, que fornece uma breve descrição e informações de uso da API e permite que você a experimente em seu locatário. Dependendo da sua função de usuário e/ou edição do Data Infrastructure Insights , os tipos de API disponíveis para você podem variar.

Exemplo de API Swagger

Tokens de acesso à API

Antes de usar a API do Data Infrastructure Insights , você deve criar um ou mais API Access Tokens. Os tokens de acesso são usados ​​para tipos de API especificados e podem conceder permissões de leitura e/ou gravação. Você também pode definir a expiração de cada token de acesso. Todas as APIs sob os tipos especificados são válidas para o token de acesso. Cada token não possui nome de usuário ou senha.

Para criar um Token de Acesso:

  • Clique em Admin > Acesso à API

  • Clique em +Token de acesso à API

    • Digite o nome do token

    • Selecione Tipos de API

    • Especifique as permissões concedidas para este acesso à API

    • Especificar a expiração do token

Observação Seu token só estará disponível para ser copiado para a área de transferência e salvo durante o processo de criação. Os tokens não podem ser recuperados depois de criados, por isso é altamente recomendável copiar o token e salvá-lo em um local seguro. Você será solicitado a clicar no botão Copiar token de acesso à API antes de fechar a tela de criação do token.

Você pode desabilitar, habilitar e revogar tokens. Tokens que estão desabilitados podem ser habilitados.

Os tokens concedem acesso de propósito geral às APIs da perspectiva do cliente; gerenciando o acesso às APIs no escopo de seu próprio locatário. Os administradores do cliente podem conceder e revogar esses tokens sem envolvimento direto da equipe de back-end do Data Infrastructure Insights .

O aplicativo recebe um Token de Acesso depois que um usuário autentica e autoriza o acesso com sucesso e, em seguida, passa o Token de Acesso como uma credencial quando chama a API de destino. O token passado informa à API que o portador do token foi autorizado a acessar a API e executar ações específicas especificadas pelo escopo concedido durante a autorização.

O cabeçalho HTTP onde o token de acesso é passado é X-CloudInsights-ApiKey:.

Por exemplo, use o seguinte para recuperar ativos de armazenamento:

 curl https://<tenant_host_name>/rest/v1/assets/storages -H 'X-CloudInsights-ApiKey:<API_Access_Token>'
Onde _<API_Access_Token>_ é o token que você salvou durante a criação do acesso à API.

Veja as páginas do Swagger para exemplos específicos da API que você deseja usar.

Tipo de API

A API Data Infrastructure Insights é baseada em categorias e atualmente contém os seguintes tipos:

  • O tipo ASSETS contém APIs de ativos, consultas e pesquisas.

    • Ativos: enumere objetos de nível superior e recupere um objeto específico ou uma hierarquia de objetos.

    • Consulta: recupere e gerencie consultas do Data Infrastructure Insights .

    • Importar: importar anotações ou aplicativos e atribuí-los a objetos

    • Pesquisar: localize um objeto específico sem saber o ID exclusivo ou o nome completo do objeto.

  • O tipo COLEÇÃO DE DADOS é usado para recuperar e gerenciar coletores de dados.

  • O tipo INGESTÃO DE DADOS é usado para recuperar e gerenciar dados de ingestão e métricas personalizadas, como de agentes Telegraf

  • LOG INGESTION é usado para recuperar e gerenciar dados de log

Tipos e/ou APIs adicionais podem ficar disponíveis ao longo do tempo. Você pode encontrar as informações mais recentes da API em"Documentação da API Swagger" .

Observe que os tipos de API aos quais um usuário tem acesso dependem também da"Função do usuário" eles têm em cada conjunto de recursos do Data Infrastructure Insights (Monitoramento, Segurança de Carga de Trabalho, Relatórios).

Travessia de inventário

Esta seção descreve como percorrer uma hierarquia de objetos do Data Infrastructure Insights .

Objetos de nível superior

Objetos individuais são identificados em solicitações por uma URL única (chamada "self" em JSON) e exigem o conhecimento do tipo de objeto e do ID interno. Para alguns dos objetos de nível superior (Hosts, Storages e assim por diante), a API REST fornece acesso à coleção completa.

O formato geral de uma URL de API é:

 https://<tenant>/rest/v1/<type>/<object>
Por exemplo, para recuperar todos os armazenamentos de um locatário chamado _mysite.c01.cloudinsights.netapp.com_, a URL da solicitação é:
https://mysite.c01.cloudinsights.netapp.com/rest/v1/assets/storages

Crianças e Objetos Relacionados

Objetos de nível superior, como Armazenamento, podem ser usados para percorrer para outros filhos e objetos relacionados. Por exemplo, para recuperar todos os discos de um armazenamento específico, concatene a URL “self” do armazenamento com “/disks”, por exemplo:

https://<tenant>/rest/v1/assets/storages/4537/disks

Expande

Muitos comandos de API suportam o parâmetro expand, que fornece detalhes adicionais sobre o objeto ou URLs para objetos relacionados.

O único parâmetro de expansão comum é expands. A resposta contém uma lista de todas as expansões específicas disponíveis para o objeto.

Por exemplo, quando você solicita o seguinte:

 https://<tenant>/rest/v1/assets/storages/2782?expand=_expands
A API retorna todas as expansões disponíveis para o objeto da seguinte forma:

expande exemplo

Cada expansão contém dados, uma URL ou ambos. O parâmetro expand suporta atributos múltiplos e aninhados, por exemplo:

 https://<tenant>/rest/v1/assets/storages/2782?expand=performance,storageResources.storage
Expandir permite que você traga muitos dados relacionados em uma única resposta.  A NetApp recomenda que você não solicite muitas informações de uma só vez; isso pode causar degradação do desempenho.

Para desencorajar isso, as solicitações de coleções de nível superior não podem ser expandidas. Por exemplo, você não pode solicitar a expansão de dados para todos os objetos de armazenamento de uma só vez. Os clientes precisam recuperar a lista de objetos e então escolher objetos específicos para expandir.

Dados de desempenho

Dados de desempenho são coletados em vários dispositivos como amostras separadas. A cada hora (o padrão), o Data Infrastructure Insights agrega e resume amostras de desempenho.

A API permite acesso tanto às amostras quanto aos dados resumidos. Para um objeto com dados de desempenho, um resumo de desempenho está disponível como expand=performance. As séries temporais do histórico de desempenho estão disponíveis por meio de expand=performance.history aninhado.

Exemplos de objetos de dados de desempenho incluem:

  • Desempenho de armazenamento

  • Desempenho do StoragePool

  • Desempenho Portuário

  • Desempenho de disco

Uma métrica de desempenho tem uma descrição e um tipo e contém uma coleção de resumos de desempenho. Por exemplo, Latência, Tráfego e Taxa.

Um Resumo de Desempenho tem uma descrição, unidade, hora de início da amostra, hora de término da amostra e uma coleção de valores resumidos (atual, mínimo, máximo, médio, etc.) calculados a partir de um único contador de desempenho em um intervalo de tempo (1 hora, 24 horas, 3 dias e assim por diante).

Exemplo de desempenho de API

O dicionário de dados de desempenho resultante tem as seguintes chaves:

  • "self" é o URL exclusivo do objeto

  • “histórico” é a lista de pares de valores de timestamp e mapa de contadores

  • Cada outra chave de dicionário (“diskThroughput” e assim por diante) é o nome de uma métrica de desempenho.

Cada tipo de objeto de dados de desempenho tem um conjunto exclusivo de métricas de desempenho. Por exemplo, o objeto de desempenho da Máquina Virtual oferece suporte a “diskThroughput” como uma métrica de desempenho. Cada métrica de desempenho suportada é de uma determinada “performanceCategory” apresentada no dicionário de métricas. O Data Infrastructure Insights oferece suporte a vários tipos de métricas de desempenho listados posteriormente neste documento. Cada dicionário de métricas de desempenho também terá o campo “descrição”, que é uma descrição legível dessa métrica de desempenho e um conjunto de entradas de contador de resumo de desempenho.

O contador Resumo de Desempenho é o resumo dos contadores de desempenho. Ele apresenta valores agregados típicos como mínimo, máximo e médio para um contador e também o último valor observado, intervalo de tempo para dados resumidos, tipo de unidade para contador e limites para dados. Somente os limites são opcionais; o restante dos atributos são obrigatórios.

Resumos de desempenho estão disponíveis para estes tipos de contadores:

  • Leitura – Resumo das operações de leitura

  • Escrever – Resumo das operações de escrita

  • Total – Resumo de todas as operações. Pode ser maior que a simples soma de leitura e gravação; pode incluir outras operações.

  • Total Max – Resumo de todas as operações. Este é o valor total máximo no intervalo de tempo especificado.

Métricas de desempenho de objetos

A API pode retornar métricas detalhadas para objetos em seu locatário, por exemplo:

  • Métricas de desempenho de armazenamento, como IOPS (número de solicitações de entrada/saída por segundo), latência ou taxa de transferência.

  • Métricas de desempenho do switch, como utilização de tráfego, dados de crédito zero do BB ou erros de porta.

Veja o"Documentação da API Swagger" para obter informações sobre métricas para cada tipo de objeto.

Dados do histórico de desempenho

Os dados históricos são apresentados nos dados de desempenho como uma lista de pares de mapas de registro de data e hora e de contador.

Os contadores de histórico são nomeados com base no nome do objeto de métrica de desempenho. Por exemplo, o objeto de desempenho da máquina virtual suporta “diskThroughput”, então o mapa de histórico conterá chaves chamadas “diskThroughput.read”, “diskThroughput.write” e “diskThroughput.total”.

Observação O registro de data e hora está no formato de hora UNIX.

A seguir está um exemplo de um JSON de dados de desempenho para um disco:

JSON de desempenho de disco

Objetos com Atributos de Capacidade

Objetos com atributos de capacidade usam tipos de dados básicos e o CapacityItem para representação.

CapacidadeItem

CapacityItem é uma única unidade lógica de capacidade. Ele tem “value” e “highThreshold” em unidades definidas por seu objeto pai. Ele também suporta um mapa de detalhamento opcional que explica como o valor da capacidade é construído. Por exemplo, a capacidade total de um storagePool de 100 TB seria um CapacityItem com valor 100. A análise pode mostrar 60 TB alocados para “dados” e 40 TB para “instantâneos”.

Observação: “highThreshold” representa limites definidos pelo sistema para as métricas correspondentes, que um cliente pode usar para gerar alertas ou indicações visuais sobre valores que estão fora dos intervalos configurados aceitáveis.

A seguir é mostrada a capacidade de StoragePools com vários contadores de capacidade:

Exemplo de capacidade de pool de armazenamento

Usando a pesquisa para procurar objetos

A API de pesquisa é um ponto de entrada simples para o sistema. O único parâmetro de entrada para a API é uma string de formato livre e o JSON resultante contém uma lista categorizada de resultados. Tipos são diferentes tipos de ativos do Inventário, como armazenamentos, hosts, dataStores e assim por diante. Cada tipo conteria uma lista de objetos do tipo que correspondem aos critérios de pesquisa.

O Data Infrastructure Insights é uma solução extensível (totalmente aberta) que permite integrações com sistemas de orquestração de terceiros, gerenciamento de negócios, controle de mudanças e emissão de tickets, bem como integrações personalizadas de CMDB.

A API RESTful do Cloud Insight é um ponto principal de integração que permite a movimentação simples e eficaz de dados, além de permitir que os usuários tenham acesso direto aos seus dados.

Desabilitando ou revogando um token de API

Para desabilitar temporariamente um token de API, na página da lista de tokens de API, clique no menu de "três pontos" da API e selecione Desabilitar. Você pode reativar o token a qualquer momento usando o mesmo menu e selecionando Ativar.

Para remover permanentemente um token de API, no menu, selecione "Revogar". Você não pode reativar um token revogado; você deve criar um novo token.

Desabilitar ou revogar um token de API

Rotação de tokens de acesso de API expirados

Os tokens de acesso à API têm uma data de validade. Quando um token de acesso à API expira, os usuários precisam gerar um novo token (do tipo Ingestão de Dados com permissões de Leitura/Gravação) e reconfigurar o Telegraf para usar o token recém-gerado em vez do token expirado. As etapas abaixo detalham como fazer isso.

Kubernetes

Observe que esses comandos estão usando o namespace padrão "netapp-monitoring". Se você tiver definido seu próprio namespace, substitua-o nestes e em todos os comandos e arquivos subsequentes.

Observação: se você tiver o NetApp Kubernetes Monitoring Operator mais recente instalado e estiver usando um token de acesso à API renovável, os tokens que estiverem expirando serão automaticamente substituídos por tokens de acesso à API novos/atualizados. Não há necessidade de executar as etapas manuais listadas abaixo.

Observação: os clientes que gerenciam seu NetApp Kubernetes Monitoring Operator com uma ferramenta de gerenciamento de configuração, como o Kustomize, podem seguir as mesmas etapas para gerar e baixar um conjunto atualizado de YAMLs para enviar ao seu repositório.

RHEL/CentOS e Debian/Ubuntu

  • Edite os arquivos de configuração do Telegraf e substitua todas as instâncias do antigo token de API pelo novo token de API.

     sudo sed -i.bkup ‘s/<OLD_API_TOKEN>/<NEW_API_TOKEN>/g’ /etc/telegraf/telegraf.d/*.conf
    * Reinicie o Telegraf.
    sudo systemctl restart telegraf

Windows

  • Para cada arquivo de configuração do Telegraf em C:\Program Files\telegraf\telegraf.d, substitua todas as instâncias do token de API antigo pelo novo token de API.

    cp <plugin>.conf <plugin>.conf.bkup
    (Get-Content <plugin>.conf).Replace(‘<OLD_API_TOKEN>’, ‘<NEW_API_TOKEN>’) | Set-Content <plugin>.conf
  • Reinicie o Telegraf.

    Stop-Service telegraf
    Start-Service telegraf