Você pode usar nossa API NerdGraph para criar e gerenciar .
Visão geral
Para obter uma introdução ao nosso recurso personalizado do painel, consulte a documentação do painel.
Ao usar o NerdGraph para configurar o painel, é útil entender que nossos painéis são considerados entidade, que possuem seus próprios IDs de entidade, semelhantes a outras coisas que consideramos entidade, como aplicativos de monitoramento, hosts e serviços.
Para saber como adicionar e configurar widgets e gráficos em um dashboard, consulte Configurar gráficos e outros widgets.
Operações CRUD dashboard
Este documento explica como usar nossa API NerdGraph para criar, ler, atualizar e excluir dashboards (CRUD). Essas operações modificam todo o dashboard.
Crie um dashboard
Um dashboard requer pelo menos uma página. Você pode criar um dashboard com uma ou mais páginas, e cada página pode ter um ou mais widgets.
- Vá para o explorador NerdGraph GraphiQL em api.newrelic.com/graphiql.
- Use API dashboard do NerdGraph para criar um novo dashboard e sua configuração.
- Certifique-se de incluir todos os campos obrigatórios, como
name
,permissions
e pelo menos uma página.
Ler um dashboard
- Vá para o explorador NerdGraph GraphiQL em api.newrelic.com/graphiql.
- Use
actor > entity()
para encontrar o dashboard pelo GUID da entidade. - Use API dashboard do NerdGraph para ler o dashboard existente e sua configuração.
Neste exemplo, substitua DASHBOARD_GUID
pelo GUID real do dashboard que você deseja ler:
query GetDashboardEntityQuery { actor { entity(guid: "DASHBOARD_GUID") { ... on DashboardEntity { guid name description createdAt updatedAt owner { email userId } permissions pages { guid name description createdAt updatedAt widgets { id visualization { id } layout { column row height width } title linkedEntities { guid } rawConfiguration } } variables { name items { title value } defaultValues { value { string } } nrqlQuery { accountIds query } options { excluded ignoreTimeRange showApplyAction } title type isMultiSelection replacementStrategy } } } }}
Dependendo das informações que você deseja recuperar, você pode modificar os campos na consulta.
Atualizar um dashboard
Para atualizar um dashboard, você precisa fornecer a configuração completa do dashboard, incluindo todas as suas páginas e widgets, mesmo que esteja atualizando apenas um elemento. A operação de atualização é uma substituição completa do conteúdo do dashboard.
Importante
Ao atualizar um dashboard, se o GUID da página ou o ID widget não forem fornecidos, as páginas ou widgets existentes serão removidos do dashboard e substituídos pelos novos especificados na mutação.
- Vá para o explorador NerdGraph GraphiQL em api.newrelic.com/graphiql.
- Use API dashboard do NerdGraph para obter a configuração dashboard existente usando a leitura do dashboard pelo GUID da entidade, conforme mostrado na seção Ler um dashboard.
- Modifique os campos que deseja atualizar na configuração dashboard.
- Use API dashboard do NerdGraph para atualizar o dashboard existente com a configuração modificada.
Importante
Se você estiver usando Facet Linking
no seu widget, ao ler o dashboard o campo será linkedEntities { guid }
, mas ao atualizar o dashboard você precisará usar linkedEntityGuids: [ "GUID" ]
.
Excluir um dashboard
Para excluir um dashboard, você precisa fornecer o GUID da entidade do dashboard que deseja excluir. Esta operação executa uma exclusão lógica que permite recuperar seu dashboard.
- Vá para o explorador NerdGraph GraphiQL em api.newrelic.com/graphiql.
- Use API do dashboard do NerdGraph para excluir o dashboard pelo GUID da entidade.
- Confirme a exclusão marcando
status
eerrors
.
Recuperar um dashboard
Você pode recuperar um dashboard excluído anteriormente, fornecendo um GUID de entidade dashboard. A tag personalizada não pode ser recuperada.
- Vá para o explorador NerdGraph GraphiQL em api.newrelic.com/graphiql.
- Use API dashboard do NerdGraph para recuperar o dashboard excluído pelo GUID da entidade.
- Confirme a recuperação marcando
errors
se houver.
Operações da página dashboard
Esta operação modifica uma página específica de um dashboard.
Atualizar uma página dashboard
Você pode atualizar uma página de um dashboard existente, dado um GUID de entidade de página de dashboard. Você precisa especificar o elemento de página dashboard completo e atualizado, desde os metadados até a configuração widget.
- Vá para o explorador NerdGraph GraphiQL em api.newrelic.com/graphiql.
- Use API dashboard do NerdGraph para obter a configuração dashboard existente usando a leitura do dashboard pelo GUID da entidade, conforme mostrado na seção Ler um dashboard.
- Identifique e extraia a página que você deseja atualizar do dashboard.
- Modifique os campos que deseja atualizar na página.
- Use
dashboardUpdatePage()
para modificar a página. - Marque
errors
se houver.
Importante
Ao atualizar uma página, se os IDs widget não forem fornecidos, o widget existente será removido do dashboard e substituído pelos novos especificados na mutação.
Dica
- Você pode adicionar um novo widget a uma página incluindo-o na matriz
widgets
sem um campoid
. - Você pode remover um widget de uma página omitindo-o da matriz
widgets
.
Atualiza o widget em uma página
Você pode atualizar um conjunto de widgets existentes de uma página de dashboard, dado um GUID de entidade de página de dashboard. Você precisa especificar o conjunto de widgets a serem atualizados e sua configuração completa.
Importante
Esta operação não permite adicionar ou remover widgets de uma página. Para adicionar ou remover um widget, use a operação Atualizar uma página dashboard .
- Vá para o explorador NerdGraph GraphiQL em api.newrelic.com/graphiql.
- Use API dashboard do NerdGraph para obter a configuração dashboard existente usando a leitura do dashboard pelo GUID da entidade, conforme mostrado na seção Ler um dashboard.
- Identifique e extraia o widget na página que você deseja atualizar do dashboard.
- Modifique os campos que deseja atualizar no widget.
- Use
dashboardUpdateWidgetsInPage()
para modificar o widget. - Marque
errors
se houver.
mutation UpdateWidgetsInPage( $pageGuid: EntityGuid! $widgets: [DashboardUpdateWidgetInput!]!) { dashboardUpdateWidgetsInPage(guid: $pageGuid, widgets: $widgets) { errors { type description } }}
E aqui estão as variáveis para usar com esta mutação:
{ "guid": "PAGE_GUID", "widgets": [ { "id": "WIDGET_ID", "visualization": { "id": "viz.billboard" }, "layout": { "column": 1, "row": 1, "height": 3, "width": 4 }, "title": "Updated Total Transaction Count", "linkedEntityGuids": [], "rawConfiguration": { "nrqlQueries": [ { "accountIds": [1], "query": "SELECT count(*) FROM Transaction" } ] } } ]}
Outras operações
Operação | Tipo de operação GraphQL | Notas |
---|---|---|
| mutação | Criar operação de instantâneo da página dashboard. Você pode criar uma URL pública para uma determinada GUID de entidade de página dashboard. A página dashboard pode então ser acessada na forma de um instantâneo estático na URL pública resultante. O URL resultante será descontinuado três meses após a criação. Consulte Gerenciar instantâneos dashboard via API para obter mais informações. |
| consulta | Listar todas as operações de URLs ativas. Você pode obter a lista completa de URLs ativas às quais você tem acesso. Uma URL ativa é um mecanismo que permite que você compartilhe páginas dashboard e widgets publicamente com dados atualizados ou ativos. Consulte Gerenciar URLs de gráficos ao vivo via API para obter mais informações. |
| mutação | Revogar operação de URL ativa do widget. Você pode revogar uma URL ativa de um widget criada anteriormente. Como resultado, o URL ativo ficará indisponível ao público. Consulte Gerenciar URLs de gráficos ao vivo via API para obter mais informações. |
| mutação | Crie uma URL dashboard ao vivo acessível publicamente. Consulte Criar, atualizar e revogar URLs do dashboard de compartilhamento público para obter mais informações. |
| mutação | Atualizar a data de expiração de um URL dashboard ativo acessível publicamente. Consulte Criar, atualizar e revogar URLs do dashboard de compartilhamento público para obter mais informações. |
| mutação | Revogar URL dashboard ativo acessível publicamente. Consulte Criar, atualizar e revogar URLs do dashboard de compartilhamento público para obter mais informações. |
| mutação | Somente um Gerenciador de domínio de autenticação pode usar essa mutação para habilitar ou desabilitar a política Live URL Creation para contas. O usuário pode criar URLs ativas para o dashboard em contas onde esta política está habilitada. |
Painel entre contas
Com o NerdGraph, você pode criar consultas de dados de mais de uma conta New Relic. Você também pode criar um dashboard usando dados de várias contas adicionando IDs de contas à matriz accountIds
.
Aqui está um exemplo de criação de um dashboard entre contas:
Limites
Limitamos os valores que você pode definir para algumas propriedades do dashboard . Isso nos permite manter o painel em bom estado e, ao mesmo tempo, aumentar sua usabilidade.
Limites dashboard
Limite | Valor |
---|---|
Número máximo de páginas em um dashboard | 25 |
Comprimento máximo do nome de um dashboard | 255 |
Comprimento máximo de uma descrição dashboard | 1024 |
Limites de páginas dashboard
Limite | Valor |
---|---|
Número máximo de widgets em uma página dashboard | 150 |
Comprimento máximo do nome de uma página dashboard | 255 |
Comprimento máximo da descrição de uma página dashboard | 1024 |
Limites widget
Limite | Valor |
---|---|
Comprimento máximo do título de um widget | 255 |
Número máximo de entidades vinculadas a um widget | 1 |
Número máximo de consultas em um widget | 20 |
Coluna máxima de layout de um widget | 12 |
Coluna mínima de layout de um widget | 1 |
Linha mínima de layout de um widget | 1 |
Largura máxima de layout de um widget | 12 |
Largura mínima de layout de um widget | 1 |
Altura máxima do layout de um widget | 32 |
Altura mínima do layout de um widget | 1 |
Erros como cidadãos de primeira classe
Todas as mutações dashboard oferecem uma maneira de solicitar erros ao serem executadas. Isso significa que você pode realizar alterações dashboard e verificar a resposta para detectar possíveis problemas esperados. Cada erro tem um tipo e uma descrição para ajudá-lo a identificar qual é a origem do problema.
Tenha em mente que estes são erros esperados dos quais estamos cientes antecipadamente. Você também deve verificar se há erros inesperados que serão retornados no campo de erros padrão do GraphQL.