Agent Ops

Architecture

L'agent Ops crée une machine virtuelle et installe l'agent Ops pour l'intégration aux services Monitoring et Logging. Elle utilise:

  • Compute Engine
  • Surveillance
  • Journalisation

L'exemple configure une machine virtuelle simple et la relie à Logging pour générer des rapports avec Logging.


Commencer

Cliquez sur le lien suivant pour copier le code source dans Cloud Shell. Une seule commande permet alors de lancer une copie de travail 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 fait appel à plusieurs produits. Vous trouverez ci-dessous la liste des composants, ainsi que des informations supplémentaires et des liens vers des vidéos associées, de la documentation produit et des tutoriels interactifs.
Vidéo Docs Tutoriels
Compute Engine Compute Engine est la technologie virtuelle de Google Cloud. Vous pouvez ainsi lancer de nombreuses configurations de VM différentes pour répondre à vos besoins informatiques.
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 des fonctionnalités de stockage, de recherche, d'analyse et d'alerte à l'échelle de l'exaoctet.

Scripts

Le script d'installation utilise un exécutable écrit dans go et les outils de la CLI Terraform pour prendre un projet vide et y installer l'application. Le résultat doit correspondre à une application fonctionnelle et à une URL pour l'adresse IP de l'équilibrage de charge.

./main.tf

Activer les services

Les services Google Cloud sont désactivés par défaut dans les projets. Pour utiliser l'une de ces solutions, 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 allez découvrir comment l'installer avec 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 exécuté, vous devez maintenant disposer d'une VM correctement configurée pour enregistrer des événements dans Google Cloud Logging. De plus, vous devez disposer de tout le code nécessaire pour modifier ou étendre cette solution afin de l'adapter à votre environnement.