IBM Cloud Docs
Routing-Regeln definieren

Routing-Regeln definieren

Zum Definieren einer Routing-Regel müssen Sie ein oder mehrere Ziele als Ziele für Metriken angeben. Sie können auch einen oder mehrere Einschlussfilter definieren, die die Bedingungen für die Weiterleitung dieser Metriken an diese Ziele definieren.

Für jede Route, die Sie im Konto definieren, können Sie bis zu zehn Regeln konfigurieren. Die Regeln geben an, welche Metriken in einer Region weitergeleitet werden und wohin sie weitergeleitet werden. Weitere Informationen finden Sie unter Funktionsweise von Routen in Ihrem Account verstehen.

Eine Regel besteht aus 1 Aktion, 1 oder mehr Zielen und 0 oder mehr Einschlussfiltern.

Ziele

Ziele definieren die Liste der Ziel-IDs, an die die Metriken weitergeleitet werden.

  • Sie können bis zu drei Ziel-IDs pro Regel angeben.

  • Sie können Ziel-IDs für Ressourcen definieren, die in derselben Region verfügbar sind, in der Sie die Route konfigurieren, in einer anderen Region und in einem anderen Konto.

Sie können beispielsweise wie folgt eine Liste mit Zielen definieren:

"targets": [{"id":"11111111-1111-1111-1111-111111111111"},{"id":"22222222-2222-2222-2222-222222222222"}]

Ziele müssen IBM Cloud Monitoring-Instanzen sein.

Aktion

Die Aktion definiert, ob IBM Cloud® Metrics Routing Metriken für die Route ein-oder ausschließt. Es werden zwei Aktionen unterstützt: send und drop. Erfolgt keine Angabe, werden die Metriken standardmäßig gesendet.

send
Metriken werden basierend auf der Routing-Regel auf der definierten Route gesendet.
drop
Metriken werden basierend auf der Routing-Regel ausgeschlossen, wenn Metriken auf der definierten Route gesendet werden.

Einschlussfilter

Einschlussfilter definieren die Bedingungen, die verwendet werden, um zu bestimmen, welche Metriken an die in der Regel angegebenen Ziele weitergeleitet werden sollen.

Um alle Metriken weiterzuleiten, schließen Sie die Definition inclusion_filters aus, wenn Sie eine Route konfigurieren.

Einschlussfilter setzen sich aus operand, operator und value zusammen:

operand

Operand ist der Name der Eigenschaft im Ziel, die zum Filtern von Daten verwendet wird. Die folgenden Operanden werden unterstützt: location, service_name, service_instance, resource_type und resource. Der Wert wird aus dem Ziel-CRN extrahiert.

operator

Zwei Operatoren werden unterstützt: in und is.

in

Der Wert der Operandeneigenschaft wird mit einer Liste von Werten verglichen.

Sie können bis zu 20 Werte definieren.

is

Der Wert der Operandeneigenschaft wird mit einem einzelnen Wert verglichen.

Bei Verwendung von is kann nur 1 Wert angegeben werden.

value

Eine Zeichenfolge oder ein Array von Zeichenfolgen, die mit der Eigenschaft operand verglichen werden soll, um zu bestimmen, ob die Metrik weitergeleitet wird oder nicht. Wenn is operator verwendet wird, muss value eine einzelne Zeichenfolge enthalten. Wenn in operator verwendet wird, kann value mehrere Zeichenfolgen in einem Array enthalten.

Die gültigen Werte hängen von der operand ab.

location
Beliebige Position, an der IBM Cloud Metrics Routing ist verfügbar.
service_name
Der CRN-Servicename eines [IBM Cloud-Service, der Metriken generiert, die überIBM Cloud Metrics Routingverwaltet werden.
service_instance, resource_type und resource
Werte, die für einen [IBM Cloud-Service geeignet sind, der Metriken generiert, die überIBM Cloud Metrics Routing

Beachten Sie diese Einschränkungen beim Konfigurieren von Einschlussfiltern.

  • Sie können bis zu 7 Einschlussfilter für jede Regel konfigurieren.

  • Sie können bis zu 20 Werte für inclusion_filter.values konfigurieren.

  • Jeder für inclusion_filter.values konfigurierte Wert kann maximal 100 Zeichen umfassen.

IAM-Zugriff

Benutzer müssen über die entsprechenden IAM-Rollen verfügen, um mit Routing-Regeln arbeiten zu können. Informationen zu IAM-Rollen finden Sie unter IAM-Zugriff verwalten.

Definition von Routing-Regeln mit Hilfe der Benutzeroberfläche

Sie können Aktions- und Einschlussfilter-Routingregeln in der Benutzeroberfläche konfigurieren. Weitere Informationen finden Sie unter Verwaltung von Routen.

Routing-Regeln über die Befehlszeilenschnittstelle definieren

Regeln für Routen und Einschlussfilter werden im JSON-Format definiert. Regeln werden wie folgt definiert:

  • Durch die Verwendung der --rules-Optionsinformationen werden JSON-Daten direkt im Befehl übergeben.
  • Bei Verwendung der Option --files werden Informationen als JSON-Datei übergeben.

Beispiel, das die Option --rules verwendet

Im folgenden Beispiel werden Regeln direkt in der Option --rules angegeben. In diesem Beispiel werden alle Metriken von us-east an 11111111-1111-1111-1111-1111111111111 weitergeleitet. Alle Metriken aus appconnect, cloudant und containers-kupernetes werden an 22222222-2222-2222-2222-222222222222 und 33333333-3333-3333-3333-3333333333333 weitergeleitet.

[{"action": "send", "targets":[{"id":"11111111-1111-1111-1111-1111111111111"}], "inclusion_filters":[{"operand": "location","operator": "is","values": ["us-east"]}]},{"targets":[{"id":"22222222-2222-2222-2222-222222222222"},{"id":"33333333-3333-3333-3333-3333333333333"}], "inclusion_filters":[{"operand": "service_name","operator": "in","values": ["appconnect","cloudant","containers-kubernetes"]}]}]'

Beispiel, das die Option --file verwendet

Im folgenden Beispiel werden Regeln angegeben, indem eine JSON-Datei mit dem Namen rules_def.json in der Option --file übergeben wird:

--file rules_def.json

Die Datei rules_def.json enthält:

[
  {
    "action":"send",
    "targets": [
      {
        "id":"11111111-1111-1111-1111-111111111111"
      },
      {
        "id":"22222222-2222-2222-2222-222222222222"
      }
    ],
    "inclusion_filters": [
      {
          "operand": "service_name",
          "operator": "in",
          "values": [
            "appconnect",
            "cloudant",
            "containers-kubernetes"
          ]
        },
        {
          "operand": "location",
          "operator": "in",
          "values": [
            "us-south",
            "eu-de"
          ]
        }
    ]
  }
]

In diesem Beispiel werden nur Metriken aus appconnect, cloudant und containers-kubernetes aus den Regionen us-south und eu-de an die Ziele 11111111-1111-1111-1111-111111111111 und 22222222-2222-2222-2222-222222222222 weitergeleitet.

Routing-Regeln mithilfe der API definieren

Ziele und Einschlussfilter werden in API-Aufrufen mit rules definiert. Die rules sind in einer JSON-Struktur definiert.

Das folgende Beispiel erstellt eine Route mit dem Namen my-route und sendet Metriken von codeengine und container-registry in der us-east-Region an die Ziele 11111111-1111-1111-1111-111111111111 und 22222222-2222-2222-2222-222222222222.

curl -X POST https://private.<REGION>.metrics-router.cloud.ibm.com/api/v3/routes -H "Authorization: Bearer <IAM_TOKEN>" -H 'content-type: application/json' -d '{
    "name": "my-route",
    "rules": [
      {
        "action":"send",
        "targets": [{"id":"11111111-1111-1111-1111-111111111111"}, {"id":"22222222-2222-2222-2222-222222222222"}],
        "inclusion_filters": [
          {
            "operand": "location",
            "operator": "is",
            "values": ["us-east"]
          },
          {
            "operand": "service_name",
            "operator": "in",
            "values": ["codeengine","container-registry"]
          }
        ]
      }
    ]
  }'

Weitere Informationen finden Sie in der API-Referenz.