Best Practices für das Monitoring

Edge for Private Cloud v. 4.17.09

Monitoring-Benachrichtigungen

Mit Apigee Edge können Sie Benachrichtigungen an Syslogs oder externe Monitoringsysteme/-tools weiterleiten, wenn ein Fehler oder ein Ausfall aufgrund eines Ereignisfehlers auftritt. Diese Benachrichtigungen können auf System- oder Anwendungsebene erfolgen. Benachrichtigungen auf Anwendungsebene sind meist benutzerdefinierte Benachrichtigungen, die auf Grundlage generierter Ereignisse erstellt werden. Die benutzerdefinierten Bedingungen werden in der Regel vom Netzwerkadministrator konfiguriert. Weitere Informationen zu Benachrichtigungen erhalten Sie vom Apigee-Support.

Benachrichtigungsgrenzwerte festlegen

Legen Sie einen Schwellenwert fest, ab dem eine Benachrichtigung generiert werden soll. Die Einstellung hängt von Ihrer Hardwarekonfiguration ab. Der Grenzwert sollte im Verhältnis zu Ihrer Kapazität festgelegt werden. Beispielsweise ist Apigee Edge möglicherweise zu niedrig, wenn Sie nur 6 GB Kapazität haben. Sie können einen Grenzwert mit dem Kriterium „gleich“ (=) oder „größer als“ (>) zuweisen. Sie können auch ein Zeitintervall zwischen zwei aufeinanderfolgenden Benachrichtigungen angeben. Sie können die Option „Stunden/Minuten/Sekunden“ verwenden.

Kriterien für das Festlegen von Benachrichtigungen auf Systemebene

In der folgenden Tabelle werden die Kriterien beschrieben:

Benachrichtigung

Vorgeschlagener Schwellenwert

Beschreibung

Geringer Arbeitsspeicher

500 MB

Der Arbeitsspeicher ist zu klein, um eine Komponente zu starten

Wenig Speicherplatz (/var/log)

8 GB

Der Speicherplatz ist zu gering.

Hohe Belastung

3+

Die Anzahl der Prozesse, die auf die Ausführung warten, ist unerwartet gestiegen

Prozess beendet

–, ein boolescher Wert (true oder false)

Der Apigee-Java-Prozess im System wurde beendet

Apigee-spezifische Ports und Ports von Drittanbietern prüfen

Überwachen Sie die folgenden Ports, um sicherzustellen, dass sie aktiv sind:

  • Port 4526, 4527 und 4528 auf Management Server, Router und Message Processor
  • Port 1099, 1100 und 1101 auf Management Server, Router und Message Processor
  • Port 8081 und 15999 auf Routern
  • Port 8082 und 8998 auf Message Processors
  • Port 8080 auf dem Verwaltungsserver

Prüfen Sie, ob die folgenden Ports von Drittanbietern aktiv sind:

  • Qpid-Port 5672
  • Postgres-Port 5432
  • Cassandra-Ports 7000, 7199, 9042, 9160
  • ZooKeeper-Port 2181
  • OpenLDAP-Port 10389

Um festzustellen, auf welchem Port jede Apigee-Komponente auf API-Aufrufe wartet, senden Sie die folgenden API-Aufrufe an den Management Server (der sich im Allgemeinen auf Port 8080 befindet):

curl -v -u <username>:<password> http://<host>:<port>/v1/servers?pod=gateway&region=dc-1
curl -v -u <username>:<password> http:// <host>:<port>/v1/servers?pod=central&region=dc-1
curl -v -u <username>:<password> http:// <host>:<port>/v1/servers?pod=analytics&region=dc-1

Die Ausgabe dieser Befehle enthält Abschnitte, die in etwa so aussehen wie unten dargestellt. Im Abschnitt „http.management.port“ wird die Portnummer für die angegebene Komponente angegeben.

{
  "externalHostName" : "localhost",
  "externalIP" : "111.222.333.444",
  "internalHostName" : "localhost",
  "internalIP" : "111.222.333.444",
  "isUp" : true,
  "pod" : "gateway",
  "reachable" : true,
  "region" : "default",
  "tags" : {
    "property" : [ {
      "name" : "Profile",
      "value" : "Router"
    }, {
      "name" : "rpc.port",
      "value" : "4527"
    }, {
      "name" : "http.management.port",
      "value" : "8081"
    }, {
      "name" : "jmx.rmi.port",
      "value" : "1100"
    } ]
  },
  "type" : [ "router" ],
  "uUID" : "2d4ec885-e20a-4173-ae87-10be38b35750"
}

Logs ansehen

In Protokolldateien werden Nachrichten zu Ereignissen/Vorgängen des Systems aufgezeichnet. Nachrichten werden im Protokoll angezeigt, wenn Prozesse beginnen und abgeschlossen werden oder wenn ein Fehler auftritt. In den Logdateien finden Sie Informationen zu Systemkomponenten wie CPU, Arbeitsspeicher, Laufwerk, Last, Prozesse usw., bevor und nachdem ein Fehlerzustand erreicht wurde. So können Sie auch die Ursache aktueller Systemprobleme identifizieren und diagnostizieren oder potenzielle Systemprobleme vorhersagen.

Ein typisches Systemprotokoll einer Komponente enthält beispielsweise die folgenden Einträge:

TimeStamp = 25/01/13 19:25 ; NextDelay = 30
Memory
HeapMemoryUsage = {used = 29086176}{max = 64880640} ;    
NonHeapMemoryUsage = {init = 24313856}{committed = 57278464} ;
Threading
PeakThreadCount = 53 ; ThreadCount = 53 ;
OperatingSystem
SystemLoadAverage = 0.25 ;

Sie können die Datei /opt/apigee/conf/logback.xml bearbeiten, um den Logging-Mechanismus zu steuern, ohne einen Server neu starten zu müssen. Die Datei „logback.xml“ enthält das folgende Attribut, mit dem festgelegt wird, wie oft der Logging-Mechanismus die Datei „logback.xml“ auf Konfigurationsänderungen prüft:

<configuration scan="true" scanPeriod="30 seconds" >

Standardmäßig prüft der Logging-Mechanismus jede Minute auf Änderungen. Wenn Sie die Zeiteinheiten für das Attribut scanPeriod weglassen, wird standardmäßig Millisekunden verwendet.

In der folgenden Tabelle sind die Speicherorte der Logdateien für Apigee Edge Private Cloud-Komponenten aufgeführt.

Komponenten

Standort

Verwaltungsserver

opt/apigee/var/log/edge-management-server

Router

opt/apigee/var/log/edge-router

Message Processor

opt/apigee/var/log/edge-message-processor

Qpid-Server

opt/apigee/var/log/edge-qpid-server

Apigee Postgres-Server

opt/apigee/var/log/edge-postgres-server

Edge-UI

opt/apigee/var/log/edge-ui

ZooKeeper

opt/apigee/var/log/apigee-zookeeper

OpenLDAP

opt/apigee/var/log/apigee-openldap

Cassandra

opt/apigee/var/log/apigee-cassandra

Qpidd

opt/apigee/var/log/apigee-qpidd

PostgreSQL-Datenbank

opt/apigee/var/log/apigee-postgresql

Debugging-Logs für den Message Processor und die Edge-Benutzeroberfläche aktivieren

So aktivieren Sie Debugging-Logs für den Message Processor:

  1. Bearbeiten Sie auf dem Message Processor-Knoten die Datei /opt/apigee/customer/application/messsage-processor.properties. Wenn diese Datei nicht vorhanden ist, erstellen Sie sie.
  2. Fügen Sie der Datei das folgende Attribut hinzu:
    conf_system_log.level=DEBUG
  3. Starten Sie den Message Processor neu:
    > /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

So aktivieren Sie Debugging-Logs für die Edge-Benutzeroberfläche:

  1. Bearbeiten Sie auf dem Edge-UI-Knoten /opt/apigee/customer/application/ui.properties. Wenn diese Datei nicht vorhanden ist, erstellen Sie sie.
  2. Fügen Sie der Datei das folgende Attribut hinzu:
    conf_application_logger.application=DEBUG
  3. Starten Sie die Edge-Benutzeroberfläche neu:
    > /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Monitoring-Tools

Mit Monitoring-Tools wie Nagios, Collectd, Graphite, Splunk, Sumologic und Monit können Sie Ihre gesamte Unternehmensumgebung und Ihre Geschäftsprozesse überwachen.

Komponente

Nagios

Collectd

Splunk

Prüfungen auf Systemebene

CPU-Auslastung

?

?

Verfügbarer/verwendeter Arbeitsspeicher

?

?

Speicherplatznutzung

?

?

Netzwerkstatistik

?

?

Prozesse

?

API-Prüfungen

?

JMX

?

Java

?

Protokolldateien

?

Kritische Ereignisse

Ratenbegrenzung erreicht

?

Backend-Server (Hybris oder SharePoint) ist nicht erreichbar

?

FaaS (STS) ist nicht erreichbar

?

Ereignis vom Typ „Warnung“

SMTP-Server nicht erreichbar

?

SLA-Verstöße

?