Terraform adalah alat open source yang memungkinkan Anda melihat pratinjau, mengonfigurasi, dan mengelola infrastruktur cloud serta sumber daya secara aman dan efisien. Topik ini menjelaskan cara menggunakan Terraform untuk membuat konfigurasi Logtail.
Anda dapat menjalankan kode contoh dalam topik ini hanya dengan beberapa klik. Untuk informasi lebih lanjut, kunjungi Terraform Explorer.
Prasyarat
Simple Log Service (SLS) telah diaktifkan. Untuk informasi lebih lanjut, lihat Gambaran Manajemen Sumber Daya.
Disarankan untuk menggunakan Pengguna Resource Access Management (RAM) dengan izin minimum yang diperlukan untuk melakukan operasi dalam topik ini. Ini mengurangi risiko kebocoran Pasangan Kunci Akses Akun Alibaba Cloud Anda. Untuk informasi tentang cara menyambungkan kebijakan minimum yang diperlukan kepada Pengguna RAM, lihat Buat Pengguna RAM dan Berikan Izin kepada Pengguna RAM. Kebijakan berikut disediakan untuk topik ini:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "log:GetProject", "log:ListProject", "log:CreateProject", "log:DeleteProject", "log:UpdateProject", "log:GetAppliedMachineGroups", "log:GetMachineGroup", "log:ListMachineGroup", "log:CreateMachineGroup", "log:GetLogStore", "log:GetLogStoreLogs", "log:GetLogStoreMeteringMode", "log:ListLogStores", "log:CreateLogStore", "log:PostLogStoreLogs", "log:UpdateLogStore", "log:GetLogtailPipelineConfig", "log:UpdateLogtailPipelineConfig", "log:ListTagResources", "log:ListShards", "log:ListSavedSearch", "log:GetIndex", "log:ListDashboard", "log:ListConfig", "log:CreateConfig", "log:GetConfig", "log:ApplyConfigToGroup", "log:DeleteConfig", "log:DeleteMachineGroup", "log:GetProjectPolicy", "log:DeleteLogStore" ], "Resource": "*" } ] }Lingkungan runtime untuk Terraform dipersiapkan dengan menggunakan salah satu metode berikut:
Explorer: Alibaba Cloud menyediakan lingkungan runtime online untuk Terraform. Anda dapat masuk ke lingkungan tersebut dan menggunakan Terraform tanpa perlu menginstalnya. Cocok untuk skenario di mana Anda perlu menggunakan dan men-debug Terraform secara hemat biaya, efisien, dan nyaman.
Cloud Shell: Cloud Shell sudah terinstal dengan Terraform dan dikonfigurasi dengan kredensial identitas Anda. Anda dapat menjalankan perintah Terraform di Cloud Shell. Cocok untuk skenario di mana Anda perlu menggunakan dan mengakses Terraform secara hemat biaya, efisien, dan nyaman.
Instal dan Konfigurasikan Terraform pada Mesin Lokal Anda: Cocok untuk skenario di mana koneksi jaringan tidak stabil atau lingkungan pengembangan kustom diperlukan.
Anda akan dikenakan biaya untuk sumber daya tertentu. Jika Anda tidak lagi memerlukan sumber daya tersebut, segera lepaskan atau hentikan langganan dari sumber daya tersebut.
Sumber daya yang diperlukan
alicloud_log_project: Proyek.
alicloud_log_machine_group: Kelompok Mesin.
alicloud_log_store: Logstore.
alicloud_logtail_config: Konfigurasi Logtail.
alicloud_logtail_attachment: Terapkan konfigurasi Logtail ke kelompok mesin.
Langkah 1: Buat proyek
Buat direktori kerja. Kemudian, buat file konfigurasi bernama main.tf di direktori tersebut. Salin kode berikut ke file konfigurasi main.tf.
variable "region" { default = "cn-hangzhou" } variable "identify_list" { type = list(string) description = "Alamat IP mesin yang termasuk dalam kelompok mesin" default = ["10.0.0.1", "10.0.0.2"] } provider "alicloud" { region = var.region } resource "random_integer" "default" { min = 10000 max = 99999 } # Proyek. resource "alicloud_log_project" "example" { project_name = "project-name-${random_integer.default.result}" description = "tf actiontrail example" }Jalankan perintah berikut untuk menginisialisasi lingkungan runtime Terraform:
terraform initJika informasi berikut dikembalikan, Terraform telah diinisialisasi:
Terraform has been successfully initialized! You may now begin working with Terraform. Try running "terraform plan" to see any changes that are required for your infrastructure. All Terraform commands should now work. If you ever set or change modules or backend configuration for Terraform, rerun this command to reinitialize your working directory. If you forget, other commands will detect it and remind you to do so if necessary.Jalankan perintah berikut untuk menerapkan rencana eksekusi yang dihasilkan:
terraform applySelama proses, masukkan
yessaat diminta dan tekan tombol Enter. Tunggu hingga perintah selesai dijalankan. Jika informasi berikut dikembalikan, rencana eksekusi telah diterapkan.You can apply this plan to save these new output values to the Terraform state, without changing any real infrastructure. Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value: yes Apply complete! Resources: 2 added, 0 changed, 0 destroyed.Verifikasi hasilnya.
Lihat hasilnya dengan menjalankan perintah terraform show
Jalankan perintah berikut di direktori kerja untuk menanyakan detail proyek yang dibuat menggunakan Terraform:
terraform show
Lihat hasilnya di Konsol SLS
Masuk ke Konsol SLS dan lihat proyek yang telah dibuat.

Langkah 2: Buat kelompok mesin dan Logstore
Tambahkan kode berikut ke file konfigurasi
main.tf:# Kelompok mesin. resource "alicloud_log_machine_group" "example" { project = alicloud_log_project.example.project_name name = "terraform-example-${random_integer.default.result}" identify_type = "ip" topic = "terraform" identify_list = var.identify_list } # Logstore. resource "alicloud_log_store" "example" { project_name = alicloud_log_project.example.project_name logstore_name = "logstore_example_${random_integer.default.result}" retention_period = 3 }Buat rencana eksekusi dan pratinjau perubahan.
terraform planJalankan perintah berikut untuk menerapkan rencana eksekusi:
terraform applySelama proses, masukkan
yessaat diminta dan tekan tombol Enter. Tunggu hingga perintah selesai. Jika informasi berikut dikembalikan, rencana eksekusi telah diterapkan.Apply complete! Resources: 2 added, 0 changed, 0 destroyed.Verifikasi hasilnya.
Lihat hasilnya dengan menjalankan perintah terraform show
Jalankan perintah berikut di direktori kerja untuk menanyakan detail kelompok mesin dan Logstore yang dibuat menggunakan Terraform:
terraform show
Lihat hasilnya di Konsol SLS
Masuk ke Konsol SLS. Di bagian Projects, temukan proyek yang dibuat di Langkah 1 dan klik nama proyek untuk masuk ke halaman detail proyek. Di panel navigasi di sebelah kiri, klik ikon Log Storage. Dalam daftar Logstores, lihat Logstore yang telah dibuat.

Di panel navigasi di sebelah kiri, arahkan pointer ke ikon dan pilih Machine Groups. Dalam daftar Kelompok Mesin, lihat kelompok mesin yang telah dibuat.

Langkah 3: Buat konfigurasi Logtail
Tambahkan kode berikut ke file konfigurasi
main.tf:# Konfigurasi Logtail. resource "alicloud_logtail_config" "example" { project = alicloud_log_project.example.project_name logstore = alicloud_log_store.example.logstore_name name = "config-sample-${random_integer.default.result}" input_type = "file" output_type = "LogService" input_detail = jsonencode( { "logPath": "/logPath", "filePattern": "access.log", "logType": "json_log", "topicFormat": "default", "discardUnmatch": false, "enableRawLog": true, "fileEncoding": "gbk", "maxDepth": 10 } ) } # Terapkan konfigurasi Logtail ke kelompok mesin. resource "alicloud_logtail_attachment" "example" { project = alicloud_log_project.example.project_name logtail_config_name = alicloud_logtail_config.example.name machine_group_name = alicloud_log_machine_group.example.name }Buat rencana eksekusi dan pratinjau perubahan.
terraform planJalankan perintah berikut untuk menerapkan rencana eksekusi:
terraform applySelama proses, masukkan
yessaat diminta dan tekan tombol Enter. Tunggu hingga perintah selesai dijalankan. Jika informasi berikut dikembalikan, rencana eksekusi telah diterapkan.Apply complete! Resources: 2 added, 0 changed, 0 destroyed.Verifikasi hasilnya.
Lihat hasilnya dengan menjalankan perintah terraform show
Jalankan perintah berikut di direktori kerja untuk menanyakan detail konfigurasi Logtail yang dibuat menggunakan Terraform:
terraform show
Lihat hasilnya di Konsol SLS
Masuk ke Konsol SLS. Di bagian Projects, temukan proyek yang dibuat di Langkah 1 dan klik nama proyek untuk masuk ke halaman detail proyek. Di panel navigasi di sebelah kiri, klik ikon Log Storage. Dalam daftar Logstores, temukan Logstore yang dibuat di Langkah 2 dan klik Logstore tersebut. Lalu, pilih Pengumpulan Data > Logtail Configuration untuk melihat konfigurasi Logtail dari Logstore.

Di halaman Logtail Configuration, klik nama konfigurasi Logtail. Lalu, klik tab Manage Machine Groups. Di tab ini, lihat kelompok mesin yang diterapkan dengan konfigurasi Logtail.

Lepaskan sumber daya
Jika Anda tidak lagi memerlukan sumber daya yang dibuat atau dikelola menggunakan Terraform, jalankan perintah berikut untuk melepaskan sumber daya: Untuk informasi lebih lanjut tentang perintah terraform destroy, lihat Perintah Umum.
terraform destroyContoh
Anda dapat menjalankan kode contoh dalam topik ini hanya dengan beberapa klik.
Kode contoh
Untuk melihat lebih banyak contoh, kunjungi folder Log_Service(SLS) di GitHub.
Referensi
Untuk informasi lebih lanjut tentang Terraform, lihat Apa itu Terraform?