Attribute für tatsächliches Benutzermonitoring konfigurieren
Sie können Application Performance Monitoring so konfigurieren, dass verschiedene Endbenutzeraktivitäten besser klassifiziert werden können, indem Sie zusätzliche Attribute hinzufügen.
Im APM-Browser-Agent definierte Attribute werden den Bereichen hinzugefügt, die der Browser-Agent in den APM-Service hochlädt.
Die benutzerdefinierten Textattribute des APM-Browser-Agents werden im Trace-Explorer als Dimensionen dargestellt und können auch zur Definition von Metrikgruppen verwendet werden. Die benutzerdefinierten numerischen Attribute des APM-Browser-Agents werden im Trace-Explorer als Metriken dargestellt. Die numerischen Attribute können aggregiert und in Alerts im Monitoring-Service verwendet werden. Weitere Informationen zu Dimensionen im Trace-Explorer finden Sie unter Informationen zu Trace- und Span-Attributen.
Benutzerdefinierte Attribute konfigurieren
Die benutzerdefinierten Attribute können am einfachsten über die Eigenschaft udfAttributes
des Objekts apmrum
hinzugefügt werden.
Jedes Mal, wenn der Browser-Agent-Code eine Spanne erstellt, werden diese Daten gesucht und verwendet, um die Spanne mit den gewünschten Attributen zu füllen. Die Definition kann eine Zeichenfolge, eine Zahl oder eine Funktion sein (die eine Zeichenfolge oder eine Zahl zurückgibt).
Wenn eine Funktion verwendet wird, wird diese Funktion jedes Mal ausgeführt, wenn der Span erstellt wird und der Wert für das Attribut benötigt wird. Wenn Funktionen verwendet werden, um negative Auswirkungen auf die Performance zu vermeiden, ist eine besondere Aufmerksamkeit erforderlich.
Ein neues Attribut wird erst nach dem fünften Vorkommen und nur dann automatisch aktiviert, wenn
auto-activate
aktiviert ist. Andernfalls kann sie auf der Seite Span-Attribute manuell aktiviert werden.
Beispiel für eine einfache Konfiguration
window.apmrum.udfAttributes = [
{ name: 'mySiteId', value: "TheWebSiteId" },
{ name: 'resultsOnPage', value: 123 },
// calling a user-supplied javascript function to calculate shopping cart totals
{ name: 'shoppingCart', value: () => { productsInBasket(); } }
];
- Das Attribut/die Dimension
‘mySiteId’
wird in der UI mit dem Wert‘TheWebSiteId’
erstellt. Dies kann nützlich sein, wenn die HTML-Vorlage verschiedene Werte für sie zuweisen kann oder wenn verschiedene Deployments dies verwenden. - Das Attribut
‘resultsOnPage’
erstellt die Metrik mit diesem Namen in der UI. Der Vorteil eines numerischen Wertes besteht darin, dass er summiert werden kann und der Durchschnitt für ihn sowie andere numerische Funktionen berechnet werden kann.
Es ist wichtig zu beachten, dass so etwas wie eine productNumber nicht als Zahl angegeben werden sollte, sondern als Zeichenfolge verwendet werden sollte, um die Auswahl bestimmter Produkte sowie die Gruppierung nach dem Produkt zu ermöglichen. Beispiel: Wenn die productid oder productNumber in javascript als numerisches Feld verfügbar ist, muss sie in eine Zeichenfolge konvertiert werden, um sicherzustellen, dass sie von Application Performance Monitoring korrekt verarbeitet wird.
Komplexe Konfiguration - Beispiel
window.apmrum.udfAttributes = [
{ name: 'myDynamicSiteId', value: () => window.apmrum.tmpSiteId },
{ name: 'curProductNumber', value: '123456' },
];
// on other locations in the code:
window.apmrum.tmpSiteId = 'siteA';
// on some other locations in the code
window.apmrum.tmpSiteId = 'siteB';
Die klarste Implementierung besteht darin, dass die Attribute an einem Ort generiert werden. Wenn ein bestimmter Wert bei bestimmten Aufrufen bekannt oder als Status festgelegt wird, können diese einer Eigenschaft im apmrum
-Objekt zugewiesen werden, die mit ‘tmp’
im Namen beginnt. Dieser Wert kann in udfAttributes
abgerufen werden, um den Wert zu melden. Wenn der Wert ‘undefined’
lautet, wird die Eigenschaft nicht gesendet.
Einschränkungen
Die bereitgestellten Daten beschränken sich darauf, dass die Berichterstattung sinnvoll ist. Hauptziel ist es sicherzustellen, dass willkürliche Daten nicht versehentlich übertragen werden.
Name | Beschränkung | Beschreibung |
---|---|---|
attrNameLenMax | 50 | Maximale Zeichenanzahl für einen Namen (durch Hinzufügen von Punkten zum Namen, wenn der angegebene Name zu lang ist) |
attrValueLenMax | 500 | Maximale Anzahl von Zeichen im Wert (durch Hinzufügen von Punkten zum Wert erzwingen, wenn der angegebene Wert zu lang ist) |
attrMax | 50 | Maximale Anzahl zulässige Flexfelder |
Benutzernamensattribut konfigurieren
Sie müssen das Attribut apmrum.username
festlegen, um die Filterung von Daten des tatsächlichen Benutzermonitorings nach Benutzername zu ermöglichen.
- Ermitteln Sie die ursprüngliche Quelle des Benutzernamens. Dies ist von der überwachten Anwendung und dem verwendeten Authentifizierungsmechanismus abhängig.
- Betten Sie Skripte auf den Anwendungsseiten (oder der Landingpage der Anwendung) ein. Weisen Sie den Benutzernamenswert der Variablen
apmrum.username
zu. Dadurch ist der Benutzername für das Reporting verfügbar.
get
username
von Windows in Internet Explorer:var WinNetwork = new ActiveXObject("WScript.Network"); window.apmrum || (apmrum = {} ); apmrum.username = WinNetwork.UserName
get
username
-Logik aus PHP-Code:window.apmrum || (apmrum = {} ); apmrum.username = '<?php echo $username; ?>';
get
username
von der Seite:Sie können diese Option verwenden, wenn die Seite DOM verwendet und etwa Folgendes enthält:
<div id="welcomeMsg">Welcome <user> (last visit <mm–dd-yyyy>)</div>
.var Loginname = document.getElementById("welcomeMsg").innerHTML ; var end = Loginname.indexOf("("); var nameOnly = Loginname.substring(8, end); window.apmrum || (apmrum = {} ); apmrum.username = nameOnly;
Wenn Sie Oracle-Anwendungen verwenden, finden Sie unter APM-Lösungen Details zum Erfassen des Benutzernamenattributs bei der Konfiguration der automatischen Injection in APM Agent, je nach spezifischer Oracle-Anwendung.
Benutzerdefinierte Attribute in Legacy-Umgebungen konfigurieren
Wenn Sie vom Oracle Management Cloud Application Performance Monitoring-Produkt zum Oracle Cloud Infrastructure (OCI) Application Performance Monitoring-Service migriert haben, können Sie dieselben Eigenschaften in der OCI-Konfiguration verwenden, wie in diesem Abschnitt gezeigt.
Die Werte für diese Attribute bieten genauere Informationen zur Anwendungsperformance am Benutzerstandort. Diese Attribute werden auf der Application Performance Monitoring-Benutzeroberfläche als Dimensionen angezeigt, die zum Filtern von Daten verwendet werden können. Um die Attribute hinzuzufügen, fügen Sie den folgenden JavaScript-Code auf den zu überwachenden Seiten ein:
apmrum.udfAttribute1 = function()
{
// return desired value of attribute 1
return "Attribute value 1";
};
apmrum.udfAttribute2 = function()
{
// return desired value of attribute 2
return "Attribute value 2";
};
Standardmäßig wird attribute1
mit dem Verzeichnis der obersten Ebene der URL aufgefüllt, und attribute2..9
bleibt leer und kann von Ihnen konfiguriert werden. In Application Performance Monitoring können Sie bis zu neun Attribute konfigurieren.
Beispiel: In der URL https://www.sample.com/calendar/render
wird attribute1
mit der Zeichenfolge calendar
aufgefüllt.
Der Dokumenttitel der Anwendungsseite und der für den Benutzer sichtbare Text können beim Reporting hilfreich sein, enthalten aber möglicherweise personenbezogene Daten, die nicht standardmäßig erfasst werden dürfen. Wenn Sie diese Werte erfassen möchten, können Sie die Einstellung trackScreenText
verwenden, die wie folgt explizit auf "true" gesetzt werden muss: window.apmrum.trackScreenText=true
.
Der Seitentitel kann durch Festlegen des Attributs apmrum.udfAttributeDt
neu definiert werden. Im Kontextreporting sind die Daten in attribute1
am generischsten, udfAttributeDt
ist spezifischer (Seitenebene), und apmrum.udfAttribute2
soll ungefähr auf den Bereich auf einem Bildschirm verweisen, der während eines AJAX-Aufrufs aktiv ist oder auf den geklickt wird.
Die Elementbenennungslogik kann durch Konfigurieren des Attributs getElmLabelFn
neu definiert werden. Diese Funktion erhält das Element (Ereignisziel), das vom Benutzer als Argument durch Klicken aktiviert wurde. Durch Verwendung des Attributs getElmLabelFn
haben Sie mehr Kontrolle über die gemeldeten Informationen und reduzieren das Risiko einer unbeabsichtigten Offenlegung personenbezogener Daten.
Beispiel:
apmrum.trackScreenText=true;
apmrum.udfAttributeDt = function()
{
// return desired value of page title
return "New Page Title";
};
apmrum.getElmLabelFn = function(e)
{
// return desired value for element
return "elm: "+e.tagName+"["+e.id+"]";
}