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á.
Use a API de dashboard para criar, atualizar, excluir e trabalhar com dashboards no espaço de trabalho do Amazon Managed Grafana.
O identificador (ID) de um dashboard é um valor numérico de incremento automático e é exclusivo apenas por espaço de trabalho. O identificador exclusivo (UID) de um dashboard pode ser usado para identificar de forma exclusiva um dashboard entre vários espaços de trabalho do Amazon Managed Grafana. Ele será gerado automaticamente se você não fornecer um ao criar um dashboard. O uid permite ter consistência URLs 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 dashboard não quebra nenhum link marcado para esse dashboard.
A UID pode ter um tamanho máximo de 40 caracteres.
nota
Para usar uma API do Grafana com o espaço de trabalho do Amazon Managed Grafana, você deve ter um token válido da API do Grafana. Você inclui isso no campo Authorization
na solicitação da API. Para obter informações sobre como criar um token para autenticar as chamadas de API, consulte Autenticação com tokens.
Criar e atualizar um dashboard
POST /api/dashboards/db
Cria um dashboard ou atualiza um existente.
Exemplo de solicitação para criar um dashboard
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 do corpo JSON:
-
dashboard: o modelo completo do dashboard. Use null para criar um dashboard.
-
dashboard.id: use null para criar um dashboard.
-
dashboard.uid: identificador exclusivo opcional quando você o usa para criar um dashboard. Se for nulo, um novo UID será gerado.
-
folderid: o ID da pasta na qual salvar o dashboard.
-
folderUid: o UID da pasta na qual salvar o dashboard. Substitui o valor de
folderid
. -
substituir: especifique
true
para substituir um dashboard existente por uma versão mais recente, pelo mesmo título do dashboard na pasta ou pelo mesmo UID do dashboard. -
mensagem: defina uma mensagem de confirmação para o histórico da versão.
-
atualizar: defina o intervalo de atualização do dashboard. 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 do dashboard, declare um bloqueio dashboard.panels.alert
.
Exemplo de solicitação para atualizar uma regra de alerta do dashboard
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 dashboard não pode ser criado.
-
O dashboard foi alterado por outra pessoa
status=version-mismatch
-
Já existe um dashboard com o mesmo nome na pasta
status=name-exists
-
Já existe um dashboard com o mesmo UID
status=name-exists
-
O dashboard pertence ao plug-in
plugin title
status=plugin-dashboard
O corpo de resposta tem as propriedades a seguir. Se outro dashboard tiver o mesmo título, o valor do status
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 dashboard por UID
GET /api/dashboards/uid/:uid
Retorna o dashboard correspondente ao UID. Os metadados retornados podem conter informações sobre o UID da pasta que contém o dashboard.
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 dashboard por UID
DELETE /api/dashboards/uid/:uid
Exclui o dashboard 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 dashboard inicial
GET /api/dashboards/home
Retorna o dashboard 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 do dashboard
GET /api/dashboards/tags
Retorna todas as tags dos dashboards.
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
}
]