2016-07-01 16 views
0

Ich arbeite an der Verwendung von Piwik als Tracker für VM-Nutzung. Es ist geplant, dass bei jedem Start oder Herunterfahren einer VM eine benutzerdefinierte Anforderung an einen Piwik-Server gesendet und eine UUID und einige andere Variablen gemeldet werden. Ich habe das https://github.com/piwik/piwik-python-api-Projekt heruntergeladen, das eine Python-Skript-Erstellung ermöglichen soll, aber ich bin danach festgefahren.So senden Sie hartcodierte Ereignisse per Python-Skript an piwik

Alle vms haben eine IP (etwas wie 10.0.5.15 in meinem localhost zum Beispiel) und ich muss diesen Zugriff verwenden, um die Anfragen zu senden.

Kann jemand einen Link zu einem einfachen Beispiel liefern, wie man etwas an piwik sendet?

Antwort

1

Diese Piwik-Bibliothek ist für einen Python-Webserver wie Django gedacht. Sofern Sie nicht vorhaben, einen Webserver in Ihren VMs zu betreiben, ist dies nutzlos. Das heißt, ein Webserver zum Senden von Titeln an Piwik scheint es zu übertreiben.

Piwik ruft einfach eine URL an, wenn Daten an den Server gesendet werden. Es verwendet nicht POST, nur GET. Daher ist es einfach genug, um den Anruf in Python mit einem Skript zu replizieren, die eine URL aufrufen: https://docs.python.org/2/howto/urllib2.html

Die tatsächliche piwik URLs kann so einfach sein wie:

http://piwik.example.org/piwik.php?idsite={$IDSITE}amp;rec=1 

Dieses eine einzelne Sitzung starten in die Piwik DB. Die ID-Site ist die Piwik-ID der Website, die Sie verfolgen.

Source

Zusätzliche Variablen können mit dieser Session-Tracker übergeben werden.

Ich würde empfehlen, die Benutzer-ID in der UID-Parameter oder alternativ in _cvar übergeben, wenn Sie zusätzliche benutzerdefinierte Variablen benötigen.

uid - Definiert die Benutzer-ID für diese Anfrage. Benutzer-ID ist eine beliebige nicht leere eindeutige Zeichenfolge, die den Benutzer identifiziert (z. B. eine E-Mail-Adresse oder einen -Benutzernamen). Um auf diesen Wert zugreifen zu können, müssen Benutzer in Ihrem System angemeldet sein, damit Sie diese Benutzer-ID von Ihrem System abrufen und an Piwik übergeben können. Die Benutzer-ID erscheint im Besucherprotokoll, das Besucherprofil, , und Sie können Berichte für eine oder mehrere Benutzer-IDs (userId ) segmentieren. Wenn angegeben, wird die Benutzer-ID "erzwungen". Dies bedeutet , dass, wenn es keinen letzten Besuch mit dieser Benutzer-ID gibt, eine neue erstellt wird. Wenn ein Besuch in den letzten 30 Minuten mit Ihrer angegebenen Benutzer-ID gefunden wird, wird die neue Aktion unter diesem bestehenden Besuch aufgezeichnet.

Source

Hoffentlich hilft dies.

+0

Hallo Forgetso, thnak Sie für die Antwort ist es sehr, sehr hilfreich in der Tat. Ich muss jetzt eine benutzerdefinierte Variable manuell festlegen, da ich den Jstracker nicht verwende. Hast du irgendwelche Hinweise, wie das geht? –

+0

Sie würden es übergeben JSON in der URL wie im Beispiel auf der Website von Piwik. 'http: //piwik-server/piwik.php? _cvar = {" 1 ": [" OS "," iphone 5.0 "]," 2 ": [" Piwik Mobile Version "," 1.6.2 "]," 3 ": [" Locale "," de :: en "]," 4 ": [" Num Accounts "," 2 "]}' Hier sehen Sie benutzerdefinierte Variablen namens OS, Piwik Mobile Versions-, Gebietsschema- und Num-Konten Der __cvar-Wert ist im Beispiel nicht URL-codiert. Sie müssten den Wert vor dem Übergeben codieren. [Quelle] (https://developer.piwik.org/api-reference/tracking -api) – forgetso

Verwandte Themen