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

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

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

Criar um problema

Tutorial NerdGraph: Topologia para correlação de incidente de alerta

Este tutorial explicará como usar nossa API NerdGraph para configurar sua topologia. A configuração de topologia permite que suas decisões de alerta correlacionem melhor o incidente.

Requisitos

A correlação de topologia está atualmente em versão limitada. Consulte requisitos de topologia.

Para usar o NerdGraph, você precisará de uma chave de usuário.

Visão geral do tutorial

Com New Relicos alertas da , você pode criar decisões personalizadas que controlam como seus incidentes são correlacionados. Um tipo de lógica de decisão personalizada utiliza o conceito de “topologia”, que é uma representação do seu mapa de serviços: como os serviços e recursos da sua infraestrutura se relacionam entre si.

Este tutorial mostrará como usar o NerdGraph para:

  • Configure sua topologia criando vértices e arestas
  • Excluir vértices e arestas
  • Recuperar dados de topologia

Antes de usar o NerdGraph para configurar sua topologia, você deve ter um conhecimento básico de:

Exemplos de mutação

No NerdGraph, mutações são solicitações que realizam uma ação (saiba mais sobre a terminologia do NerdGraph), como criar um recurso ou alterar uma configuração.

Nesta seção, mostraremos como usar aiTopologyCollector mutações para criar, editar ou excluir sua topologia.

Nas seções de criação, criaremos vértices e arestas para representar este mapa de serviço:

Topology example

Este tutorial utiliza o NerdGraph para criar vértices e arestas que representam essas entidades e seus relacionamentos.

Criar vértices

A mutação a seguir cria um ou mais vértices, que representam sua entidade monitor, e são a fonte de onde vem seu incidente.

A chamada NerdGraph abaixo usa os seguintes campos:

  • accountId: ID da sua conta New Relic.
  • name: O nome do vértice. Este valor diferencia maiúsculas de minúsculas e deve ser exclusivo no gráfico.
  • vertexClass: a classe de vértice pode ser application, host, cloud service, cluster ou datastore. Essa classificação permite que sua lógica de decisão restrinja sua correlação baseada em topologia para restringir os vértices que correspondem a essas classificações.
  • definingAttributes: Um conjunto de atributo (pares de valores principais) que corresponde ao atributo de um evento de incidente. Geralmente são identificadores exclusivos que aparecem em todos os incidentes, como GUIDs de entidade ou outros IDs. Se um incidente contiver qualquer um dos pares de valores principais de definingAttributes de um vértice, ele será correspondido a esse vértice. Para saber mais sobre atributo e como eles podem ser adicionados, consulte Adicionar atributo.

Chamada de exemplo:

mutation {
aiTopologyCollectorCreateVertices(
accountId: NEW_RELIC_ACCOUNT_ID
vertices: [
{
name: "ServiceA"
vertexClass: APPLICATION
definingAttributes: [{ key: "application/name", value: "ServiceA" }]
}
{
name: "ServiceB"
vertexClass: APPLICATION
definingAttributes: [{ key: "application/name", value: "ServiceB" }]
}
{
name: "ServiceC"
vertexClass: APPLICATION
definingAttributes: [{ key: "application/name", value: "ServiceC" }]
}
{
name: "HOST1"
vertexClass: HOST
definingAttributes: [
{ key: "host/name", value: "HOST1" }
{ key: "availability-zone", value: "us-west-2a" }
{ key: "region", value: "us-west-2" }
]
}
{
name: "HOST2"
vertexClass: HOST
definingAttributes: [
{ key: "host/name", value: "HOST2" }
{ key: "availability-zone", value: "us-west-2b" }
{ key: "region", value: "us-west-2" }
]
}
{
name: "HOST3"
vertexClass: HOST
definingAttributes: [
{ key: "host/name", value: "HOST3" }
{ key: "availability-zone", value: "us-west-2c" }
{ key: "region", value: "us-west-2" }
]
}
]
) {
result
}
}

Criar arestas

Esta mutação é usada para criar uma ou mais arestas, que representam relacionamentos entre vértices.

A chamada do NerdGraph abaixo faz uso destes campos:

  • accountId: ID da sua conta New Relic.
  • fromVertexName: O nome do vértice a partir do qual a aresta está começando.
  • toVertexName: O nome do vértice de conexão.
  • directed: um booleano que descreve como os vértices se conectam. true indica um relacionamento unidirecional (por exemplo, um serviço chamando outro) e false indica . Por padrão, direcionado = true.

Chamada de exemplo:

mutation {
aiTopologyCollectorCreateEdges(
accountId: NEW_RELIC_ACCOUNT_ID
edges: [
{ directed: true, fromVertexName: "ServiceA", toVertexName: "ServiceB" }
{ directed: true, fromVertexName: "ServiceB", toVertexName: "ServiceC" }
{ directed: false, fromVertexName: "ServiceA", toVertexName: "HOST1" }
{ directed: false, fromVertexName: "ServiceA", toVertexName: "HOST2" }
{ directed: false, fromVertexName: "ServiceA", toVertexName: "HOST3" }
{ directed: false, fromVertexName: "ServiceB", toVertexName: "HOST1" }
{ directed: false, fromVertexName: "ServiceB", toVertexName: "HOST2" }
{ directed: false, fromVertexName: "ServiceB", toVertexName: "HOST3" }
{ directed: false, fromVertexName: "ServiceC", toVertexName: "HOST1" }
{ directed: false, fromVertexName: "ServiceC", toVertexName: "HOST2" }
{ directed: false, fromVertexName: "ServiceC", toVertexName: "HOST3" }
]
) {
result
}
}

Excluir vértices

Esta mutação exclui vértices do seu gráfico de topologia. Observe que excluir um vértice exclui todas as arestas conectadas a ele.

A chamada NerdGraph abaixo usa estes campos:

  • accountId: ID da sua conta New Relic.
  • vertexNames: uma lista de nomes de vértices que você deseja excluir.

Chamada de exemplo:

mutation {
aiTopologyCollectorDeleteVertices(
accountId: NEW_RELIC_ACCOUNT_ID
vertexNames: ["ServiceA", "ServiceB", "ServiceC", "HOST1", "HOST2", "HOST3"]
) {
result
}
}

Excluir arestas

Esta mutação exclui arestas que conectam vértices em seu gráfico de topologia.

A chamada NerdGraph abaixo usa estes campos:

  • accountId: ID da sua conta New Relic.
  • edgeIds: uma lista de IDs de borda que você deseja excluir.

Chamada de exemplo:

mutation {
aiTopologyCollectorDeleteEdges(
accountId: NEW_RELIC_ACCOUNT_ID
edgeIds: [
"d8a7971b-575d-42e9-aa13-43a50c5a7d10"
"0da5cb92-0428-4890-992b-2823d037cb5e"
]
) {
result
}
}

Exemplos de consulta

No NerdGraph, as consultas são utilizadas para buscar dados, ao contrário das mutações, que realizam ações (saiba mais sobre a terminologia). 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 recuperar seus dados de topologia, você usará a consulta aiTopology .

Recuperar vértices

Esta consulta retorna uma lista de vértices no seu gráfico de topologia.

{
actor {
account(id: NEW_RELIC_ACCOUNT_ID) {
aiTopology {
vertices {
vertices {
id
name
definingAttributes {
key
value
}
updatedAt
vertexClass
}
count
cursor
}
}
}
}
}

Recuperar bordas

Esta consulta retorna uma lista de arestas em seu gráfico de topologia:

{
actor {
account(id: NEW_RELIC_ACCOUNT_ID) {
aiTopology {
edges {
edges {
id
toVertexName
fromVertexName
directed
updatedAt
}
cursor
count
}
}
}
}
}
Copyright © 2024 New Relic Inc.

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