In Grafana einen Button erstellen, der einen HTTP-PUT-Request an eine bestimmte URL sendet.

Um in Grafana einen Button zu erstellen, der einen HTTP PUT-Request an eine bestimmte URL sendet, können Sie die Grafana Dashboard Variables und Dashboard Links oder ein Custom Panel Plugin wie das Grafana Button Panel verwenden. Hier ist eine Schritt-für-Schritt-Anleitung, wie Sie das umsetzen können:


Methode 1: Verwenden des “Grafana Button Panel” (empfohlen)

Das Button Panel ist ein Plugin, das speziell für solche Anwendungsfälle entwickelt wurde.

Schritt 1: Plugin installieren

  1. Gehen Sie in Grafana zu Configuration > Plugins.
  2. Suchen Sie nach “Grafana Button Panel” (von Blackmirror) und installieren Sie es.
  3. Starten Sie Grafana neu, falls erforderlich.

Schritt 2: Button Panel zum Dashboard hinzufügen

  1. Öffnen Sie Ihr Dashboard und klicken Sie auf “Add Panel” > “Button”.
  2. Konfigurieren Sie den Button wie folgt:
    • Button Text: Geben Sie den Text ein, der auf dem Button angezeigt werden soll (z. B. “Daten aktualisieren”).
    • URL: Geben Sie die Ziel-URL für den PUT-Request ein (z. B. http://ihre-api-endpunkt.de/data).
    • Method: Wählen Sie “PUT”.
    • Headers (optional): Falls erforderlich, fügen Sie Header hinzu, z. B.:{ "Content-Type": "application/json", "Authorization": "Bearer Ihr-Token" }
    • Body (optional): Falls der PUT-Request einen Body benötigt, geben Sie ihn hier ein (z. B. als JSON):{ "key": "value" }
    • Confirm Message (optional): Eine Bestätigungsnachricht, die angezeigt wird, bevor der Request gesendet wird.
  3. Klicken Sie auf “Apply”, um die Änderungen zu speichern.

Methode 2: Verwenden von Dashboard Links (einfacher, aber weniger flexibel)

Falls Sie kein Plugin installieren möchten, können Sie einen Dashboard Link verwenden, der als Button fungiert.

Schritt 1: Dashboard Link hinzufügen

  1. Klicken Sie in der oberen Leiste Ihres Dashboards auf das Zahnrad-Symbol (Dashboard Settings).
  2. Gehen Sie zu “Links” und klicken Sie auf “Add Link”.
  3. Konfigurieren Sie den Link wie folgt:
    • Title: Der Text, der auf dem Button angezeigt wird (z. B. “Aktualisieren”).
    • URL:#!/bin/bash curl -X PUT -H "Content-Type: application/json" -d '{"key":"value"}' http://ihre-api-endpunkt.de/data (Hinweis: Dies funktioniert nur, wenn Grafana auf einem Server läuft, auf dem curl verfügbar ist. Alternativ können Sie einen externen Service wie einen Webhook nutzen.)
    • Type: Wählen Sie “Dashboard” oder “Link”.
    • Include Time Range (optional): Aktivieren Sie dies, falls die Zeitauswahl relevant ist.
  4. Speichern Sie die Änderungen.

Schritt 2: Button im Dashboard anzeigen

  1. Fügen Sie ein Text-Panel zu Ihrem Dashboard hinzu.
  2. Verwenden Sie Markdown, um einen klickbaren Button zu erstellen:[Aktualisieren](#!/bin/bash curl -X PUT http://ihre-api-endpunkt.de/data) (Auch hier gilt: Dies ist eine vereinfachte Lösung und funktioniert nicht direkt im Browser.)

Methode 3: Verwenden von Grafana Variables + JavaScript (fortgeschritten)

Falls Sie mehr Kontrolle benötigen, können Sie eine Dashboard Variable mit einem Custom HTML-Panel kombinieren.

Schritt 1: Variable erstellen

  1. Gehen Sie zu Dashboard Settings > Variables > Add Variable.
  2. Konfigurieren Sie eine Variable (z. B. trigger_update):
    • Nametrigger_update
    • TypeCustom
    • Values0,1 (oder ein anderer Trigger-Mechanismus).

Schritt 2: Custom HTML-Panel hinzufügen

  1. Installieren Sie das HTML-Panel-Plugin (z. B. “Grafana HTML Panel”).
  2. Fügen Sie ein HTML-Panel hinzu und verwenden Sie JavaScript, um den PUT-Request zu senden:<button>Aktualisieren</button> function sendPutRequest() { fetch('http://ihre-api-endpunkt.de/data', { method: 'PUT', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ key: 'value' }), }) .then(response =&gt; response.json()) .then(data =&gt; console.log('Success:', data)) .catch(error =&gt; console.error('Error:', error)); } (Hinweis: Due to CORS restrictions, this may not work directly in the browser unless the API supports CORS.)

Empfehlung

  • Für einfache Fälle: Verwenden Sie das Button Panel Plugin (Methode 1).
  • Für komplexere Anfragen: Nutzen Sie ein Custom Panel mit JavaScript (Methode 3) oder einen externen Service (z. B. einen Webhook über Node-RED oder einen Proxy-Server).

Falls Sie Hilfe bei der Konfiguration benötigen, lassen Sie es mich wissen! 😊

Kommentar hinterlassen

Kommentare

Noch keine Kommentare. Starte eine Diskussion?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert