JavaScript mit Node.js
Senden Sie Messwerte aus Node.js und halten Sie den Schlüssel außerhalb des Quellcodes.
Auf dieser Seite
Das benötigen Sie
Eine unterstützte Node.js-Laufzeit, eine numerische Reihe und eine private Geräteschlüsseldatei.
So geht es
- Speichern Sie das Beispiel als .mjs-Datei und ersetzen Sie die Reihenkennung durch Ihre eigene.
- Lesen Sie den Schlüssel aus seiner privaten Datei und bereiten Sie einen Inhalt pro Messung vor.
- Starten Sie das Skript, prüfen Sie den HTTP-Status und suchen Sie den Wert im Monitor.
Gut zu wissen
Nutzen Sie dieses Beispiel in Node.js, nicht in einem öffentlichen Browserskript. Besucher können einen in Browser-JavaScript eingebetteten Schlüssel auslesen. Behalten Sie bei vorübergehenden Fehlern denselben Inhalt für Wiederholungen.
import { readFile } from "node:fs/promises"
import { homedir } from "node:os"
import { randomUUID } from "node:crypto"
const key = (await readFile(`${homedir()}/.config/metribeacon/device.key`, "utf8")).trim()
const body = JSON.stringify({ batch_id: randomUUID(), points: [{
id: randomUUID(), series_id: "33333333-3333-4333-8333-333333333333",
measured_at: new Date().toISOString(), value: 21.5,
}] })
const response = await fetch("https://metribeacon.com/api/v1/ingest/points", {
method: "POST", signal: AbortSignal.timeout(15000),
headers: { Authorization: `Bearer ${key}`, "Content-Type": "application/json" }, body,
})
if (!response.ok) throw new Error(`HTTP ${response.status}`)
console.log(await response.json())Wenn etwas nicht klappt
Prüfen Sie response.ok, bevor Sie JSON als Annahmeantwort behandeln. Ein Fehler beim Lesen der Antwort kann an einem HTTP-Fehler liegen.
Verwandte Anleitungen
- Eigene Monitoring-Daten senden
Senden Sie eigene Werte über HTTPS mit den Kennungen und Schlüsseln Ihres Monitors.
- Workflows und parallele Läufe
Verfolgen Sie jede Workflow- oder KI-Agent-Ausführung, auch bei parallelen Läufen.