• EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

Criar um problema

Tutorial do NerdGraph: visualizar dados da entidade

entidade da New Relic referem-se a qualquer coisa que monitor que gere ou contenha telemetria. entidade ajuda você a encontrar os dados que deseja rastrear no New Relic e, se entender seus relacionamentos com outras entidades, poderá obter ainda mais insights sobre seus dados. Aqui estão alguns exemplos de entidade:

Você pode trabalhar com entidade diretamente em nossa interface (consulte Saiba mais sobre entidade New Relic) ou pode seguir as etapas aqui sobre como trabalhar com entidade por meio de nossa API NerdGraph. Se precisar de ajuda para começar a usar o NerdGraph, consulte nossa Introdução ao New Relic NerdGraph.

Importante

Para trabalhar com as métricas clássicas e tags de uma entidade, consulte o tutorial da API de métricas clássicas.

Antes de começar

Antes de trabalhar com entidade, recomendamos a leitura Saiba mais sobre entidade.

Ao trabalhar com entidade, algumas coisas importantes a ter em mente:

  • Um GUID exclusivo identifica uma entidade (entity.guid ou entityGuid).
  • Uma entidade existe na New Relic por um período de tempo específico.
  • Uma entidade fornece um ponto de entrada útil para explorar dados sobre métricas e eventos específicos ou para contextualizar dados relacionados com outras entidades.

Pesquisar entidade

A New Relic procura entidades pelo seu atributo, principalmente pelo nome, mas também por tipo de entidade e outros valores. A pesquisa retorna dados básicos sobre a entidade que corresponde aos critérios de pesquisa. Então, a partir dos resultados básicos da consulta, você pode consultar uma entidade específica pelo seu GUID.

Além de domainType, outros atributos de entidade comuns são:

  • id
  • accountId
  • name
  • domainId
  • alertSeverity
  • reporting

Você pode filtrar por qualquer um dos atributos acima. Além disso, você pode usar tags para filtragem.

Cuidado

Não é possível filtrar por propriedades de entidade personalizadas no nível raiz. As propriedades personalizadas são recuperadas apenas como parte dos metadados da entidade na resposta de pesquisa real. Para filtrar por um campo personalizado, transforme-o em uma tag de entidade.

Você pode criar uma consulta de duas maneiras:

  1. Use o argumento queryBuilder para ajudá-lo a criar uma consulta.
  2. Use o argumento query de formato livre para criar sua própria pesquisa.

Para utilizar o NerdGraph para consultar uma ou mais entidades, você pode pesquisar por atributo ou GUID.

Dica

O NerdGraph define como 200 o número total de entidades que podem ser retornadas em uma consulta. Se precisar recuperar todas as entidades de uma consulta, utilize a paginação do cursor conforme explicado nos exemplos.

Além dos exemplos abaixo, recomendamos que você experimente a API usando o NerdGraph Explorer. Possui documentação inline que o ajudará a construir suas consultas e mutações.

Pesquisar com queryBuilder

O argumento queryBuilder é útil para construir consultas simples. Permite adicionar filtros à sua consulta a partir de uma lista predefinida de atributos e seus valores típicos. Para consultas mais avançadas, use o argumento query .

  1. Vá para o explorador NerdGraph GraphiQL.

  2. Execute uma consulta básica para encontrar a entidade que corresponde aos seus critérios de pesquisa. Por exemplo:

    {
    actor {
    entitySearch(queryBuilder: { domain: APM, type: APPLICATION }) {
    query
    results {
    entities {
    name
    entityType
    guid
    }
    }
    }
    }
    }

Pesquise com formato livre query

Isso é útil para elaborar consultas mais complexas.

  1. Vá para o explorador NerdGraph GraphiQL.

  2. Execute uma consulta básica para encontrar a entidade que corresponde aos seus critérios de pesquisa. Por exemplo:

    query($query: String!) {
    actor {
    entitySearch(query: $query) {
    count
    results {
    entities {
    name
    entityType
    guid
    }
    }
    }
    }
    }
  3. Adicione as seguintes variáveis à seção Query variables no NerdGraph:

    { "query": "name LIKE 'nerd-graph' AND domainType IN ('APM-APPLICATION')" }

Buscar entidade por GUID

Quando você souber o GUID da entidade que deseja buscar, basta usar o atributo entity :

{
actor {
entity(guid: "ENTITY_GUID") {
name
entityType
}
}
}

Isso também pode ser escrito como uma consulta de pesquisa:

{
actor {
entitySearch(query: "id = 'ENTITY_GUID'") {
query
results {
entities {
name
entityType
}
}
}
}
}

Ou, para buscar diversas entidades ao mesmo tempo, você pode usar o atributo entities :

{
actor {
entities(guids: ["ENTITY_GUID_1", "ENTITY_GUID_2"]) {
name
entityType
}
}
}

Caso contrário, use uma consulta de pesquisa:

{
actor {
entitySearch(query: "id IN ('ENTITY_GUID_1', 'ENTITY_GUID_2')") {
query
results {
entities {
name
entityType
}
}
}
}
}

Exemplo de consulta

Consulta são solicitações que visam apenas buscar dados (e não têm nenhum outro efeito). As consultas do NerdGraph não são estáticas, o que significa que você pode solicitar mais ou menos dados dependendo da sua necessidade. Para cada consulta, você pode especificar exatamente quais dados deseja recuperar, desde que sejam suportados pelo esquema.

Entidade no NerdGraph contam com interfaces GraphQL, um conceito que permite que objetos compartilhem campos comuns. As interfaces são usadas para fornecer dados para tipos de entidade específicos, como você verá em muitos desses exemplos de consulta do NerdGraph.

Criar ou excluir relacionamentos de entidade

Uma entidade pode ter um relacionamento com outra entidade. Alguns relacionamentos são criados automaticamente pelo New Relic, mas você também pode usar mutações para criar ou excluir relacionamentos personalizados. Abaixo temos algumas explicações sobre como fazer isso, mas se precisar de ajuda para entender os vários tipos de relacionamento na New Relic, dê uma olhada em relacionamentos de entidade.

Antes de criar relacionamentos adicionais manualmente ou excluí-los, lembre-se do seguinte:

  • Duas entidades podem ter vários relacionamentos, um para cada tipo de relacionamento.
  • Duas entidades podem manter um relacionamento SE pertencerem à mesma conta confiável.
  • Para cada entidade, você pode definir manualmente até 2.000 relacionamentos. Quando o limite for atingido, a API retornará um erro LIMIT_EXCEEDED .
  • Cada mutação pode falhar se você não tiver acesso a uma das duas entidades (origem/destino).

Listar relacionamentos de uma entidade

Você pode usar o campo relatedEntities para ver como os pares de entidade interagem e como estão relacionados. Isso pode ajudá-lo a solucionar problemas de serviços upstream e downstream e a entender como problemas menores podem ter repercussões maiores, semelhante à forma como os mapas de serviço podem ser usados.

O exemplo a seguir mostra como consultar uma entidade pelo seu GUID específico:

query {
actor {
entity(guid: "ENTITY_GUID") {
name
relatedEntities {
results {
source {
entity {
guid
name
}
}
target {
entity {
guid
name
}
}
type
}
}
}
}
}

Criar ou substituir relacionamentos

Crie ou substitua relacionamentos de entidade usando a mutação entityRelationshipUserDefinedCreateOrReplace. Como o próprio nome sugere, permite criar uma relação entre duas entidades de um determinado tipo. Caso o relacionamento já exista entre as duas entidades, ele será adicionado novamente com os valores informados atualizados (o horário de criação e o id do usuário criador):

mutation {
entityRelationshipUserDefinedCreateOrReplace(
sourceEntityGuid: "SOURCE_ENTITY_GUID"
targetEntityGuid: "TARGET_ENTITY_GUID"
type: BUILT_FROM
) {
errors {
message
type
}
}
}

Excluir relacionamentos

Exclua relacionamentos de entidade usando a mutação entityRelationshipUserDefinedDelete. A origem e o destino são obrigatórios, mas o tipo não. Se você executar a mutação sem tipo, todos os relacionamentos entre as duas entidades serão removidos.

mutation {
entityRelationshipUserDefinedDelete(
sourceEntityGuid: "SOURCE_ENTITY_GUID"
targetEntityGuid: "TARGET_ENTITY_GUID"
type: BUILT_FROM
) {
errors {
message
type
}
}
}

Excluir entidade

Você pode excluir manualmente qualquer entidade da sua conta usando a API NerdGraph no NerdGraph GraphiQL Explorer.

Para excluir entidades EXT-SERVICE e REF-REPOSITORY , execute esta mutação com o GUID da entidade:

mutation {
entityDelete(guids: ["ENTITY_GUID_1", "ENTITY_GUID_2"]) {
deletedEntities
failures {
guid
message
}
}
}

Importante

Depois de executar a mutação entityDelete , você poderá ver uma entidade excluída em sua interface se um agente da New Relic a reindexar novamente.

Para excluir entidades APM, BROWSER e MOBILE , execute esta mutação com o GUID da entidade:

mutation {
agentApplicationDelete(guid: "ENTITY_GUID") {
success
}
}

Importante

  • A mutação agentApplicationDelete exige que o agente New Relic não tenha dados de relatório por 12 horas antes da exclusão.
  • Atualmente, você só pode remover os seguintes tipos de entidade usando a API Nerdgraph: APM-APPLICATION, EXT-SERVICE e REF-REPOSITORY.
  • Você poderá ver uma entidade excluída em sua interface se um agente da New Relic a reindexar novamente.
Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.