Agent Ops

+

Architecture

L'agent Ops crée une machine virtuelle et installe l'agent Ops pour l'intégrer aux services de surveillance et de journalisation. Elle utilise:

  • Compute Engine
  • Surveillance
  • Journalisation

L'exemple configure une seule machine virtuelle simple et la connecte pour générer des rapports dans Logging.


Premiers pas

Cliquez sur le lien suivant pour obtenir une copie du code source dans Cloud Shell. Une seule commande permet de démarrer une copie fonctionnelle de l'application dans votre projet.

Ouvrir dans Cloud Shell

Afficher le code source sur GitHub


Composants de l'agent Ops

L'architecture de l'agent Ops utilise plusieurs produits. Vous trouverez ci-dessous la liste des composants, ainsi que des informations supplémentaires à leur sujet, y compris des liens vers des vidéos, des documentations produit et des tutoriels interactifs associés.
Vidéo Docs Tutoriels
Compute Engine Compute Engine est la technologie virtuelle de Google Cloud. Vous pouvez ainsi créer de nombreuses configurations de VM différentes pour répondre à vos besoins de calcul.
Cloud Monitoring Cloud Monitoring offre une visibilité sur les performances, la disponibilité et l'état de vos applications et de votre infrastructure
Cloud Logging Cloud Logging offre une gestion des journaux en temps réel entièrement gérée avec stockage, recherche, analyse et alertes à l'échelle de l'exaoctet.

Scripts

Le script d'installation utilise un exécutable écrit en go et des outils de la CLI Terraform pour prendre un projet vide et y installer l'application. La sortie doit être une application fonctionnelle et une URL pour l'adresse IP d'équilibrage de charge.

./main.tf

Activer les services

Les services Google Cloud sont désactivés par défaut dans un projet. Pour utiliser l'une des solutions ci-dessous, nous devons activer les éléments suivants:

  • Compute Engine : machines virtuelles et mise en réseau
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
}

Créer une machine virtuelle

Crée une 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"]
  }
}

Installer l'agent Ops

L'agent Ops est l'agent principal pour la collecte de la télémétrie à partir de vos instances Compute Engine. Vous verrez comment l'installer à l'aide de 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"
        },
    ]
}

Conclusion

Une fois l'exécution terminée, vous devriez disposer d'une VM correctement configurée pour consigner les événements dans Google Cloud Logging. Vous devez également disposer de tout le code nécessaire pour modifier ou étendre cette solution en fonction de votre environnement.