API de panel - Amazon Managed Grafana

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 panel

Usa la API de paneles para crear, actualizar, eliminar y trabajar con paneles en el espacio de trabajo de Grafana gestionado por Amazon.

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 Grafana gestionados por Amazon. Se genera automáticamente si no lo proporcionas al crear un panel. El uid permite disponer de URL coherentes para acceder a los paneles y 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 tu espacio de trabajo de Grafana gestionado por Amazon, debes tener un token de API de Grafana válido. Lo incluyes en el Authorization campo de la solicitud de API. Para obtener información sobre cómo crear un token para autenticar tus llamadas a la API, consultaAutenticarse con fichas.

Crear o actualizar el 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 corporal de JSON:

  • tablero: el modelo de tablero completo. Utilice null para crear un panel nuevo.

  • dashboard.id: utilice null para crear un panel nuevo.

  • dashboard.uid: identificador único opcional cuando lo usas para crear un panel nuevo. Si es nulo, se genera un nuevo uid.

  • folderid: el identificador de la carpeta en la que se va a guardar el panel.

  • foldeRUID: el UID de la carpeta en la que se guarda el panel. Anula el valor de folderid

  • sobrescribir: especifique si true 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.

  • mensaje: establece un mensaje de confirmación para el historial de versiones.

  • actualizar: 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.

Para añadir o actualizar una regla de alerta para un panel de mandos, declare un dashboard.panels.alert bloqueo.

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 un JSON no válido, campos no válidos o 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 de control 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 status valor esname-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" }

Obtenga un panel por uid

GET /api/dashboards/uid/:uid

Devuelve el panel de control 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 se ha encontrado

Eliminar el 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 se ha encontrado

Obtiene el panel de control de inicio

GET /api/dashboards/home

Devuelve el panel de control 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" } }

Obtenga las etiquetas del panel de control

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 } ]