Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
API de paneles
Use la API de paneles para crear, actualizar y eliminar paneles, y trabajar con ellos, en el espacio de trabajo de Amazon Managed Grafana.
El identificador (id) de un panel es un valor numérico que se incrementa automáticamente y solo es único por espacio de trabajo. El identificador único (uid) de un panel se puede utilizar para identificar de forma única un panel entre varios espacios de trabajo de Amazon Managed Grafana. Se genera automáticamente si no lo proporciona al crear un panel. El uid permite disponer de URL coherentes para acceder a los paneles y al sincronizarlos entre varios espacios de trabajo. El uso del uid significa que al cambiar el título de un panel no se interrumpe ningún enlace marcado a ese panel.
El uid puede tener una longitud máxima de 40 caracteres.
nota
Para usar una API de Grafana con su espacio de trabajo de Amazon Managed Grafana, debe tener un token de API de Grafana que sea válido. Lo incluye en el campo Authorization
de la solicitud de API. Para obtener información sobre cómo crear un token para autenticar sus llamadas a la API, consulte Autenticación con tokens.
Creación o actualización de un panel
POST /api/dashboards/db
Crea un panel nuevo o actualiza uno existente.
Ejemplo de solicitud para crear un panel nuevo
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 de cuerpo JSON:
-
dashboard: modelo de panel completo. Utilice el valor “null” para crear un nuevo panel.
-
dashboard.id: utilice el valor “null” para crear un nuevo panel.
-
dashboard.uid: identificador único opcional cuando lo usa para crear un panel nuevo. Si su valor es “null”, se genera un nuevo uid.
-
folderid: id de la carpeta en la que se va a guardar el panel.
-
folderid: uid de la carpeta en la que se va a guardar el panel. Anula el valor de
folderid
-
overwrite: especifique
true
si desea sobrescribir un panel existente con una versión más reciente, el mismo título del panel en la carpeta o el mismo uid del panel. -
message: establece un mensaje de confirmación para el historial de versiones.
-
refresh: establece el intervalo de actualización del panel. Si es inferior al intervalo de actualización mínimo, se ignora y se utiliza el intervalo de actualización mínimo.
Si quiere agregar o actualizar una regla de alerta para un panel, declare un bloque dashboard.panels.alert
.
Ejemplo de solicitud para actualizar una regla de alerta del panel
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 } }
Ejemplo de respuesta
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 estado:
-
200: creado.
-
400: error (como JSON no válido, campos no válidos o campos faltantes).
-
401: no autorizado.
-
403: acceso denegado.
-
412: error en la condición previa.
El código de estado 412 se usa para explicar por qué no se puede crear el panel.
-
Otra persona ha cambiado el panel
status=version-mismatch
-
Ya existe un panel con el mismo nombre en la carpeta
status=name-exists
-
Ya existe un panel con el mismo uid
status=name-exists
-
El panel pertenece al complemento
plugin title
status=plugin-dashboard
El cuerpo de la respuesta tiene las siguientes propiedades. Si otro panel tiene el mismo título, el valor de status
es 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" }
Obtención de un panel por uid
GET /api/dashboards/uid/:uid
Devuelve el panel que coincide con el uid. Los metadatos devueltos pueden contener información sobre el UID de la carpeta que contiene el panel.
Ejemplo de solicitud
GET /api/dashboards/uid/cIBgcSjkk HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
Ejemplo de respuesta
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 estado:
-
200: encontrado.
-
401: no autorizado.
-
403: acceso denegado.
-
404: no encontrado.
Eliminación de un panel por uid
DELETE /api/dashboards/uid/:uid
Elimina el panel que coincide con el uid.
Ejemplo de solicitud
DELETE /api/dashboards/uid/cIBgcSjkk HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
Ejemplo de respuesta
HTTP/1.1 200 Content-Type: application/json { "title": "Production Overview", "message": "Dashboard Production Overview deleted", "id": 2 }
Códigos de estado:
-
200: eliminado.
-
401: no autorizado.
-
403: acceso denegado.
-
404: no encontrado.
Obtención del panel de inicio
GET /api/dashboards/home
Devuelve el panel de inicio.
Ejemplo de solicitud
GET /api/dashboards/home HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
Ejemplo de respuesta
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" } }
Obtención de etiquetas del panel
GET /api/dashboards/tags
Devuelve todas las etiquetas de los paneles.
Ejemplo de solicitud
GET /api/dashboards/tags HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
Ejemplo de respuesta
HTTP/1.1 200 Content-Type: application/json [ { "term":"tag1", "count":1 }, { "term":"tag2", "count":4 } ]