Auf dieser Seite finden Sie Informationen dazu, wie Cloud Network Insights in AppNeta zur Alarmgenerierung integriert wird und wie diese Alarme zur Analyse, Ansicht und Erstellung von Benachrichtigungsrichtlinien an Google Cloud gesendet werden.
Logging- und Benachrichtigungsaufgaben werden zwischen Google Cloud und AppNeta aufgeteilt. Beim Cloud Network Insights-Logging wird erfasst, wann die von Monitoring Points erfassten Messwerte gegen Grenzwerte verstoßen, die Sie mit Alarmregeln in AppNeta konfigurieren.
Erstellen Sie Alarme und Alarmregeln in AppNeta, um Alarmprotokolle zu generieren. Alarm- und Ereignislogs werden dann in Cloud Logging exportiert. Anschließend können Sie Benachrichtigungsrichtlinien verwenden, um Benachrichtigungen zu senden, wenn ein Netzwerkvorfall auftritt.
Hinweis
Sie müssen einen Monitoring Point bereitstellen, bevor Sie Alarmregeln erstellen können.
Wecker in AppNeta
Alarme und Alarmregeln werden in AppNeta erstellt. Alarme informieren Sie, wenn ein Problem in Ihrem Netzwerk vorliegt. Wenn ein von Ihnen beobachteter Messwert, z. B. die Latenz, innerhalb eines bestimmten Intervalls einen festgelegten Schwellenwert überschreitet, liegt ein Verstoß gegen die Alarmregel vor. Sie können festlegen, dass ein Alarm nach einem einzelnen Verstoß oder nach mehreren Verstößen innerhalb eines bestimmten Zeitraums ausgelöst wird.
Wenn die Latenz beispielsweise zweimal innerhalb von 3 Minuten 160 ms überschreitet, können Sie den Alarm so einstellen, dass eine Warnung ausgelöst wird. Dieser Alarm wird als Log an Google Cloud gesendet. Sobald das Log in Cloud Logging eingeht, können Sie eine Benachrichtigung dazu senden und Ihr Team benachrichtigen.
Weitere Informationen zu Benachrichtigungen finden Sie in der AppNeta-Dokumentation unter Alarms Overview (Übersicht über Benachrichtigungen) oder Alarms – Best Practices (Benachrichtigungen – Best Practices).
Alarmregeln in AppNeta erstellen
Erstellen Sie Alarmregeln, in denen Leistungs-Schwellenwerte definiert werden.
Öffnen Sie die Google Cloud Console und rufen Sie Network Intelligence > Cloud Network Insights > Benachrichtigungsrichtlinien auf.
Klicken Sie auf Alarmregeln erstellen, um die Seite Alarmregel bearbeiten in AppNeta zu öffnen.
Definieren Sie Regeln, in denen Sie Messwerte, Grenzwerte, Strategien für Verstöße und den Schweregrad angeben. Sie können Standardregeln verwenden oder anpassen.
Nachdem ein Alarm ausgelöst wurde, wird das Alarmprotokoll an Cloud Logging gesendet. Nachdem das Protokoll an Google Cloudgesendet wurde, können Sie zu Cloud Network Insights navigieren und Benachrichtigungsrichtlinien festlegen.
Weitere Informationen zum Erstellen von Alarmregeln finden Sie in der AppNeta-Dokumentation unter Alarm Rules.
Logs in Google Cloudansehen
Cloud Network Insights exportiert detaillierte Logs in Cloud Logging, damit Sie die Netzwerkleistung und wichtige Ereignisse analysieren und Fehler beheben können. Sie können mit dem Log-Explorer auf diese Logs zugreifen.
Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.
Abfragen erstellen, um Benachrichtigungen zu relevanten Informationen zu erhalten
In Cloud Network Insights-Logs wird für logName einer der folgenden Werte verwendet:
- Alarmprotokolle –
networkmanagement.googleapis.com/insights_alarm - Ereignisprotokolle –
networkmanagement.googleapis.com/insights_event
Weitere Informationen finden Sie unter Abfragen mit der Logging-Abfragesprache erstellen und speichern.
Preise
Alle Cloud Network Insights-Logs werden in Cloud Logging geschrieben. Für diesen Dienst fallen keine separaten Kosten für Cloud Network Insights an. Diese Logs können jedoch je nach Größe der geschriebenen und gespeicherten Logs zu zusätzlichen Speicherkosten führen.
Informationen zu den Preisen für Cloud Logging finden Sie unter Preise für Google Cloud Observability: Cloud Logging.
Protokolldetails
Die spezifischen Details für jeden Logtyp sind zwar im Feld jsonPayload enthalten, aber mehrere andere Standardfelder von LogEntry sind für das Abfragen und Analysieren der Logs von entscheidender Bedeutung.
Alarmprotokolle
- Log Name (Protokollname):
networkmanagement.googleapis.com/insights_alarm - Ausgelöst: Wird generiert, wenn die Bedingungen einer Alarmregel erfüllt sind.
- Ressourcenlabels: Beschreibt die überwachte Ressource, die mit dem Log verknüpft ist. Dazu gehören die folgenden Elemente:
type: Der Ressourcentyp. Er kann einer der folgenden sein:networkmanagement.googleapis.com/NetworkMonitoringProvidernetworkmanagement.googleapis.com/MonitoringPointnetworkmanagement.googleapis.com/NetworkPath
labels: Schlüssel-Wert-Paare zur Identifizierung der jeweiligen Ressourceninstanz, z. B.resource_container(Projekt-ID),location,network_monitoring_provider_idundpath_idodermonitoring_point_id.
- Wichtige JSON-Felder: Alarmlogs enthalten Informationen zu ausgelösten Alarmen.
- Schweregradzuordnung: Der Schweregrad wird in AppNeta und Google Cloudunterschiedlich erfasst.
AppNeta-Schweregrad Schweregrad von Google Cloud-Logs Kritisch CRITICAL Schwerwiegend FEHLER Geringfügig WARNUNG Warnung HINWEIS
Alarmprotokollfelder
Die jsonPayload eines Alarmprotokolls enthält die folgenden Felder.
| Feld | Typ | Beschreibung |
|---|---|---|
alarm_id |
String | Die eindeutige Kennung für den Alarm in AppNeta. |
alarm_severity |
enum | Der Schweregrad des Alarms. Kann CRITICAL, MAJOR, MINOR oder WARNING sein. |
alarm_type |
enum | Der Typ des Alarms. Der Typ QUALITY_OF_SERVICE wird unterstützt. |
cleared_time |
timestamp | Die Uhrzeit, zu der der Alarm gelöscht wurde. Dieses Feld ist leer, wenn das Alarmprotokoll den Status RAISED oder UPDATED hat. |
description |
String | Eine für Menschen lesbare Beschreibung des Alarms. |
first_violation_time |
timestamp | Der Zeitpunkt, zu dem die Alarmbedingung zum ersten Mal verletzt wurde. |
item |
Objekt | Die mit dem Alarm verknüpfte Entität. Weitere Informationen finden Sie unter Häufige Artikelstrukturen. |
provider_link |
String | Ein Hyperlink zum Alarm in der AppNeta-Benutzeroberfläche. |
raised_time |
timestamp | Die Uhrzeit, zu der der Alarm ausgelöst wurde. |
receiveTimestamp |
String | Die Uhrzeit, zu der der Wecker in Google Clouderstellt wurde. |
rule |
String | Der Name der Alarmregel, die den Alarm ausgelöst hat. |
state |
enum | Der Status des Alarms. Kann RAISED, UPDATED (die Alarmdetails wurden in AppNeta aktualisiert, aber noch nicht behoben) oder CLEARED sein. |
timestamp |
String | Der Zeitpunkt, zu dem der Alarm in AppNeta erstellt wurde. |
Ereignisprotokolle
- Log Name (Protokollname):
networkmanagement.googleapis.com/insights_event - Trigger: Wird ausgelöst, wenn eine strukturelle Änderung erfolgt (z. B.
Route Change,MTU ChangeoderMonitoring Point Offline). - Schweregrad: Immer
INFO. - Wichtige JSON-Felder: Ereignisprotokolle enthalten Informationen zu ausgelösten Ereignissen.
Felder für Ereignisprotokolle
Das jsonPayload eines Ereignislogs enthält die folgenden Felder.
| Feld | Typ | Beschreibung |
|---|---|---|
event_detail |
Objekt | Details speziell für den Ereignistyp. Das kann route_change_event, mtu_change_event oder qos_change_event sein. Für Ereignisse ohne weitere Details wird ein leeres Objekt zurückgegeben. Weitere Informationen finden Sie unter
Felder für Ereignisdetails. |
event_id |
String | Die eindeutige Kennung für dieses Ereignis. |
event_type |
enum | Art des Ereignisses. Kann MONITORING_POINT_OFFLINE, MONITORING_POINT_ONLINE, ROUTE_CHANGE, MTU_CHANGE oder QOS_CHANGE sein. |
item |
Objekt | Die mit dem Ereignis verknüpfte Einheit. Weitere Informationen finden Sie unter Häufige Artikelstrukturen. |
receiveTimestamp |
String | Die Uhrzeit, zu der das Ereignis in Google Clouderstellt wurde. |
timestamp |
String | Die Uhrzeit, zu der das Ereignis in AppNeta erstellt wurde. |
Felder für Ereignisdetails
Das event_detail-Objekt enthält Details, die für den Ereignistyp spezifisch sind. Je nach event_type enthält es eines der folgenden verschachtelten Objekte:
Für Ereignisse ohne weitere Details wird ein leeres Objekt zurückgegeben.
Ereignis zur MTU-Änderung (mtu_change_event)
Dieses Objekt erfasst Details, wenn die MTU-Größe geändert wird.
| Feld | Typ | Beschreibung |
|---|---|---|
new_mtu |
int32 | Die neu gemessene MTU. |
previous_mtu |
int32 | Die vorherige MTU, falls vorhanden (beim Starten ausgelassen). |
QoS-Änderungsereignis (qos_change_event)
Dieses Objekt meldet die QoS-Neuzuordnung für alle erkannten Pfade.
| Feld | Typ | Beschreibung |
|---|---|---|
configured_qos |
int32 | Die in den Job-Einstellungen konfigurierte Dienstqualität. |
remapped_qos |
int32 | Auf dem Pfad wurde eine Änderung der Dienstqualität erkannt. |
ip_address |
String | Die IP-Adresse des Hops, an dem die QoS-Änderung erkannt wurde, sofern bekannt. |
Ereignis für Routenänderung (route_change_event)
Das Objekt erfasst Unterschiede in der Anzahl der Hops oder der Reihenfolge bekannter IP-Adressen zwischen aufeinanderfolgenden Traceroutes.
| Feld | Typ | Beschreibung |
|---|---|---|
previous_route_change_time |
timestamp | Der Zeitstempel des Traceroute, mit dem die vorherige Route zum ersten Mal erkannt wurde. |
protocol |
String | Das für den Traceroute verwendete Protokoll, z. B. TCP, UDP und ICMP. |
hop_count |
int32 | Die Gesamtzahl der Hops auf der Route. |
target_ip |
String | Die Ziel-IP-Adresse des Traceroute. |
route_changes |
Array von Objekten | Ein Array aller erkannten Änderungen. Jedes Objekt enthält einen route_change_type-String und ein details-Objekt. Details zu Routenänderungen |
Details zur Routenänderung
Das details-Objekt im route_changes-Array hängt von route_change_type ab:
incomplete_routeodercomplete_routeterminal_hop(Hop-Objekt): Der letzte Hop, der erfolgreich erreicht wurde (oder der letzte Hop, wenn der Vorgang abgeschlossen ist).terminal_network(Netzwerkobjekt): Die Netzwerkinformationen für den Terminal-Hop.
route_loopfirst_hop(Hop-Objekt): Der erste Hop in der erkannten Routenschleife.last_hop(Hop-Objekt): Der letzte Hop in der erkannten Routenschleife.loop_span(int32): Die Anzahl der Hops in der Schleife.
target_ip_changeprevious_target_ip(String): Die Ziel-IP-Adresse, die im vorherigen Traceroute beobachtet wurde.new_target_ip(String): Die aktuelle Ziel-IP-Adresse.
sequence_changelast_common_hop(Hop-Objekt): Der letzte gemeinsame Hop zwischen den vorherigen und aktuellen Traceroutes.previous_next_hop(Hop-Objekt): Das vorherige Next-Hop-Gerät in der Sequenz.new_next_hop(Hop-Objekt): Das neue Next-Hop-Gerät in der Sequenz.previous_hop_count(int32): Gesamtzahl der Hops im vorherigen Traceroute.hop_count(int32): Gesamtzahl der Hops im aktuellen Traceroute.
network_changeprevious_asns(Array vom Typ „int32“): Sequenz von ASN-Netzwerken für den Pfad.new_asns(Array vom Typ „int32“): Die neue Reihenfolge der ASN-Netzwerke für den Pfad.
isp_changeprevious_isp(Netzwerkobjekt): Der ISP, der im vorherigen Traceroute beobachtet wurde.new_isp(Netzwerkobjekt): Der aktuelle beobachtete ISP.
Häufig verwendete Unterobjekte
Hop- und Netzwerkobjekte werden für mehrere Felder zurückgegeben.
Hop
Hop-Objekte beschreiben einen bestimmten Netzwerk-Hop.
| Feld | Typ | Beschreibung |
|---|---|---|
hop_number |
int32 | Die Anzahl der Hops im Traceroute. |
ip_address |
String | Die IP-Adresse des Hops. |
hostname |
String | Der Hostname, der für die IP-Adresse des Hops aufgelöst wurde. |
Netzwerk
Ein Netzwerkobjekt beschreibt das Netzwerk, in dem eine Aktion ausgeführt wurde.
| Feld | Typ | Beschreibung |
|---|---|---|
asn |
int32 | Die autonome Systemnummer (Autonomous System Number, ASN) des Netzwerks. |
display_name |
String | Der Name des Netzwerks, z. B. der Name des Internetanbieters oder der Organisation. |
Häufige Artikelstrukturen
Das Feld „item“ im jsonPayload-Abschnitt der Alarm- und Ereignisprotokolle enthält Details zur zugehörigen Einheit. Die Struktur hängt vom Elementtyp ab.
NetworkPathItem
| Feld | Typ | Beschreibung |
|---|---|---|
destination |
String | Die Ziel-IP-Adresse oder der Hostname. |
destination_monitoring_point |
MonitoringPointItem | Details zum MonitoringPointItem des Ziels (nur für MonitoringPoint-zu-MonitoringPoint-Pfade). |
display_name |
String | Der benutzerdefinierte Anzeigename des Netzwerkpfads. |
monitoring_policy_display_name |
String | Der Anzeigename der Monitoringrichtlinie. |
monitoring_policy_id |
String | Die ID der Monitoringrichtlinie. |
network_protocol |
String | Das verwendete Netzwerkprotokoll, z. B. TCP, UDP oder ICMP. |
provider_tags |
Array von Objekten | In AppNeta für den Pfad definierte Tags. |
source_monitoring_point |
MonitoringPointItem | Details zum Quell-MonitoringPointItem. |
WebPathItem
| Feld | Typ | Beschreibung |
|---|---|---|
destination |
String | Die Ziel-URL. |
display_name |
String | Der benutzerdefinierte Anzeigename des Webpfads. |
monitoring_policy_display_name |
String | Der Anzeigename der Monitoringrichtlinie. |
monitoring_policy_id |
String | Die ID der Monitoringrichtlinie. |
provider_tags |
Array | Im Anbieter für den Pfad definierte Tags. |
source_monitoring_point |
Objekt | Details zum MonitoringPoint der Quelle. |
MonitoringPointItem
| Feld | Typ | Beschreibung |
|---|---|---|
display_name |
String | Der benutzerdefinierte Anzeigename des Monitoring Point. |
host |
Objekt | Details zum Host des Monitoring Point. |
id |
String | Die eindeutige ID des Monitoring-Punkts. |
provider_tags |
Array | Tags, die im Anbieter für den Monitoring Point definiert sind. |
MonitoringPointHost
| Feld | Typ | Beschreibung |
|---|---|---|
cloud_instance_id |
String | Die Instanz-ID des Cloud-Anbieters. |
cloud_project_id |
String | Die Google Cloud Projekt-ID. |
cloud_provider |
String | Cloud-Anbieter wie GCP, AWS oder AZURE. |
cloud_region |
String | Die Cloud-Region des Endpunkts, z. B. us-central1. |
cloud_virtual_network_ids |
String-Array | Für Nutzer sichtbare IDs der virtuellen Cloud-Netzwerke. |
cloud_zone |
String | Die Cloud-Zone des Endpunkts, z. B. us-central1-a. |
labels |
Karte | Benutzerdefinierte Labels, die auf der VM-Instanz konfiguriert sind. |
os |
String | Das Betriebssystem des Hosts des Monitoring-Punkts. |