Enterprise 6 min leestijdBijgewerkt 30 mei 2026

Gids voor Splunk-integratie

Koppel Splunk aan de WeTransfer Activity Events API en stream workspace-events naar je SIEM.

Wat je nodig hebt

  • Een Activity API-token — zie Generate an API token in de hoofdhandleiding van Activity Log
  • Een Splunk Enterprise-instantie (Cloud of self-hosted), versie 9.x of later

Stap 1 — Installeer de REST API Modular Input-add-on

De integratie is afhankelijk van de REST API Modular Input-add-on van BaboonBones Ltd (Damien Dallimore), die beschikbaar is op Splunkbase.

  1. Open in de Splunk-web-UI Apps → Find More Apps
  2. Zoek naar REST API Modular Input en installeer het vanaf Splunkbase
  3. Start Splunk opnieuw wanneer daarom wordt gevraagd

Stap 2 — Configureer een nieuwe REST-input

Ga naar Settings → Data inputs → REST → New en vul het formulier in met de waarden hieronder. Veldnamen komen overeen met de labels zoals weergegeven door de add-on.

Veld

Waarde

Endpoint-URLhttps://wetransfer.com/api/external/v1/activity-events
HTTP-methodeGET
Authenticatietypenone — de bearer-token wordt in plaats daarvan via een custom HTTP-header verzonden
HTTP-headereigenschappenAuthorization=Bearer <YOUR_TOKEN>
URL-argumentensince=YYYY-MM-DDTHH:MM:SSZ — stel dit in op de ISO 8601-timestamp waarvandaan je wilt beginnen. Alles ouder dan 1 jaar wordt geweigerd, omdat events slechts 1 jaar bewaard worden.
Responstypejson
Polling-interval60 seconden (aanbevolen). De API ondersteunt tot 1 request/sec, maar 60s is ruim voldoende voor SIEM-gebruik.
Response-handlerWTActivityEventHandler — we voegen deze toe in Stap 3.
SourcetypeStel in op Manual en voer wetransfer:activity in
IndexKies de index waar je events naartoe geschreven moeten worden, of laat de standaardinstelling staan
Filled-in REST input form in Splunk

Stap 3 — Voeg de aangepaste response-handler toe

Het WeTransfer-endpoint retourneert een enkel JSON-object met een events[]-array en een next_cursor. Standaard indexeert de REST-add-on de hele response als één Splunk-event. Om één Splunk-event per WeTransfer activity event te krijgen, voeg je een kleine aangepaste response-handler toe.

Bewerk $SPLUNK_HOME/etc/apps/rest_ta/bin/responsehandlers.py en voeg het volgende toe:

class WTActivityEventHandler:
    """Splits the WeTransfer activity-events response (dict with events[]) into one Splunk event per WT event."""
    def __init__(self, **args):
        pass

    def __call__(self, response_object, raw_response_output, response_type, req_args, endpoint, oauth2=None):
        if response_type == "json":
            output = json.loads(raw_response_output)
            for entry in output.get("events", []):
                print_xml_stream(json.dumps(entry))
        else:
            print_xml_stream(raw_response_output)

Start Splunk opnieuw nadat je het bestand hebt bewerkt.

Stap 4 — Verifieer de ingestie

Voer in de Splunk-zoekbalk het volgende uit:

index=<your-index> sourcetype=wetransfer:activity | head 20

Je zou één Splunk-event per WeTransfer activity event moeten zien, met de volgende velden zichtbaar: event_id, event_type, actor_email, actor_id, ip_address, country_code, created_at, target.*, en data.*.

Splunk event detail view showing WeTransfer activity event fields

Stap 5 — Opmerkingen over paginatie

  • De REST-add-on volgt de next_cursor niet automatisch. Voor backfilling van grote historische reeksen voer je een eenmalig script uit dat pagineert via next_cursor totdat has_more false is, en zet je de add-on daarna op het heden.
  • Voor lopende ingestie is een polling-interval van 60s voldoende voor typische workspaces — events per minuut passen meestal op één pagina, dus cursor-opvolging is niet nodig. Voor workspaces met hoger volume, zie de backfill-opmerking hierboven.
  • Het endpoint retourneert maximaal 100 events per response (standaard 50).

Alerts bouwen

Zodra events binnenkomen, kun je alerts bouwen op basis van de wetransfer:activity-data met behulp van Splunk's ingebouwde saved-search en alerting-functionaliteit. Detectieontwerp is workspace- en beleidsspecifiek, raadpleeg daarom de documentatie van Splunk voor de alertopties die in jouw versie beschikbaar zijn.

Probleemoplossing

De meeste problemen aan de Splunk-kant met deze integratie verschijnen in $SPLUNK_HOME/var/log/splunk/restmodinput*.log — controleer daar eerst als er iets niet klopt.

Symptoom

Wat er gebeurt / oplossing

Elke poll wordt geïndexeerd als één enorme JSON-blobDe aangepaste response-handler uit Stap 3 wordt niet toegepast. Controleer of het Response Handler-veld in de REST-inputconfig precies WTActivityEventHandler is, dat de klasse is toegevoegd aan responsehandlers.py, en dat Splunk is herstart nadat je de wijziging hebt doorgevoerd.
Events verschijnen maar er worden geen velden geëxtraheerdZelfde onderliggende oorzaak als hierboven — de handler splitst elk WeTransfer-event in een apart JSON-document, dat Splunk vervolgens automatisch extraheert. Controleer de handlernaam en code en start daarna opnieuw.
Dubbele events bij elke pollingcyclusDe since-parameter in URL-argumenten is statisch — de add-on haalt op elke poll dezelfde events opnieuw op. Dubbele items worden naar de index geschreven; verwijder duplicaten tijdens het zoeken met | dedup event_id. Om ze bij ingestie te vermijden, gebruik de response-substitutie van de add-on om de cursor bij elke poll te verplaatsen (gevorderd).
401-fouten in restmodinput*.logDe bearer-token in HTTP-headereigenschappen ontbreekt, is onjuist geformatteerd of ingetrokken. Controleer de regel Authorization=Bearer <token> opnieuw en genereer zo nodig een nieuw token vanuit het WeTransfer-beheerpaneel.
Timeouts of verbinding geweigerd naar wetransfer.comNetwerk-egressprobleem. Je Splunk-host kan wetransfer.com niet rechtstreeks bereiken — waarschijnlijk door een bedrijfsfirewall of HTTP-proxy. Configureer de uitgaande proxy van Splunk in de inputinstellingen of systeemwijd en verifieer de connectiviteit met een curl vanaf de Splunk-host.
Was dit nuttig?

Vragen?

Neem contact op met je accountmanager voor vragen. Als je nog geen Enterprise-klant bent, klik op de knop om een aanvraag in te dienen.