Ops-Agent

+

Architektur

Der Ops-Agent erstellt eine virtuelle Maschine und installiert den Ops-Agent zur Einbindung in Monitoring- und Logging-Dienste. Sie verwendet:

  • Compute Engine
  • Monitoring
  • Logging

In diesem Beispiel wird eine einfache einzelne virtuelle Maschine eingerichtet und so konfiguriert, dass sie Berichte an Logging sendet.


Jetzt starten

Klicken Sie auf den folgenden Link, um eine Kopie des Quellcodes in Cloud Shell aufzurufen. Dort können Sie mit einem einzigen Befehl eine funktionierende Kopie der Anwendung in Ihrem Projekt erstellen.

In Cloud Shell öffnen

Quellcode auf GitHub ansehen


Ops-Agent-Komponenten

Die Ops-Agent-Architektur nutzt mehrere Produkte. Im Folgenden finden Sie eine Liste der Komponenten sowie weitere Informationen zu den Komponenten, einschließlich Links zu ähnlichen Videos, Produktdokumentationen und interaktiven Schritt-für-Schritt-Anleitungen.
Video Docs Schritt-für-Schritt-Anleitungen
Compute Engine Die Compute Engine ist die virtuelle Technologie von Google Cloud. Damit können Sie viele verschiedene VM-Konfigurationen erstellen, die Ihren Rechenanforderungen entsprechen.
Cloud Monitoring Cloud Monitoring bietet Einblicke in die Leistung, Verfügbarkeit und Integrität Ihrer Anwendungen und Infrastruktur.
Cloud Logging Cloud Logging bietet eine vollständig verwaltete Echtzeit-Logverwaltung mit Speicherung, Suche, Analyse und Benachrichtigungen im Exabyte-Bereich.

Skripts

Das Installationsskript verwendet eine in go geschriebene ausführbare Datei und Terraform-Befehlszeilentools, um ein leeres Projekt zu erstellen und die Anwendung darin zu installieren. Die Ausgabe sollte eine funktionierende Anwendung und eine URL für die Load Balancing-IP-Adresse sein.

./main.tf

Dienste aktivieren

Google Cloud-Dienste sind in einem Projekt standardmäßig deaktiviert. Damit wir die folgenden Lösungen verwenden können, müssen wir Folgendes aktivieren:

  • Compute Engine – virtuelle Maschinen und Netzwerke
variable "gcp_service_list" {
    description = "The list of apis necessary for the project"
    type        = list(string)
    default = [
        "compute.googleapis.com",
    ]
}

resource "google_project_service" "all" {
  for_each                   = toset(var.gcp_service_list)
  project                    = var.project_number
  service                    = each.key
  disable_dependent_services = false
  disable_on_destroy         = false
}

Virtuelle Maschine erstellen

Erstellt eine VM.

resource "google_compute_instance" "default" {
  project      = var.project_id
  name         = "${var.basename}-instance"
  machine_type = "f1-micro"
  zone         = var.zone

  boot_disk {
    initialize_params {
      image = "centos-cloud/centos-8-v20210817"
    }
  }
  labels = {
    env        = "prod"
    app        = "myproduct"
    created_by = "terraform"
  }

  network_interface {
    network = "default"

    access_config {
      // Include this section to give the VM an external ip address
    }
  }
  service_account {
    // Google recommends custom service accounts that have cloud-platform scope and permissions granted via IAM Roles.
    // This non production example uses the default compute service account.
    email  = local.sacompute
    scopes = ["cloud-platform"]
  }
}

Ops-Agent installieren

Der Ops-Agent ist der primäre Agent zum Erfassen von Telemetriedaten aus Ihren Compute Engine-Instanzen. Hier erfahren Sie, wie Sie es mit Terraform installieren.

module "agent_policy" {
    source  = "terraform-google-modules/cloud-operations/google//modules/agent-policy"
    version = "~> 0.1.0"
    
    project_id = var.project_id
    policy_id  = "ops-agents-example-policy"
    agent_rules = [
        {
        type               = "ops-agent"
        version            = "current-major"
        package_state      = "installed"
        enable_autoupgrade = true
        },
    ]
    group_labels = [
        {
        env        = "prod"
        app        = "myproduct"
        created_by = "terraform"
        }
    ]
    
    os_types = [
        {
        short_name = "centos"
        version    = "8"
        },
    ]
}

Fazit

Nach der Ausführung sollten Sie nun eine VM haben, die so konfiguriert ist, dass Ereignisse in Google Cloud Logging protokolliert werden. Außerdem sollten Sie den gesamten Code haben, um diese Lösung an Ihre Umgebung anzupassen oder zu erweitern.