Topik ini menjelaskan cara mengumpulkan log dari instans Elastic Compute Service (ECS) di akun sumber Alibaba Cloud dan mengirimkannya ke proyek Simple Log Service di akun tujuan Alibaba Cloud. Dalam solusi ini, Anda dapat mengonfigurasi otorisasi pada instans ECS sumber sehingga Logtail di akun tujuan dapat mengumpulkan log untuk manajemen dan analisis terpusat.
Mulai cepat
Skenario
Dalam lingkungan cloud multi-akun, Anda mungkin perlu memusatkan log karena alasan berikut:
Pemantauan layanan terpadu: Simpan log aplikasi dan log sistem dari berbagai akun bisnis di satu lokasi pusat untuk menyederhanakan pemantauan, peringatan, dan troubleshooting terpadu.
Audit keamanan dan kepatuhan: Kumpulkan semua log operasi dan log keamanan ke dalam akun keamanan atau audit khusus guna memenuhi persyaratan kepatuhan.
Migrasi bisnis: Alihkan tugas pengumpulan log ke akun baru selama migrasi bisnis dari satu akun Alibaba Cloud ke akun lainnya.
Topik ini menggunakan contoh migrasi tugas pengumpulan log dari akun sumber ke akun tujuan.
Arsitektur solusi
Solusi ini menggunakan model kepercayaan berbasis otorisasi file. Anda dapat membuat file otorisasi dan pengenal kustom tertentu pada instans ECS di akun sumber, sehingga memberikan izin kepada akun tujuan untuk mengumpulkan log dari instans tersebut menggunakan Logtail.
Alur kerjanya sebagai berikut:
Pada setiap instans ECS di akun sumber (Akun B), buat file otorisasi dengan nama yang sesuai UID akun tujuan (Akun A).
Pada instans ECS yang sama, buat file yang berisi pengenal kustom untuk mengelompokkan server di akun tujuan.
Setelah klien Logtail pada instans ECS mengenali file otorisasi, ia mengirim heartbeat ke Simple Log Service di akun tujuan (Akun A) dan melaporkan pengenal kustomnya.
Di Konsol Simple Log Service akun tujuan (Akun A), buat kelompok mesin yang menggunakan pengenal kustom tersebut. Instans ECS dengan heartbeat normal secara otomatis ditambahkan ke kelompok mesin tersebut.
Terapkan konfigurasi pengumpulan Logtail ke kelompok mesin tersebut. Logtail kemudian mengumpulkan log berdasarkan konfigurasi dan mengirimkannya ke penyimpanan log di akun tujuan (Akun A).
Saat memproses data lintas akun, Anda harus menggunakan role kustom untuk otorisasi:
Role ARN pertama memberikan izin kepada pekerjaan transformasi data untuk mengasumsikan role ini agar dapat membaca data dari Logstore sumber. Untuk informasi selengkapnya, lihat Berikan peran RAM izin read-only pada Logstore sumber.
Role ARN kedua memberikan izin kepada pekerjaan transformasi data untuk mengasumsikan role ini agar dapat menulis data hasil transformasi ke Logstore tujuan. Untuk informasi selengkapnya, lihat Berikan peran RAM izin untuk menulis data ke Logstore tujuan yang dimiliki akun berbeda.
Prosedur
Langkah 1: Konfigurasikan otorisasi dan pengenal pada instans ECS sumber
Buat file otorisasi dan file pengenal pada instans ECS di akun sumber agar akun tujuan dapat mengumpulkan log dan menyediakan pengenal unik untuk membuat kelompok mesin.
Login ke instans ECS di akun sumber.
Jalankan skrip berikut untuk menyelesaikan konfigurasi otorisasi dan pengenal. Ganti
{TARGET_ACCOUNT_ID}dan{YOUR_MACHINE_GROUP_ID}dalam skrip dengan nilai aktual Anda.
#!/bin/bash
# Ganti dengan ID akun Alibaba Cloud 16 digit dari akun tujuan (Akun A).
TARGET_ACCOUNT_ID="{TARGET_ACCOUNT_ID}"
# Tentukan pengenal unik untuk kelompok mesin ini.
# Gunakan kombinasi nama bisnis dan lingkungan, misalnya "my-app-prod-servers".
MACHINE_GROUP_ID="{YOUR_MACHINE_GROUP_ID}"
# 1. Buat direktori file otorisasi.
sudo mkdir -p /etc/ilogtail/users
# 2. Buat file otorisasi. Nama file adalah ID akun tujuan. Ini memberikan izin pengumpulan kepada akun tersebut.
sudo touch "/etc/ilogtail/users/${TARGET_ACCOUNT_ID}"
# 3. Buat file pengenal kustom. File ini digunakan untuk mengidentifikasi dan mengelompokkan mesin di akun tujuan.
echo "${MACHINE_GROUP_ID}" | sudo tee /etc/ilogtail/user_defined_id > /dev/null
# 4. Restart layanan Logtail untuk menerapkan konfigurasi.
# Jika sistem Anda tidak menggunakan systemd, jalankan 'sudo /etc/init.d/ilogtaild restart'.
sudo systemctl restart ilogtail
echo "Konfigurasi selesai. Periksa status heartbeat kelompok mesin di Konsol Simple Log Service akun tujuan."
(Opsional) Verifikasi konfigurasi
Periksa apakah file telah dibuat:
sudo ls -l /etc/ilogtail/users/dansudo cat /etc/ilogtail/user_defined_id.Periksa status layanan Logtail:
sudo systemctl status ilogtail.Lihat log Logtail untuk memastikan heartbeat dikirim:
sudo tail -n 100 /var/log/ilogtail/ilogtail.LOG | grep Heartbeat.
Langkah 2: Buat kelompok mesin di akun tujuan
Di Konsol Simple Log Service akun tujuan, buat kelompok mesin untuk mengidentifikasi dan mengelola instans ECS dari akun sumber menggunakan pengenal kustom yang Anda tetapkan pada langkah sebelumnya.
Login ke Konsol Simple Log Service menggunakan akun tujuan (Akun A).
Pada halaman Projects, klik proyek tujuan.
Di panel navigasi, pilih Resources > Machine Groups.
Klik Create Machine Group.
Pada dialog Create Machine Group, konfigurasikan parameter berikut:
Machine Group Name: Masukkan nama kustom, seperti
cross-account-app-servers.Machine Group Type: Pilih Custom Identifier.
Custom Identifier: Masukkan nilai
MACHINE_GROUP_IDyang Anda tetapkan dalam skrip pada Langkah 1. Pastikan isinya identik dan tidak mengandung spasi atau line feed tambahan.
Klik OK.
Di daftar Machine Group, temukan kelompok mesin baru dan klik namanya untuk membuka halaman detail. Tunggu 1 hingga 3 menit lalu refresh halaman. Status Heartbeat seharusnya OK.
Langkah 3: Buat dan terapkan konfigurasi pengumpulan Logtail
Buat aturan pengumpulan log dan terapkan ke kelompok mesin untuk mulai mengumpulkan log.
Di Konsol Simple Log Service akun tujuan, buka proyek dan Logstore tujuan.
Pilih Quick Integration > Import Data, lalu pilih Regular Expression - Text Log atau tipe log lain sesuai kebutuhan.
Pada langkah Select Machine Group wizard Import Data, pindahkan kelompok mesin yang Anda buat pada langkah sebelumnya dari daftar Source Machine Groups ke daftar Applied Machine Groups, lalu klik Next.
Konfigurasikan aturan pengumpulan Logtail, termasuk log path dan collection pattern.
PentingUntuk migrasi lancar dan menghindari biaya tambahan, pastikan pengumpulan data sudah stabil di akun tujuan. Kemudian, segera login ke Konsol Simple Log Service akun sumber (Akun B) untuk menghapus atau menonaktifkan konfigurasi pengumpulan Logtail asli.
Selesaikan langkah Preview Data and Set Index dan klik Next. Simple Log Service mengaktifkan indeks teks penuh secara default. Anda juga dapat mengonfigurasi indeks bidang sesuai kebutuhan.
Informasi latar belakang
Setelah Anda menginstal Logtail pada server untuk mengumpulkan log, Anda harus menetapkan identitas pengguna ke ID akun Alibaba Cloud yang memiliki proyek Simple Log Service. Hal ini memberikan izin kepada akun tersebut untuk menggunakan Logtail mengumpulkan log dari server. Jika Anda tidak melakukan konfigurasi ini, heartbeat server gagal di kelompok mesin, sehingga Logtail tidak dapat mengirim log ke Simple Log Service.
Sebagai contoh, sebuah perusahaan e-commerce menjalankan dua aplikasi pada kluster ECS di wilayah Alibaba Cloud China (Hangzhou). Perusahaan tersebut menggunakan Simple Log Service di wilayah yang sama untuk mengelola log.
Aplikasi A dideploy pada kluster ECS Linux di bawah akun Alibaba Cloud A (UID: 12****456) dan menggunakan Simple Log Service dari akun tersebut untuk manajemen log.
Aplikasi B dideploy pada kluster ECS Linux di bawah akun Alibaba Cloud B (UID: 17****397) dan menggunakan Simple Log Service dari akun tersebut untuk manajemen log.
Perusahaan tersebut mengubah strategi bisnisnya untuk memusatkan pengumpulan log. Semua log dari kedua aplikasi akan dikumpulkan ke Simple Log Service di bawah akun Alibaba Cloud A (UID: 12****456). Log dari masing-masing aplikasi dikumpulkan ke Logstore terpisah dalam proyek Simple Log Service yang sama. Untuk melakukannya, Anda harus membuat konfigurasi pengumpulan Logtail baru, kelompok mesin, dan Logstore untuk mengumpulkan dan menyimpan log untuk Aplikasi B. Pengumpulan log untuk Aplikasi A tetap tidak berubah dan terus menggunakan konfigurasi pengumpulan Logtail, kelompok mesin, dan Logstore asli.

Langkah 1: Buat file identitas pengguna
Login ke server ECS yang dimiliki oleh akun Alibaba Cloud B.
PentingAnda harus membuat file identitas pengguna pada setiap server ECS di kluster ECS B.
Jalankan perintah berikut untuk membuat file identitas pengguna.
Tetapkan identitas pengguna ke akun Alibaba Cloud A. Hal ini membuat file yang dinamai sesuai ID akun Alibaba Cloud A. Untuk informasi selengkapnya, lihat Konfigurasikan identitas pengguna.
touch /etc/ilogtail/users/12****456
Langkah 2: Buat kelompok mesin berbasis pengenal kustom
Buat file pengenal kustom untuk kelompok mesin pada server ECS.
PentingAnda harus membuat file pengenal kustom untuk kelompok mesin pada setiap server ECS di kluster ECS B.
Login ke server ECS yang dimiliki oleh akun Alibaba Cloud B.
Di direktori yang ditentukan, buat file /etc/ilogtail/user_defined_id dan tambahkan pengenal kustom.
Sebagai contoh, untuk menetapkan pengenal kustom menjadi
application_b, masukkanapplication_bke dalam file dan simpan. Untuk informasi selengkapnya tentang path file, lihat Buat kelompok mesin berbasis pengenal kustom.
Buat kelompok mesin di Konsol Simple Log Service.
Menggunakan akun Alibaba Cloud A, login ke Konsol Simple Log Service.
Di area Project List, klik proyek tujuan.
Di panel navigasi, pilih .
Di sebelah kanan Machine Group, klik .
Pada dialog Create Machine Group, konfigurasikan parameter berikut dan klik OK.
Tetapkan Custom Identifier ke pengenal kustom yang Anda konfigurasi pada langkah 1. Untuk informasi selengkapnya tentang parameter lainnya, lihat Buat kelompok mesin berbasis pengenal kustom.

Verifikasi bahwa status heartbeat server di kelompok mesin adalah OK.
Di daftar kelompok mesin, klik kelompok mesin tujuan.
Pada halaman Machine Group Configuration, lihat server ECS yang menggunakan pengenal kustom yang sama dan status heartbeat-nya.
Status Heartbeat OK menunjukkan bahwa server ECS terhubung ke Simple Log Service. Jika statusnya FAIL, lihat Kelompok mesin Logtail tidak memiliki heartbeat.

Langkah 3: Kumpulkan log
Login ke Konsol Simple Log Service dengan akun Alibaba Cloud A.
Klik Quick Integration.

Pada dialog Integrate Data, pilih Regex - Text Log.
Pada wizard Integrate Data, pilih proyek dan Logstore tujuan, lalu klik Next.
Konfigurasikan Machine Group Settings.
Tetapkan Scenario ke Host Scenario.
Tetapkan Installation Environment ke ECS.
Pilih kelompok mesin yang Anda buat di Langkah 2. Pindahkan kelompok mesin dari Source Machine Groups ke Applied Machine Groups, lalu klik Next.
Buat konfigurasi pengumpulan Logtail dan klik Next.
Untuk informasi selengkapnya tentang parameter, lihat Kumpulkan log dalam mode regex penuh.
PentingSecara default, hanya satu konfigurasi pengumpulan Logtail yang dapat mencocokkan suatu file. Karena konfigurasi pengumpulan untuk akun B masih aktif, konfigurasi baru untuk akun A tidak dapat berlaku. Anda dapat menggunakan salah satu metode berikut untuk mengaktifkan konfigurasi untuk akun A:
Hentikan pengumpulan log untuk akun B. Untuk melakukannya, login ke Konsol Simple Log Service dengan akun B dan hapus konfigurasi pengumpulan Logtail dari kelompok mesin tujuan. Untuk informasi selengkapnya, lihat Terapkan konfigurasi Logtail ke kelompok mesin tertentu.
Tambahkan konfigurasi pengumpulan paksa untuk akun A. Untuk informasi selengkapnya, lihat Cara mengumpulkan log dari file beberapa kali.
Setelah membuat konfigurasi pengumpulan Logtail, hapus konfigurasi asli untuk akun Alibaba Cloud B untuk mencegah pengumpulan log duplikat. Untuk informasi selengkapnya, lihat Hapus konfigurasi Logtail.

Pratinjau data, konfigurasikan indeks, lalu klik Next.
Simple Log Service mengaktifkan fitur indeks teks penuh secara default. Anda juga dapat mengonfigurasi indeks bidang secara manual atau otomatis berdasarkan log yang dikumpulkan. Untuk informasi selengkapnya, lihat Buat indeks.
Operasi terkait
Untuk memigrasikan data historis dari Logstore di Akun Alibaba Cloud B ke Logstore saat ini, Anda dapat membuat pekerjaan transformasi data di Logstore sumber untuk menyalin data tersebut. Untuk informasi selengkapnya, lihat Salin data dari Logstore.
Saat memproses data lintas akun, Anda harus menggunakan role kustom untuk otorisasi. Contoh ini menggunakan role kustom.
Role ARN pertama memberikan izin kepada pekerjaan transformasi data untuk mengasumsikan role ini dan membaca data dari Logstore sumber. Untuk informasi selengkapnya tentang cara mengonfigurasi izin role, lihat Berikan peran RAM izin read-only pada Logstore sumber.
Role ARN kedua memberikan izin kepada pekerjaan transformasi data untuk mengasumsikan role ini dan menulis data hasil transformasi ke Logstore tujuan. Untuk informasi selengkapnya tentang cara mengonfigurasi izin role, lihat Berikan peran RAM izin untuk menulis data ke Logstore tujuan yang dimiliki akun berbeda.
> Create Machine Group