splunk

Logs aus einer Splunk-Search-REST-API in OTLP-förmige Tabellen lesen

Maintainer: smithclay

Installation und Laden

INSTALL splunk FROM community;
LOAD splunk;

Beispiel

-- Store your Splunk credentials once (kept out of query text; redacted in duckdb_secrets()).
CREATE SECRET (
TYPE splunk,
URL 'https://splunk.example.com:8089',
USERNAME '<username>',
PASSWORD '<password>'
);
-- Or authenticate with a token instead of a username/password.
CREATE SECRET (
TYPE splunk,
URL 'https://splunk.example.com:8089',
TOKEN '<token>',
TOKEN_TYPE 'bearer' -- 'bearer' for JWT auth tokens, 'splunk' for session keys
);
-- Run SPL and get back OTLP log rows.
SELECT time_unix_nano, service_name, severity_text, body
FROM read_splunk_logs(
query => 'index=main error',
earliest => '-1h',
latest => 'now'
);

Über splunk

Diese Erweiterung liest Logs von einem Endpunkt der Splunk-Search-REST-API direkt in DuckDB. Zeilen entsprechen dem OTLP-Logschema (passend zu duckdb-otlp read_otlp_logs), sodass Splunk-Ereignisse unmittelbar in ein OTLP-förmiges Lakehouse neben Daten aus anderen Quellen gelangen. Ressourceneigenschaftsschlüssel stimmen mit den Splunk-Receivern des OpenTelemetry Collectors überein (host.name, com.splunk.*) und erleichtern die Interoperabilität.

Funktionen:

  • Anmeldedaten über DuckDB-Secrets (CREATE SECRET (TYPE splunk, ...)), mit Unterstützung für Basic Auth oder Token-Auth; PASSWORD/TOKEN werden in duckdb_secrets() geschwärzt. Setzen Sie INSECURE_TLS true für Instanzen mit selbstsignierten Zertifikaten.
  • HEC/JSON-Ereignisbewusstsein: Splunk extrahiert JSON-Ereignisfelder zur Suchzeit nicht, daher parst die Erweiterung _raw und löst Felder wie level, trace_id und service daraus auf
  • Automatische Wiederholungen bei Ratenbegrenzungen (HTTP 429), HTTP 5xx und transienten Netzwerkfehlern; Wartezeiten respektieren die Abbruch der Abfrage
  • Projektions-Pushdown: nur ausgewählte Spalten werden dekodiert, sodass Aggregationen das zeilenweise Parsen von _raw und die JSON-Serialisierung der Attribute überspringen
  • Deutliche Fehler bei ungültigem SPL: serverseitige Suchfehler werden ausgelöst statt wie null Treffer zu wirken
  • Splunk-Felder, die nicht auf das OTLP-Schema abgebildet werden, stehen als JSON in log_attributes für DuckDBs JSON-Funktionen bereit

read_splunk_logs akzeptiert query (SPL, Standard *), earliest (Standard -15m), latest (Standard now), max_rows (0 = unbegrenzt), timeout, retries und secret (zur Auswahl eines benannten Secrets). Logs werden derzeit unterstützt. Die vollständige Dokumentation finden Sie im Erweiterungs-Repository.

Hinzugefügte Funktionen

function_name function_type description comment examples
read_splunk_logs table NULL NULL

Überladene Funktionen

Diese Erweiterung fügt keine Funktionsüberladungen hinzu.

Hinzugefügte Typen

Diese Erweiterung fügt keine Typen hinzu.

Hinzugefügte Einstellungen

Diese Erweiterung fügt keine Einstellungen hinzu.