agente operativo

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Architettura

L'agente operativo crea una macchina virtuale e lo installa per l'integrazione con i servizi di monitoraggio e Logging. Utilizza:

  • Compute Engine
  • Monitoraggio
  • Logging

L'esempio configura una singola macchina virtuale e la collega per fare riferimento al logging.


Inizia

Fai clic sul seguente link che rimanda a una copia del codice sorgente in Cloud Shell. Una volta eseguito l'accesso, un singolo comando genererà una copia funzionante dell'applicazione nel tuo progetto.

Apri in Cloud Shell

Visualizza il codice sorgente su GitHub


Componenti dell'agente operativo

L'architettura dell'agente operativo utilizza diversi prodotti. Di seguito sono elencati i componenti, insieme a ulteriori informazioni sui componenti, inclusi i link ai video correlati, la documentazione del prodotto e le procedure dettagliate interattive.
Video Documenti Procedure dettagliate
Compute Engine Compute Engine è la tecnologia virtuale di Google Cloud. Con questa funzionalità puoi avviare molte configurazioni diverse di VM per adattarle alla forma delle tue esigenze di computing.
Cloud Monitoring Cloud Monitoring offre maggiore visibilità su prestazioni, disponibilità e integrità delle applicazioni e dell'infrastruttura
Cloud Logging Cloud Logging offre una gestione dei log in tempo reale completamente gestita con spazio di archiviazione, ricerca, analisi e avvisi su scala exabyte.

Script

Lo script di installazione utilizza un file eseguibile scritto in strumenti go dell'interfaccia a riga di comando di Terraform e Terraform per eseguire un progetto vuoto e installare l'applicazione al suo interno. L'output dovrebbe essere un'applicazione funzionante e un URL per l'indirizzo IP di bilanciamento del carico.

./main.tf

Attiva i servizi

I servizi Google Cloud sono disabilitati per impostazione predefinita in un progetto. Per poter utilizzare una qualsiasi delle soluzioni qui, dobbiamo attivare quanto segue:

  • Compute Engine: macchine virtuali e networking
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
}

Creare una macchina virtuale

Crea una 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"]
  }
}

Installa agente operativo

L'agente operativo è l'agente principale per la raccolta dei dati di telemetria dalle istanze Compute Engine. Questo ti mostrerà come installarlo utilizzando terraform.

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"
        },
    ]
}

Conclusione

Una volta eseguita, dovresti avere una VM configurata correttamente per la registrazione degli eventi in Google Cloud Logging. Inoltre, dovresti avere tutto il codice per modificare o estendere questa soluzione in base all'ambiente.