entidad en New Relic se refiere a cualquier cosa que monitor que genere o contenga telemetría. entidad le ayuda a encontrar los datos que desea rastrear en New Relic, y si comprende sus relaciones con otras entidades, puede obtener aún más Insights sobre sus datos. A continuación se muestran algunos ejemplos de entidad:
- Monitor de aplicaciones por APM.
- Integración en la nube, servicios y hosts monitoreados por nuestro monitoreo de infraestructura.
Puede trabajar con entidad directamente en nuestra UI (consulte Más información sobre la entidad New Relic), o puede seguir los pasos aquí sobre cómo trabajar con entidad a través de nuestra API NerdGraph. Si necesita ayuda para comenzar con NerdGraph, consulte nuestra Introducción a New Relic NerdGraph.
Importante
Para trabajar con las métricas doradas y la etiqueta de una entidad, consulte el tutorial de API de métricas doradas.
Antes de empezar
Antes de trabajar con entidad, te recomendamos leer Conoce sobre entidad.
Al trabajar con entidad, algunas cosas importantes a tener en cuenta:
- Un GUID único identifica una entidad (
entity.guid
oentityGuid
). - Una entidad existe en New Relic durante un período de tiempo específico.
- Una entidad proporciona un punto de entrada útil para explorar datos sobre métricas y eventos específicos o para contextualizar datos relacionados con otras entidades.
Buscar entidad
New Relic busca entidades por su atributo, principalmente su nombre, pero también por tipo de entidad y otros valores. La búsqueda arroja datos básicos sobre la entidad que coincide con los criterios de búsqueda. Luego, a partir de los resultados de la consulta básica, puede consultar una entidad específica por su GUID.
Además de domainType
, otros atributos de entidad comunes son:
id
accountId
name
domainId
alertSeverity
reporting
Puedes filtrar por cualquiera de los atributos anteriores. Además, puede utilizar etiqueta para filtrar.
Advertencia
No puede filtrar por propiedades de entidad personalizadas de nivel raíz. Las propiedades personalizadas solo se recuperan como parte de los metadatos de la entidad en la respuesta de búsqueda real. Para filtrar por un campo personalizado, transfórmelo en una etiqueta de entidad.
Puede elaborar una consulta de dos maneras:
- Utilice el argumento
queryBuilder
para ayudarle a elaborar una consulta. - Utilice el argumento
query
de forma libre para crear su propia búsqueda.
Para utilizar NerdGraph para consultar una o más entidades, puede buscar por atributo o GUID.
Sugerencia
NerdGraph establece el número total de entidades que se pueden devolver en una consulta en 200. Si necesita recuperar todas las entidades para una consulta, utilice la paginación del cursor como se explica en los ejemplos.
Además de los ejemplos siguientes, le recomendamos que experimente con la API utilizando el explorador NerdGraph. Tiene documentación en línea que lo ayudará a construir su consulta y mutaciones.
Buscar con queryBuilder
El argumento queryBuilder
es útil para construir una consulta sencilla. Le permite agregar filtros a su consulta a partir de una lista predefinida de atributos y sus valores típicos. Para consultas más avanzadas, utilice el argumento query
en su lugar.
Vaya al NerdGraph explorador GraphiQL.
Ejecute una consulta básica para encontrar entidades que coincidan con sus criterios de búsqueda. Por ejemplo:
{actor {entitySearch(queryBuilder: { domain: APM, type: APPLICATION }) {queryresults {entities {nameentityTypeguid}}}}}
Buscar con forma libre query
Esto es útil para elaborar consultas más complejas.
Vaya al NerdGraph explorador GraphiQL.
Ejecute una consulta básica para encontrar entidades que coincidan con sus criterios de búsqueda. Por ejemplo:
query($query: String!) {actor {entitySearch(query: $query) {countresults {entities {nameentityTypeguid}}}}}Agregue las siguientes variables a la sección Query variables en NerdGraph:
{ "query": "name LIKE 'nerd-graph' AND domainType IN ('APM-APPLICATION')" }
Obtener entidad por GUID
Cuando conozca el GUID de la entidad que desea recuperar, puede usar el atributo entity
:
{ actor { entity(guid: "ENTITY_GUID") { name entityType } }}
Esto también se puede escribir como una consulta de búsqueda:
{ actor { entitySearch(query: "id = 'ENTITY_GUID'") { query results { entities { name entityType } } } }}
O, para buscar varias entidades al mismo tiempo, puedes usar el atributo entities
:
{ actor { entities(guids: ["ENTITY_GUID_1", "ENTITY_GUID_2"]) { name entityType } }}
De lo contrario, utilice una consulta de búsqueda:
{ actor { entitySearch(query: "id IN ('ENTITY_GUID_1', 'ENTITY_GUID_2')") { query results { entities { name entityType } } } }}
Ejemplo de consulta
Consulta son solicitudes que están destinadas únicamente a recuperar datos (y no tienen ningún otro efecto). Las consultas de NerdGraph no son estáticas, lo que significa que puedes solicitar más o menos datos según tus necesidades. Para cada consulta, puede especificar exactamente qué datos desea recuperar, siempre que sean compatibles con el esquema.
La entidad en NerdGraph se basa en interfaces GraphQL, un concepto que permite que los objetos compartan campos comunes. Las interfaces se utilizan para proporcionar datos para tipos de entidades específicos, como verá en muchos de estos ejemplos de consulta de NerdGraph.
Crear o eliminar relaciones de entidad
Una entidad puede tener una relación con otra entidad. New Relic crea automáticamente algunas relaciones, pero también puede utilizar mutaciones para crear o eliminar relaciones personalizadas. Tenemos algunas explicaciones a continuación sobre cómo hacer esto, pero si necesita ayuda para comprender los distintos tipos de relaciones en New Relic, eche un vistazo a las relaciones entre entidades.
Antes de crear manualmente relaciones adicionales o eliminarlas, tenga en cuenta lo siguiente:
- Dos entidades pueden tener múltiples relaciones, una para cada tipo de relación.
- Dos entidades pueden mantener una relación SI pertenecen a la misma cuenta de confianza.
- Para cada entidad, puede definir manualmente hasta 2000 relaciones. Cuando se alcance el límite, la API devolverá un error
LIMIT_EXCEEDED
. - Cada mutación puede fallar si no tienes acceso a una de las dos entidades (fuente/objetivo).
Listar relaciones de una entidad
Puede utilizar el campo relatedEntities
para ver cómo interactúan los pares de entidades y cómo se relacionan. Esto puede ayudarle a solucionar problemas de servicios ascendentes y descendentes y comprender cómo los problemas menores pueden tener repercusiones mayores, de forma similar a cómo se pueden utilizar los mapas de servicios .
El siguiente ejemplo muestra cómo consultar una entidad por su GUID específico:
query { actor { entity(guid: "ENTITY_GUID") { name relatedEntities { results { source { entity { guid name } } target { entity { guid name } } type } } } }}
Crear o reemplazar relaciones
Cree o reemplace relaciones de entidad usando la mutación entityRelationshipUserDefinedCreateOrReplace
. Como sugiere su nombre, permite crear una relación entre dos entidades de un tipo determinado. Si la relación ya existe entre las dos entidades, se agregará nuevamente con los valores dados actualizados (la hora de creación y la identificación de usuario del creador):
mutation { entityRelationshipUserDefinedCreateOrReplace( sourceEntityGuid: "SOURCE_ENTITY_GUID" targetEntityGuid: "TARGET_ENTITY_GUID" type: BUILT_FROM ) { errors { message type } }}
Eliminar relaciones
Elimine las relaciones de entidad usando la mutación entityRelationshipUserDefinedDelete
. La fuente y el objetivo son obligatorios, pero el tipo no. Si ejecuta la mutación sin tipo, se eliminan todas las relaciones entre las dos entidades.
mutation { entityRelationshipUserDefinedDelete( sourceEntityGuid: "SOURCE_ENTITY_GUID" targetEntityGuid: "TARGET_ENTITY_GUID" type: BUILT_FROM ) { errors { message type } }}
Eliminar entidad
Puede eliminar manualmente cualquier entidad en su cuenta utilizando la API NerdGraph en el explorador NerdGraph GraphiQL.
Para eliminar entidades EXT-SERVICE
y REF-REPOSITORY
, ejecute esta mutación con el GUID de la entidad:
mutation { entityDelete(guids: ["ENTITY_GUID_1", "ENTITY_GUID_2"]) { deletedEntities failures { guid message } }}
Importante
Después de ejecutar la mutación entityDelete
, es posible que vea una entidad eliminada en su UI si un agente de New Relic la reindexa nuevamente.
Para eliminar entidades APM
, BROWSER
y MOBILE
, ejecute esta mutación con el GUID de la entidad:
mutation { agentApplicationDelete(guid: "ENTITY_GUID") { success }}
Importante
- La mutación
agentApplicationDelete
requiere que el agente New Relic no tenga datos de informes durante 12 horas antes de la eliminación. - Actualmente, solo puedes eliminar los siguientes tipos de entidades utilizando la API de Nerdgraph:
APM-APPLICATION
,EXT-SERVICE
yREF-REPOSITORY
. - Es posible que vea una entidad eliminada en su UI si un agente de New Relic la reindexa nuevamente.