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.
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.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.