Jika Anda menggunakan lisensi sendiri untuk sistem operasi seperti Windows Server, kewajiban kontrak mungkin mengharuskan Anda memantau dan melaporkan jumlah instance VM, server fisik, dan core CPU fisik yang menggunakan lisensi ini.
Artikel ini menjelaskan cara menggunakan alat open source License Tracker untuk memantau jumlah instance VM, server fisik, dan core CPU fisik yang Anda gunakan, serta cara memvisualisasikan hasilnya menggunakan Looker Studio.
Alat License Tracker berfungsi dengan menganalisis log audit Compute Engine untuk menentukan penempatan setiap instance VM. Penempatan menjelaskan periode waktu saat instance VM berjalan di server fisik tertentu. Setiap kali VM dimigrasikan dari satu server fisik ke server fisik lain akan menandai akhir dari satu penempatan dan memulai penempatan lainnya.
Sebagai contoh, bayangkan instance VM yang dimulai, dan beberapa bulan kemudian
dihentikan lagi. Pada titik tertentu selama runtime-nya, VM akan otomatis dimigrasikan
dari Server 1
ke Server 2
dan kemudian kembali ke Server 1
lagi. Histori ini
terkait dengan 3 penempatan:
Saat pertama kali dijalankan, alat License Tracker akan menganalisis penggunaan Compute Engine selama 90 hari terakhir dan menulis hasilnya ke BigQuery. Pada proses berikutnya, alat ini akan menganalisis delta antara proses terakhir dan hari ini, serta memperbarui set data BigQuery.
Alat License Tracker menggantikan fitur pelaporan penggunaan yang disediakan oleh Desktop IAP.
Biaya
Panduan ini menggunakan komponen Google Cloud yang dapat dikenakan biaya, termasuk:
Gunakan kalkulator harga untuk membuat perkiraan biaya berdasarkan penggunaan yang Anda proyeksikan.
Men-deploy alat License Tracker
Bagian ini menjelaskan cara menyiapkan Cloud Run dan Cloud Scheduler untuk menjalankan alat License Tracker secara otomatis satu kali sehari.
Diagram berikut menggambarkan solusi yang dijelaskan dalam artikel ini:
- Alat License Tracker di-deploy di Cloud Run dan dikonfigurasi untuk menganalisis log dari satu atau beberapa project.
- Sekali sehari, Cloud Scheduler memicu tugas Cloud Run, yang menyebabkan alat License Tracker memperbarui set data BigQuery.
- Dasbor Looker Studio memvisualisasikan data dari BigQuery dan menyediakannya bagi pengguna.
Buat project
Untuk menyiapkan Cloud Run dan Cloud Scheduler, buat project baru:
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery, Cloud Logging, Resource Manager, Cloud Build, Cloud Scheduler, and Cloud Run APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery, Cloud Logging, Resource Manager, Cloud Build, Cloud Scheduler, and Cloud Run APIs.
Men-deploy aplikasi
Sekarang Anda men-deploy alat License Tracker ke Cloud Run:
Di konsol Google Cloud, buka Cloud Shell dengan mengklik tombol Aktifkan Cloud Shell .
Tetapkan variabel lingkungan untuk memuat project ID Anda:
gcloud config set project PROJECT_ID
Ganti PROJECT_ID dengan ID project Anda.
Setel region Cloud Run yang akan di-deploy ke:
gcloud config set run/region REGION
Ganti REGION dengan region yang mendukung Cloud Run dan Cloud Scheduler.
Buat akun layanan untuk alat tersebut:
SERVICE_ACCOUNT=$(gcloud iam service-accounts create license-tracker \ --display-name "License Tracker" \ --format "value(email)")
Izinkan layanan membuat dan mengakses set data BigQuery serta memulai tugas Cloud Run di project yang sama:
gcloud projects add-iam-policy-binding $(gcloud config get-value core/project) \ --member "serviceAccount:$SERVICE_ACCOUNT" \ --role "roles/bigquery.admin" gcloud projects add-iam-policy-binding $(gcloud config get-value core/project) \ --member "serviceAccount:$SERVICE_ACCOUNT" \ --role "roles/run.invoker"
Izinkan Cloud Build menjalankan deployment Cloud Run dan mengelola tugas Cloud Scheduler:
PROJECT_NUMBER=$(gcloud projects describe $(gcloud config get-value core/project) --format='value(projectNumber)') \ gcloud iam service-accounts add-iam-policy-binding $SERVICE_ACCOUNT \ --member "serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com" \ --role "roles/iam.serviceAccountUser" gcloud projects add-iam-policy-binding $(gcloud config get-value core/project) \ --member "serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com" \ --role "roles/run.developer" gcloud projects add-iam-policy-binding $(gcloud config get-value core/project) \ --member "serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com" \ --role "roles/cloudscheduler.admin"
Clone repositori GitHub dan beralih ke cabang
latest
:git clone https://github.com/GoogleCloudPlatform/gce-license-tracker.git cd gce-license-tracker git checkout latest
Kirim build ke Cloud Build:
gcloud builds submit . --substitutions=_REGION=$(gcloud config get-value run/region)
Build ini men-deploy aplikasi License Tracker ke Cloud Run dan mengonfigurasi Cloud Scheduler untuk memicu tugas satu kali sehari.
Proses build memerlukan waktu sekitar 3 menit.
Memilih project untuk dianalisis
Alat License Tracker menganalisis semua project Google Cloud yang memenuhi semua kondisi berikut:
- Compute Engine API diaktifkan.
- Project ini memberi Compute Viewer (
roles/compute.viewer
) dan Logs Viewer (roles/logging.viewer
) akses ke akun layanan alat tersebut.
Untuk memasukkan proyek, folder, atau seluruh organisasi dalam analisis, lakukan hal berikut:
Project
SCOPE_ID=RESOURCE_PROJECT_ID SCOPE_TYPE=projects gcloud projects add-iam-policy-binding $SCOPE_ID \ --member "serviceAccount:$SERVICE_ACCOUNT" \ --role "roles/compute.viewer" \ --condition None gcloud projects add-iam-policy-binding $SCOPE_ID \ --member "serviceAccount:$SERVICE_ACCOUNT" \ --role "roles/logging.viewer" \ --condition None
Ganti RESOURCE_PROJECT_ID dengan ID project Google Cloud yang ingin Anda analisis dengan alat License Tracker.
Folder
SCOPE_ID=RESOURCE_FOLDER_ID SCOPE_TYPE=folders gcloud resource-manager folders add-iam-policy-binding $SCOPE_ID \ --member "serviceAccount:$SERVICE_ACCOUNT" \ --role "roles/compute.viewer" \ --condition None gcloud resource-manager folders add-iam-policy-binding $SCOPE_ID \ --member "serviceAccount:$SERVICE_ACCOUNT" \ --role "roles/logging.viewer" \ --condition None
Ganti RESOURCE_FOLDER_ID dengan ID folder yang berisi project yang ingin Anda analisis dengan alat License Tracker.
Organisasi
SCOPE_ID=ORGANIZATION_ID SCOPE_TYPE=organizations gcloud organizations add-iam-policy-binding $SCOPE_ID \ --member "serviceAccount:$SERVICE_ACCOUNT" \ --role "roles/compute.viewer" \ --condition None gcloud organizations add-iam-policy-binding $SCOPE_ID \ --member "serviceAccount:$SERVICE_ACCOUNT" \ --role "roles/logging.viewer" \ --condition None
Ganti ORGANIZATION_ID dengan ID organisasi Anda.
Memulai analisis awal
Sekarang Anda dapat memulai analisis awal:
Di konsol Google Cloud, buka Cloud Run > Tugas.
Pilih tugas license-tracker untuk membuka detail tugas.
Klik Jalankan.
Bergantung pada jumlah dan ukuran project yang Anda pilih, analisis awal mungkin memerlukan waktu beberapa jam.
Setelah tugas selesai, project Anda berisi set data BigQuery yang bernama
license_usage
.Atau, lihat log di Cloud Logging:
Membuat dasbor
Sekarang Anda membuat dasbor Looker Studio dengan membuat salinan dasbor contoh:
Salin sumber data dasbor:
Untuk setiap sumber data, lakukan hal berikut:
- Klik link di atas untuk membuka sumber data.
- Klik Buat salinan sumber data ini.
- Klik Salin sumber data.
- Jika Anda diminta untuk menghubungkan dasbor ke BigQuery, klik Beri otorisasi
- Atau, klik header dan ganti nama sumber data.
- Dalam daftar project penagihan, pilih project yang Anda gunakan untuk men-deploy alat License Tracker.
- Klik Hubungkan kembali.
- Di kotak dialog Terapkan perubahan koneksi, pilih Terapkan.
Salin dasbor:
Buka dasbor contoh.
Dasbor tidak terhubung ke sumber data sehingga tidak menampilkan data apa pun.
Klik … > Buat salinan
Dalam dialog Salin laporan ini, pilih salinan sumber data Anda:
Klik Salin laporan.
Dasbor sekarang menampilkan data dari set data BigQuery Anda.
Memberi pengguna lain akses ke dasbor
Sumber data dasbor dikonfigurasi untuk menggunakan kredensial pelihat untuk mengakses BigQuery. Untuk memberi pengguna lain akses ke dasbor, Anda harus:
- Membagikan dasbor dan beri pengguna izin untuk melihat laporan.
- Memberikan peran Pelihat Data BigQuery (
roles/bigquery.dataViewer
) dan Pengguna Tugas BigQuery (roles/bigquery.jobUser
) kepada pengguna tersebut. Anda dapat memberikan peran ini di tingkat set data atau project.
Menyesuaikan dasbor
Anda dapat menyesuaikan dasbor dengan menggunakan editor laporan Looker Studio untuk mengubah diagram yang sudah ada atau menambahkan diagram lain.
Semua diagram di dasbor contoh didasarkan pada tampilan placements
di
set data BigQuery. Tampilan ini berisi semua penempatan di semua project dan menggunakan skema berikut:
Kolom | Jenis data | Deskripsi |
---|---|---|
instance_id | INTEGER | ID instance |
instance_name | STRING | Nama instance |
instance_zone | STRING | ID zona instance |
instance_project_id | STRING | ID project instance |
tenancy | STRING | S jika berjalan di node tenant tunggal, F jika tidak |
node_type | STRING | Jenis node tenant tunggal |
node_project_id | STRING | ID project node; nilai ini mungkin berbeda dengan instance_project_id untuk node tenant tunggal yang digunakan bersama |
server_id | STRING | ID unik server fisik |
operating_system_family | STRING | WIN , LINUX , atau null jika tidak dikenali |
license | STRING | String lisensi yang digunakan oleh image |
license_type | STRING | BYOL , SPLA , atau null jika tidak dikenali |
machine_type | STRING | Jenis mesin instance |
memory_mb | INTEGER | Jumlah RAM (dalam MB) yang dialokasikan ke instance |
vcpu_count | INTEGER | Jumlah vCPU yang dialokasikan ke instance |
vcpu_min_allocated | INTEGER | Jumlah minimum vCPU yang dialokasikan ke instance; nilai ini mungkin berbeda dengan vcpu_count saat Anda
melakukan overcommit CPU pada VM tenant tunggal |
maintenance_policy | STRING | Kebijakan pemeliharaan untuk instance |
start_date | TIMESTAMP | Awal penempatan |
end_date | TIMESTAMP | Akhir penempatan |
Anda dapat menggunakan tampilan placement
saat menyesuaikan diagram yang sudah ada
atau menambahkan diagram sendiri ke dasbor.
Meng-upgrade alat License Tracker
Bagian ini menjelaskan cara mengupgrade deployment alat License Tracker yang sudah ada untuk menggunakan versi aplikasi yang lebih baru, atau untuk menggunakan konfigurasi yang berbeda.
Di konsol Google Cloud, buka Cloud Shell dengan mengklik tombol Aktifkan Cloud Shell .
Tetapkan variabel lingkungan untuk memuat project ID Anda:
gcloud config set project PROJECT_ID
Ganti PROJECT_ID dengan ID project yang berisi deployment Anda yang sudah ada.
Pilih region Cloud Run dari deployment Anda yang sudah ada:
gcloud config set run/region REGION
Clone repositori GitHub dan beralih ke cabang
latest
:git clone https://github.com/GoogleCloudPlatform/gce-license-tracker.git cd gce-license-tracker git checkout latest
Kirim build ke Cloud Build:
gcloud builds submit . --substitutions=_REGION=$(gcloud config get-value run/region)
Build ini memperbarui deployment Anda yang sudah ada dan memerlukan waktu sekitar 3 menit untuk diselesaikan.