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 do painel 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 com incremento automático e só é exclusivo 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 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 um tamanho máximo de 40 caracteres.
nota
Para usar uma API Grafana com seu espaço de trabalho Amazon Managed Grafana, você deve ter uma chave de API Grafana válida. Você inclui essa chave noAuthorization
campo da solicitação da API. Para obter informações sobre como criar uma chave de API do Grafana, consulteUsando APIs HTTP do Grafana.
Criar/atualizar o 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 de controle — O modelo completo de painel. 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 nulo, um novo uid é 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, mesmo título de painel na pasta ou 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 painel, declare umdashboard.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 }
HTTP Status Codes
-
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 de resposta tem as seguintes propriedades. Se outro painel tiver o mesmo título, ostatus
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" }
Obter 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 } }
HTTP Status Codes
-
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 }
HTTP Status Codes
-
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" } }
Obter tags de 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 } ]