IBM Cloud Docs
Routing-Plattform-Metriken über Konten hinweg

Routing-Plattform-Metriken über Konten hinweg

Verwenden Sie IBM Cloud® Metrics Routing, um die Weiterleitung von Plattformmetriken von mehreren Quellkonten an ein Zielkonto zu konfigurieren.

Sie können Ihre Quellkonten so konfigurieren, dass alle oder eine Teilmenge der Plattformmetriken an das Zielkonto weitergeleitet werden. Quellkonten sind Ihre Konten, die Cloud-Ressourcen enthalten, die unabhängig vom Standort der Cloud-Ressource Plattformmetriken erzeugen. Zielkonto bezieht sich auf Ihr Konto, das die Monitoring Instanz enthält, in der die Plattformmetriken gespeichert werden sollen.

Diese Konfiguration implementiert ein Spoke-Hub-Verteilungssystem, bei dem das Quellkonto als Spoke und das Zielkonto als Hub fungiert. Mehrere Spoke-Konten senden Plattformmetriken an ein zentrales Hub-Konto, was die Beobachtbarkeit über mehrere Spoke-Konten hinweg vereinfacht.

In diesem Beispiel wird Terraform verwendet. Es können jedoch auch andere Konfigurationsmethoden verwendet werden.

Ein Diagramm, das ein Beispiel für eine IBM Cloud Metrics Routing kontenübergreifende Konfiguration zeigt.
IBM Cloud Metrics Routing kontenübergreifende Konfiguration

Voraussetzungen

  • Sie müssen das Hub-Konto, das die Plattformmetriken erhalten soll, und die Spoke-Konten, die die Metriken an das Hub-Konto senden sollen, identifizieren.

  • Sie müssen über die Rolle eines Administrators mit der Berechtigung verfügen, IBM Cloud Metrics Routing in den Quellkonten zu verwalten. Siehe Zugriff mit IAM verwalten und Zugriff auf IBM Cloud Metrics Routing zuweisen.

Schritt 1 - Erstellen der Hub-Account-Instanz

Erstellen Sie die Instanz IBM Cloud® Monitoring, um einen betrieblichen Einblick in die Leistung und den Zustand der Anwendungen, Dienste und Plattformen zu erhalten, die auf Ihren Spoke-Konten laufen.

# NEW File: hub/main.tf

terraform {
  required_version = ">= 0.13"
  required_providers {
    ibm = {
      source  = "ibm-cloud/ibm"
      version = "~>1.81.0"
    }
  }
}

data "ibm_resource_group" "group" {
  name = "Default"
}

resource "ibm_resource_instance" "platform_monitoring_hub" {
  name              = "platform-monitoring-hub"
  service           = "sysdig-monitor"
  plan              = "graduated-tier"
  location          = "ca-tor"
  resource_group_id = data.ibm_resource_group.group.id

  parameters = {
    default_receiver = false
  }
}

In diesem Schritt wird eine Instanz von IBM Cloud® Monitoring erstellt. Die Instanz erhält keine Plattformmetriken, bis die Spoke-Konten so konfiguriert sind, dass sie ihre Plattformprotokolle an die Instanz senden.

Schritt 2 - Erstellen von Hub-Autorisierungsrichtlinien

Erstellen Sie einen Cloud Identity and Access Management (IAM)-Dienst, um die Autorisierungsrichtlinie im Hub-Konto für jedes Ihrer Spoke-Konten zu bedienen. In diesem Beispiel gibt es zwei Speichenkonten.

# FILE: hub/main.tf

# Previous steps...

locals {
  source_account_a = "<INPUT_SPOKE_A_ACCOUNT_ID>"
  source_account_b = "<INPUT_SPOKE_B_ACCOUNT_ID>"
}

resource "ibm_iam_authorization_policy" "hub_policy_source_a" {
  source_service_name         = "metrics-router"
  source_service_account      = local.source_account_a
  target_service_name         = "sysdig-monitor"
  target_resource_instance_id = ibm_resource_instance.platform_monitoring_hub.id
  roles                       = ["Supertenant Metrics Publisher"]
  description                 = "Authorize spoke A to hub"
}

resource "ibm_iam_authorization_policy" "hub_policy_source_b" {
  source_service_name         = "metrics-router"
  source_service_account      = local.source_account_b
  target_service_name         = "sysdig-monitor"
  target_resource_instance_id = ibm_resource_instance.platform_monitoring_hub.id
  roles                       = ["Supertenant Metrics Publisher"]
  description                 = "Authorize spoke B to hub"
}

Dieser Schritt stellt sicher, dass IBM Cloud® Metrics Routing berechtigt ist, die Plattformmetriken der Konten Spoke A und B an das Hub-Konto weiterzuleiten.

Schritt 3 - Speichenziele erstellen

Nachdem das Hub-Konto nun vollständig konfiguriert ist, müssen Sie IBM Cloud Metrics Routing Ziele für jedes Spoke-Konto erstellen, wobei das Ziel die Instanz IBM Cloud® Monitoring des Hub-Kontos ist. In diesem Beispiel gibt es nur zwei Spoke-Konten, aber es gibt keine Beschränkung für die Anzahl der Spoke-Konten, die auf ein einzelnes Hub-Konto ausgerichtet werden können.

Konten müssen die primäre Metadatenregion festlegen, bevor sie Ziele oder Routen erstellen. Siehe Konfigurieren der Kontoeinstellungen.

# NEW FILE: spoke_a/main.tf

resource "ibm_metrics_router_settings" "metrics_router_settings" {
  primary_metadata_region = "<INPUT_METRICS_ROUTING_REGION>"
}

resource "ibm_metrics_router_target" "metrics_router_target" {
  destination_crn = "<INPUT_HUB_MONITORING_CRN>"
  name            = "spoke-a-target"
}
# NEW FILE: spoke_b/main.tf

resource "ibm_metrics_router_settings" "metrics_router_settings" {
  primary_metadata_region = "<INPUT_METRICS_ROUTING_REGION>"
}

resource "ibm_metrics_router_target" "metrics_router_target" {
  destination_crn = "<INPUT_HUB_MONITORING_CRN>"
  name            = "spoke-b-target"
}

In diesem Schritt werden IBM Cloud® Metrics Routing Ziele erstellt, die auf die Hub-Instanz IBM Cloud® Monitoring verweisen; das Routing ist noch nicht aktiviert.

Schritt 4 - Erstellen von Speichenrouten

Erstellen Sie IBM Cloud Metrics Routing Routen für jedes Spoke-Konto. Sie können alle Plattformmetriken an den Hub weiterleiten oder eine Teilmenge der Plattformmetriken an den Hub. In diesem Beispiel leitet Spoke A alle Plattformmetriken an den Hub weiter, während Spoke B Plattformmetriken von bestimmten Diensten und Standorten an den Hub weiterleitet und den Rest explizit verwirft.

Siehe IBM Cloud Dienste, die Metriken erzeugen, die über IBM Cloud Metrics Routing verwaltet werden.

# FILE: spoke_a/main.tf

# Previous steps...

resource "ibm_metrics_router_route" "metrics_router_route" {
  lifecycle {
    create_before_destroy = true
  }
  name = "spoke-a-route"

  # Route all platform metrics to the hub.
  rules {
    action = "send"
    targets {
      id = ibm_metrics_router_target.metrics_router_target.id
    }
  }
}
# FILE: spoke_b/main.tf

# Previous steps...

resource "ibm_metrics_router_route" "metrics_router_route" {
  lifecycle {
    create_before_destroy = true
  }
  name = "spoke-b-route"

  # Route platform metrics for a few services, regarldess of location, to the hub.
  rules {
    action = "send"
    targets {
      id = ibm_metrics_router_target.metrics_router_target.id
    }
    inclusion_filters {
      operand  = "service_name"
      operator = "in"
      values   = ["codeengine", "is", "metrics-router"]
    }
  }

  # Route platform metrics for one service and multiple locations to the hub.
  rules {
    action = "send"
    targets {
      id = ibm_metrics_router_target.metrics_router_target.id
    }
    inclusion_filters {
      operand  = "service_name"
      operator = "is"
      values   = ["atracker"]
    }
    inclusion_filters {
      operand  = "service_name"
      operator = "in"
      values   = ["ca-mon", "ca-tor"]
    }
  }

  # Drop and discard any other platform metric, hub receives nothing.
  rules {
    action = "drop"
  }
}

In diesem Schritt werden die IBM Cloud® Metrics Routing-Routen erstellt; die Plattformmetriken werden an die Hub-Instanz IBM Cloud® Monitoring geleitet.

Schritt 5 - Validierung der Plattformmetriken

Überprüfen Sie, ob die Hub- und Spoke-Konten korrekt konfiguriert sind.

  1. Starten Sie die Benutzeroberfläche IBM Cloud Monitoring für die Hub-Instanz.
  2. Suchen Sie nach Dashboard-Bibliothek > IBM Dashboard-Vorlagen aus den entsprechenden Cloud-Diensten.
  3. Verwenden Sie ibm_scope label, um Warnungen und Dashboards nach Speichenkonto zu segmentieren.