Agente de operações

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Arquitetura

O agente de operações cria uma máquina virtual e instala o agente de operações para se integrar aos serviços de monitoramento e registro. Ela usa o seguinte:

  • Compute Engine
  • Monitoramento
  • Geração de registros

O exemplo configura uma única máquina virtual simples e a une para fazer o relatório no Logging.


Começar

Clique no link a seguir para copiar o código-fonte no Cloud Shell. Depois disso, um único comando ativará uma cópia de trabalho do aplicativo no projeto.

Abrir no Cloud Shell

Veja o código-fonte no GitHub


Componentes do agente de operações

A arquitetura do agente de operações usa vários produtos. Veja a seguir os componentes, além de mais informações sobre eles, incluindo links para vídeos relacionados, documentação do produto e tutoriais interativos.
Vídeo Documentos Instruções
Compute Engine O Compute Engine é a tecnologia virtual do Google Cloud. É possível ativar várias configurações de VM diferentes para atender às necessidades de computação.
Cloud Monitoring O Cloud Monitoring mostra o desempenho, a disponibilidade e a integridade dos aplicativos e da infraestrutura
Cloud Logging O Cloud Logging fornece gerenciamento de registros em tempo real totalmente gerenciado com armazenamento, pesquisa, análise e alertas em escala de exabytes.

Scripts

O script de instalação usa um executável escrito em go e as ferramentas da CLI do Terraform para pegar um projeto vazio e instalar o aplicativo nele. A saída precisa ser um aplicativo de trabalho e um URL para o endereço IP do balanceamento de carga.

./main.tf

Ativar serviços

Por padrão, os serviços do Google Cloud estão desativados em um projeto. Para usar qualquer uma das soluções aqui, precisamos ativar as seguintes opções:

  • Compute Engine: máquinas virtuais e rede
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
}

Criar uma máquina virtual

Cria uma 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"]
  }
}

Instalar agente de operações

O agente de operações é o principal agente para coletar telemetria das instâncias do Compute Engine. Isso vai mostrar como instalá-lo usando o 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"
        },
    ]
}

Conclusão

Depois de executada, você terá uma VM configurada corretamente para registrar eventos no Google Cloud Logging. Além disso, é necessário ter todo o código para modificar ou estender essa solução para se adequar ao seu ambiente.