Agen Operasional

Arsitektur

Agen Operasional membuat virtual machine dan menginstal Agen Operasional untuk berintegrasi dengan layanan Monitoring dan Logging. Fungsi ini menggunakan:

  • Compute Engine
  • Monitoring
  • Logging

Contoh menyiapkan satu virtual machine sederhana dan menghubungkannya untuk dilaporkan ke Logging.


Mulai

Klik link berikut untuk mendapatkan salinan kode sumber di Cloud Shell. Setelah ada, satu perintah akan menjalankan salinan aplikasi yang berfungsi di project Anda..

Buka di Cloud Shell

Lihat kode sumber di GitHub


Komponen Agen Operasional

Arsitektur Agen Operasional menggunakan beberapa produk. Berikut ini daftar komponen, beserta informasi selengkapnya tentang komponen, termasuk link ke video terkait, dokumentasi produk, dan panduan interaktif.
Video Dokumen Panduan
Compute Engine Compute Engine adalah teknologi Virtual Google Cloud. Dengan solusi ini, Anda dapat menjalankan berbagai konfigurasi VM agar sesuai dengan bentuk kebutuhan komputasi apa pun yang Anda miliki.
Cloud Monitoring Cloud Monitoring mengekspos visibilitas pada performa, ketersediaan, dan respons aplikasi serta infrastruktur Anda
Cloud Logging Cloud Logging menyediakan pengelolaan log secara real-time yang terkelola sepenuhnya dengan penyimpanan, penelusuran, analisis, dan pemberitahuan pada skala exabyte.

Skrip

Skrip penginstalan menggunakan file yang dapat dieksekusi yang ditulis di alat CLI Terraform dan go untuk mengambil project kosong dan menginstal aplikasi di dalamnya. Output harus berupa aplikasi yang berfungsi dan URL untuk alamat IP load balancing.

./main.tf

Aktifkan Layanan

Layanan Google Cloud dinonaktifkan dalam project secara default. Untuk menggunakan salah satu solusi di sini, kita harus mengaktifkan hal berikut:

  • Compute Engine — virtual machine dan jaringan
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
}

Membuat mesin virtual

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

Instal Agen Operasional

Agen Operasional adalah agen utama untuk mengumpulkan telemetri dari instance Compute Engine Anda. Ini akan menunjukkan cara menginstalnya, menggunakan 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"
        },
    ]
}

Kesimpulan

Setelah dijalankan, sekarang Anda akan memiliki VM yang telah dikonfigurasi dengan benar untuk mencatat peristiwa ke dalam log ke Google Cloud Logging. Selain itu, Anda harus memiliki semua kode untuk dimodifikasi atau memperluas solusi ini agar sesuai dengan lingkungan Anda.