Benutzerdefinierte Variable ist in benutzerdefinierten Analytics-Berichten nicht sichtbar

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

Symptom

Die benutzerdefinierte Variable, die mit dem StatisticsCollector-Richtlinie ist nicht unter „Benutzerdefinierte Dimensionen“ in den benutzerdefinierten Analytics-Berichten in der Edge-Benutzeroberfläche sichtbar.

Fehlermeldungen

Es wurden keine Fehler festgestellt.

Mögliche Ursachen

In der folgenden Tabelle sind mögliche Ursachen für dieses Problem aufgeführt:

Ursache Für
Benutzerdefinierte Variable entspricht nicht den Standardrichtlinien Private und öffentliche Edge-Cloud-Nutzer
Kein Traffic auf dem API-Proxy, der die StatisticsCollector-Richtlinie implementiert Private und öffentliche Edge-Cloud-Nutzer
Benutzerdefinierte Variable nicht an Postgres-Server übertragen Edge Private Cloud-Nutzer

Klicken Sie auf einen Link in der Tabelle, um mögliche Lösungen zu sehen.

Benutzerdefinierte Variable entspricht nicht den Standardrichtlinien

Diagnose

Wenn der in der StatisticsCollector-Richtlinie verwendete Name der benutzerdefinierten Variablen nicht Sie müssen die Standardrichtlinien erfüllen (siehe Lösung) angezeigt wird, erscheint er nicht in den benutzerdefinierten Berichten.

Im folgenden Code-Snippet sehen Sie, dass der Variablenname „product id“ ein Leerzeichen hat, Sie wird daher im benutzerdefinierten Bericht nicht unter der benutzerdefinierten Dimension angezeigt.

  <StatisticsCollector name="publishPurchaseDetails">
    <Statistics>
      <Statistic name="productID" ref="product id" type="string">999999</Statistic>
    </Statistics>
  </StatisticsCollector>

Auflösung

Namen benutzerdefinierter Variablen, die in der StatisticsCollector-Richtlinie innerhalb der API verwendet werden Proxy die folgenden Richtlinien einhalten:

  • Namen können [a-z][0-9] und '_' enthalten.
  • Namen dürfen keine Leerzeichen enthalten. In dem oben gezeigten Codebeispiel wird z. B. der Variablenname in „product_id“ geändert werden.
  • Groß-/Kleinschreibung wird ignoriert.
  • Reservierte Keywords, die in der Tabelle unter folgendem Link aufgeführt sind, sind nicht nicht erlaubt sind. Beispiel: „user“ ist nicht zulässig. Weitere Informationen finden Sie unter SQL-Schlüsselwörter.

Wenn das Problem weiterhin besteht, fahren Sie mit Kein Traffic auf dem API-Proxy, der die StatisticsCollector-Richtlinie implementiert.

Kein Traffic auf dem API-Proxy, der die StatisticsCollector-Richtlinie implementiert

Diagnose

Wenn auf dem API-Proxy, der den StatisticsCollector implementiert, kein Traffic vorhanden ist wird die benutzerdefinierte Variable nicht in den benutzerdefinierten Berichten angezeigt.

Auflösung

Senden Sie einige Aufrufe an den API-Proxy, der den StatisticsCollector implementiert. .

Warten Sie einige Zeit und prüfen Sie dann, ob die benutzerdefinierte(n) Variable(n) in den benutzerdefinierten Dimensionen in Benutzerdefinierter Bericht.

Wenn das Problem weiterhin besteht, fahren Sie mit Benutzerdefinierte Variable nicht übertragen an Postgres-Server

Benutzerdefinierte Variable nicht an Postgres-Server gesendet

Diagnose

Wenn eine benutzerdefinierte Variable im API-Proxy erstellt wird und API-Aufrufe erfolgen, wird zuerst beim Message Processor im Arbeitsspeicher gespeichert. Die Botschaft Der Prozessor sendet dann die Informationen über die neue Variable an ZooKeeper, sendet es wiederum an den Postgres-Server, um es als Spalte Datenbank.

Es kann vorkommen, dass die Benachrichtigung von ZooKeeper den Postgres-Server aufgrund des Netzwerks nicht erreicht. Probleme. Aufgrund dieses Fehlers wird die benutzerdefinierte Variable möglicherweise nicht in der Benutzerdefinierter Bericht.

So ermitteln Sie, wo die benutzerdefinierte Variable fehlt:

  1. Generieren Sie den ZooKeeper-Baum mit dem folgenden Befehl:
    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt
  2. Suchen Sie in der Ausgabe des ZooKeeper-Baums nach der benutzerdefinierten Variable.
  3. Wenn die benutzerdefinierte Variable im ZooKeeper-Baum vorhanden ist, führen Sie den die folgenden Befehle, um zu prüfen, ob die benutzerdefinierte Variable zum Postgres hinzugefügt wird. Datenbank: <ph type="x-smartling-placeholder">
      </ph>
    1. Melden Sie sich auf dem Postgres-Knoten bei PostgreSQL an:
      psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
    2. Führen Sie die folgende SQL-Abfrage aus:
      select column_name, data_type, character_maximum_length from INFORMATION_SCHEMA.COLUMNS
        where table_name = 'orgname.envname.fact';
  4. Sie werden sehr wahrscheinlich feststellen, dass die Spalte für benutzerdefinierte Variablen im angezeigt.

Auflösung

Lösung 1: Postgres-Server neu starten

  1. Starten Sie den Postgres-Server neu, um zu erzwingen, dass er alle für Analysen von Zookeeper:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart

    Wenn das Problem weiterhin besteht, wenden Sie Lösung 2 an.

Lösung 2: Property-Forceonboard aktivieren

So aktivieren Sie das Attribut forceonboard:

  1. /opt/apigee/customer/application/postgres-server.properties-Datei erstellen am den Postgres-Servercomputer, falls er noch nicht vorhanden ist.
  2. Fügen Sie dieser Datei die folgende Zeile hinzu:
    conf_pg-agent_forceonboard=true
  3. Prüfen Sie mit dem folgenden Befehl, ob diese Datei Apigee gehört:
    chown apigee:apigee /opt/apigee/customer/application/postgres-server.properties
  4. Starten Sie den Postgres-Server neu:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  5. Wenn Sie mehr als einen Postgres-Server haben, wiederholen Sie die oben genannten Schritte auf allen Postgres-Server
  6. Bereitstellung des API-Proxys, der den StatisticsCollector verwendet, aufheben und ihn bereitstellen .
  7. Führen Sie die API-Aufrufe aus.
  8. Prüfen Sie, ob die benutzerdefinierte(n) Variable(n) in den benutzerdefinierten Dimensionen im Bereich „Benutzerdefiniert“ angezeigt wird(n). Bericht.

Wenn das Problem weiterhin besteht, wenden Sie sich an den Apigee Edge-Support.