Erfassen Sie eine benutzerdefinierte Metrik für ein benutzerdefiniertes Gerät

Mit benutzerdefinierten Metriken können Sie angeben, welche Metrikdaten das ExtraHop-System aus Ihrem Netzwerk sammelt. Nachdem Sie eine benutzerdefinierte Metrik mit einem Auslöser erstellt haben, weisen Sie den Auslöser Ihren Geräten zu. Dieser Vorgang ist für Geräte, die vom ExtraHop-System erkannt werden, recht einfach, benutzerdefinierte Geräte erfordern jedoch eine zusätzliche Verarbeitung.

Wenn Sie über eine benutzerdefinierte Metrik verfügen, die Sie sowohl für erkannte als auch für benutzerdefinierte Geräte erfassen möchten, muss Ihr Auslöser Anweisungen zum Umgang mit den verschiedenen Gerätetypen enthalten.

Wenn ein Auslöser auf einem erkannten Gerät ausgeführt wird, können Sie Messwerte über den Flow.<role>.device Objekt. Wenn jedoch ein Auslöser auf einem benutzerdefinierten Gerät ausgeführt wird, müssen Sie Metriken über den Flow.<role>.customDevices Reihe. Beide Elemente müssen in jedem Auslöser sein, der benutzerdefinierten und erkannten Geräten zugewiesen ist.

Im folgenden Verfahren zeigen wir Ihnen, wie Sie einen Beispiel-Trigger ändern, der eine benutzerdefinierte Metrik für HTTP 404-Fehler erfasst. Der ursprüngliche Auslöser wurde nur für erkannte Geräte geschrieben, aber wir zeigen Ihnen, wie Sie Parameter hinzufügen, um die Metrik auch für benutzerdefinierte Geräte zu sammeln.

Before you begin

  1. Loggen Sie sich in das ExtraHop-System ein über https://<extrahop-hostname-or-IP-address>.
  2. Klicken Sie auf das Symbol Systemeinstellungen und dann klicken Auslöser.
  3. Klicken Sie auf den Namen des Auslöser, der die benutzerdefinierte Metrik erfasst.
  4. Klicken Sie auf Herausgeber Registerkarte.
  5. Ändern Sie das Trigger-Skript, um die benutzerdefinierte Metrik für benutzerdefinierte Geräte zu erfassen.
    In diesem Beispiel ändern wir den folgenden Triggercode, der eine benutzerdefinierte Metrik für HTTP 404-Fehler auf Webservern erfasst, die vom ExtraHop-System entdeckt wurden:
    if (HTTP.statusCode === 404){    
        Flow.server.device.metricAddDetailCount(
        "404UriAndReferrer",
        "404:" + HTTP.uri + " | REFERRER:" + HTTP.referer,
        1);
    }
    1. Fügen Sie zunächst eine Anweisung hinzu, die den Flow.server.device Objekt zu einer Variablen:
      let server = Flow.server.device;
    2. Fügen Sie eine For-Schleife hinzu, die auf jedes benutzerdefinierte Gerät zugreift, das im Fluss als Server fungiert:
      for (i = 0; i < Flow.server.customDevices.length; i++){
      
      }
    3. Fügen Sie innerhalb der for-Schleife eine if-Anweisung hinzu, die das überprüft hasTrigger Eigenschaft jedes benutzerdefinierten Geräts, um festzustellen, ob der Auslöser auf dem Gerät ausgeführt wird:
      if (Flow.server.customDevices[i]['hasTrigger']){
      
      }
    4. Fügen Sie innerhalb der if-Anweisung eine Anweisung hinzu, die die Servervariable dem Gerät neu zuweist, und fügen Sie eine weitere Anweisung hinzu, um die for-Schleife zu unterbrechen:
      server = Flow.server.customDevices[i];
      break;
    5. Fügen Sie abschließend außerhalb der For-Schleife einen Aufruf zum metricAddDetailCount Methode zum Hinzufügen der benutzerdefinierten Metrik zum Gerät:
      server.metricAddDetailCount(
          "404UriAndReferrer",
          "404:" + HTTP.uri + " | REFERRER:" + HTTP.referer,
          1);
    Da die Servervariable nur dann neu zugewiesen wird, wenn der Auslöser auf einem benutzerdefinierten Gerät ausgeführt wird, funktioniert der Code sowohl für erkannte als auch für benutzerdefinierte Geräte. Der vollständige Code für dieses Beispiel ist unten dargestellt:
    if (HTTP.statusCode === 404){
        let server = Flow.server.device;
        for (i = 0; i < Flow.server.customDevices.length; i++){
            if (Flow.server.customDevices[i]['hasTrigger']){
                server = Flow.server.customDevices[i]; 
                break;
            }
        }
        server.metricAddDetailCount(
            "404UriAndReferrer",
            "404:" + HTTP.uri + " | REFERRER:" + HTTP.referer,
            1);
    }
  6. Weisen Sie den Auslöser dem benutzerdefinierten Gerät zu.
Last modified 2024-08-07