As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
API do painel
Use a API Dashboard para criar, atualizar, excluir e trabalhar com painéis no espaço de trabalho Amazon Managed Grafana.
O identificador (id) de um painel é um valor numérico de incremento automático e é exclusivo somente por espaço de trabalho. O identificador exclusivo (uid) de um painel pode ser usado para identificar de forma exclusiva um painel entre vários espaços de trabalho do Amazon Managed Grafana. Ele é gerado automaticamente se você não fornecer um ao criar um painel. O uid permite ter URLs consistentes para acessar painéis e sincronizar painéis entre vários espaços de trabalho. O uso do uid significa que alterar o título de um painel não quebra nenhum link marcado para esse painel.
O uid pode ter no máximo 40 caracteres.
nota
Para usar uma API do Grafana com seu espaço de trabalho do Amazon Managed Grafana, você deve ter um token válido da API Grafana. Você inclui isso no Authorization
campo na solicitação da API. Para obter informações sobre como criar um token para autenticar suas chamadas de API, consulteAutenticar com tokens.
Criar/atualizar painel
POST /api/dashboards/db
Cria um novo painel ou atualiza um painel existente.
Exemplo de solicitação para criar um novo painel
POST /api/dashboards/db HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk { "dashboard": { "id": null, "uid": null, "title": "Production Overview", "tags": [ "templated" ], "timezone": "browser", "schemaVersion": 16, "version": 0, "refresh": "25s" }, "folderId": 0, "folderUid": "l3KqBxCMz", "message": "Made changes to xyz", "overwrite": false }
Esquema corporal JSON:
-
painel — O modelo completo do painel de controle. Use null para criar um novo painel.
-
dashboard.id — Use null para criar um novo painel.
-
dashboard.uid — Identificador exclusivo opcional quando você o usa para criar um novo painel. Se for nulo, um novo uid será gerado.
-
folderid — O id da pasta na qual salvar o painel.
-
folderUID — O Uid da pasta na qual salvar o painel. Substitui o valor de
folderid
-
substituir — Especifique
true
a substituição de um painel existente por uma versão mais recente, o mesmo título do painel na pasta ou o mesmo uid do painel. -
mensagem — Defina uma mensagem de confirmação para o histórico da versão.
-
atualizar — Defina o intervalo de atualização do painel. Se for menor que o intervalo mínimo de atualização, ele será ignorado e o intervalo mínimo de atualização será usado.
Para adicionar ou atualizar uma regra de alerta para um painel de controle, declare um dashboard.panels.alert
bloqueio.
Exemplo de solicitação para atualizar uma regra de alerta do painel
HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Content-Length: 78 { "dashboard": { "id": 104, "panels": [ { "alert": { "alertRuleTags": {}, "conditions": [ { "evaluator": { "params": [ 25 ], "type": "gt" }, "operator": { "type": "and" }, "query": { "params": [ "A", "5m", "now" ] }, "reducer": { "params": [], "type": "avg" }, "type": "query" } ], "executionErrorState": "alerting", "for": "5m", "frequency": "1m", "handler": 1, "name": "Panel Title alert", "noDataState": "no_data", "notifications": [] }, "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": null, "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 9, "w": 12, "x": 0, "y": 0 }, "hiddenSeries": false, "id": 2, "legend": { "avg": false, "current": false, "max": false, "min": false, "show": true, "total": false, "values": false }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "dataLinks": [] }, "percentage": false, "pointradius": 2, "points": false, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "refId": "A", "scenarioId": "random_walk" } ], "thresholds": [ { "colorMode": "critical", "fill": true, "line": true, "op": "gt", "value": 50 } ], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Panel Title", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } } ], "title": "Update alert rule via API", "uid": "dHEquNzGz", "version": 1 } }
Exemplo de resposta
HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Content-Length: 78 { "id": 1, "uid": "cIBgcSjkk", "url": "/d/cIBgcSjkk/production-overview", "status": "success", "version": 1, "slug": "production-overview" //deprecated in Grafana v5.0 }
Códigos de status:
-
200 — Criado
-
400 — Erro como JSON inválido, campos inválidos ou ausentes
-
401 — Não autorizado
-
403 — Acesso negado
-
412 — Falha na pré-condição
O código de status 412 é usado para explicar por que o painel não pode ser criado.
-
O painel foi alterado por outra pessoa
status=version-mismatch
-
Já existe um painel com o mesmo nome na pasta
status=name-exists
-
Já existe um painel com o mesmo uid
status=name-exists
-
O painel pertence ao plugin
plugin title
status=plugin-dashboard
O corpo da resposta tem as seguintes propriedades. Se outro painel tiver o mesmo título, o status
valor seráname-exists
.
HTTP/1.1 412 Precondition Failed Content-Type: application/json; charset=UTF-8 Content-Length: 97 { "message": "The dashboard has been changed by someone else", "status": "version-mismatch" }
Obtenha o painel por uid
GET /api/dashboards/uid/:uid
Retorna o painel correspondente ao uid. Os metadados retornados podem conter informações sobre o UID da pasta que contém o painel.
Exemplo de solicitação
GET /api/dashboards/uid/cIBgcSjkk HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
Exemplo de resposta
HTTP/1.1 200 Content-Type: application/json { "dashboard": { "id": 1, "uid": "cIBgcSjkk", "title": "Production Overview", "tags": [ "templated" ], "timezone": "browser", "schemaVersion": 16, "version": 0 }, "meta": { "isStarred": false, "url": "/d/cIBgcSjkk/production-overview", "folderId": 2, "folderUid": "l3KqBxCMz", "slug": "production-overview" //deprecated in Grafana v5.0 } }
Códigos de status:
-
200 — Encontrado
-
401 — Não autorizado
-
403 — Acesso negado
-
404 — Não encontrado
Excluir painel por uid
DELETE /api/dashboards/uid/:uid
Exclui o painel correspondente ao uid.
Exemplo de solicitação
DELETE /api/dashboards/uid/cIBgcSjkk HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
Exemplo de resposta
HTTP/1.1 200 Content-Type: application/json { "title": "Production Overview", "message": "Dashboard Production Overview deleted", "id": 2 }
Códigos de status:
-
200 — Excluído
-
401 — Não autorizado
-
403 — Acesso negado
-
404 — Não encontrado
Obtém o painel inicial
GET /api/dashboards/home
Retorna o painel inicial.
Exemplo de solicitação
GET /api/dashboards/home HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
Exemplo de resposta
HTTP/1.1 200 Content-Type: application/json { "dashboard": { "editable":false, "hideControls":true, "nav":[ { "enable":false, "type":"timepicker" } ], "style":"dark", "tags":[], "templating":{ "list":[ ] }, "time":{ }, "timezone":"browser", "title":"Home", "version":5 }, "meta": { "isHome":true, "canSave":false, "canEdit":false, "canStar":false, "url":"", "expires":"0001-01-01T00:00:00Z", "created":"0001-01-01T00:00:00Z" } }
Obtenha as tags do painel
GET /api/dashboards/tags
Retorna todas as tags dos painéis.
Exemplo de solicitação
GET /api/dashboards/tags HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
Exemplo de resposta
HTTP/1.1 200 Content-Type: application/json [ { "term":"tag1", "count":1 }, { "term":"tag2", "count":4 } ]