WebTracking mengumpulkan dan menganalisis perilaku pengguna di peramban, seperti tampilan halaman, riwayat pembelian, atau durasi sesi. Data aktivitas ini disalurkan ke Layanan Log Sederhana (SLS) untuk analisis perilaku dan optimasi bisnis, hanya memerlukan perubahan minor pada kode aplikasi Anda.
WebTracking menawarkan dua metode ingest, dengan ingest terotentikasi sebagai metode utama dan direkomendasikan.
Ingest terotentikasi (direkomendasikan)
Aplikasi frontend mendapatkan kredensial sementara dari layanan backend. Layanan ini memanggil Layanan Token Keamanan Alibaba Cloud (STS) untuk menghasilkan token yang berisi ID AccessKey jangka pendek, Rahasia AccessKey, dan kebijakan dengan izin terbatas. Aplikasi menggunakan kredensial ini untuk menandatangani permintaan dan mengunggah log ke SLS. Kombinasi kredensial jangka pendek dan prinsip hak istimewa minimal secara efektif mengurangi risiko seperti pemalsuan log dan kontaminasi data, bahkan jika konfigurasi frontend terpapar.Ingest anonim
Aplikasi frontend mengunggah log langsung ke titik akhir WebTracking publik tanpa otentikasi. Meskipun mudah dikonfigurasi, pendekatan ini memerlukan pemberian izin tulis publik ke logstore. Paparan apa pun dari detail proyek atau logstore dapat menyebabkan penyalahgunaan dan kontaminasi data. Oleh karena itu, metode ini cocok hanya untuk lingkungan pengujian.
Siapkan sumber daya cloud
Sebelum memulai, buat sumber daya yang diperlukan untuk penyimpanan dan manajemen log.
Langkah 1: Buat proyek
Proyek adalah unit utama manajemen sumber daya di SLS. Ini membantu Anda mengisolasi sumber daya untuk aplikasi yang berbeda.
Untuk membuat proyek, masuk ke Konsol SLS dan klik Buat Proyek.
Konfigurasi:
Region: Pilih wilayah berdasarkan sumber log Anda. Anda tidak dapat mengubahnya setelah dibuat.
Project Name: Harus unik secara global dalam Alibaba Cloud dan tidak dapat diubah setelah dibuat.
Simpan nilai default untuk parameter lainnya dan klik Create.
Langkah 2: Buat logstore
Logstore adalah unit dasar untuk penyimpanan log. Ini berfungsi sebagai tujuan untuk semua log frontend yang diunggah.
Untuk membuat logstore, buka proyek target. Di panel navigasi sisi kiri, pilih
Log Storage, lalu klik +.
Konfigurasi:
Logstore Name: Nama tersebut harus unik dalam proyek. Nama ini tidak dapat diubah setelah logstore dibuat. Sebagai contoh,
web-tracking-logstore.Logstore Type: Pilih Standard atau Query.
Billing Mode:
Pay-by-feature: Cocok untuk volume log kecil atau kasus penggunaan pengembangan dan pengujian.
Pay-by-ingested-data: Cocok untuk kasus penggunaan dengan volume log stabil yang memerlukan analisis jangka panjang.
Data Retention Period: Default adalah 30 hari (mendukung 1 hingga 3650 hari).
Simpan nilai default untuk parameter lainnya dan klik OK.
Ingest terotentikasi (direkomendasikan)
Pendekatan ini mengurangi risiko keamanan paparan kunci di sisi klien dengan menggunakan layanan backend untuk menerbitkan kredensial sementara. Ini adalah solusi yang direkomendasikan untuk lingkungan produksi.
Cara kerjanya
Pendekatan ini menghindari penyimpanan kunci jangka panjang di sisi klien. Sebaliknya, aplikasi frontend mendapatkan kredensial sementara dari layanan backend Anda, yang pada gilirannya memanggil API STS untuk menghasilkannya. SDK WebTracking kemudian menggunakan kredensial ini untuk mengunggah log. Kredensial ini secara otomatis kedaluwarsa setelah durasi tertentu (60 menit secara default), memastikan akses aman dan terbatas waktu.
Klien Meminta Kredensial: Aplikasi frontend meminta kredensial akses sementara dari server aplikasi untuk mengunggah log.
Server Memvalidasi Permintaan dan Mendapatkan Kredensial Sementara: Setelah memvalidasi permintaan, server aplikasi menggunakan identitas Pengguna RAM yang telah dikonfigurasi sebelumnya untuk memanggil API AssumeRole untuk mengasumsikan Peran RAM yang memiliki izin untuk menulis ke SLS.
STS Menerbitkan Kredensial Sementara: Setelah memverifikasi izin peran, STS menghasilkan kredensial sementara yang berisi ID AccessKey, Rahasia AccessKey, dan token STS.
Server Mengirim Kredensial ke Klien: Server aplikasi mengembalikan kredensial sementara ke aplikasi frontend.
Klien Mengunggah Log: Klien menggunakan kredensial sementara untuk mengunggah log yang dikumpulkan ke logstore yang ditentukan melalui SDK WebTracking.
Langkah 1: Konfigurasikan izin RAM
Langkah ini menciptakan identitas dan izin yang aman untuk layanan kredensial backend dan SDK frontend, mengikuti prinsip hak istimewa minimal.
1. Buat peran RAM untuk aplikasi frontend untuk diasumsikan
Peran ini adalah identitas virtual tanpa kunci jangka panjang, yang aplikasi Anda asumsikan sementara untuk mendapatkan izin mengunggah log.
1.1 Buat peran RAM
Masuk ke Konsol RAM. Di panel navigasi sisi kiri, pilih , lalu klik Create Role.
Konfigurasi:
Principal Type: Pilih Cloud Account.
Principal Name: Pilih akun saat ini atau tentukan akun lain.
Klik OK dan masukkan nama peran
sls-web-tracking.
1.2 Buat kebijakan yang memberikan izin tulis saja
Kebijakan ini membatasi peran untuk hanya menulis log ke logstore yang ditentukan.
Di panel navigasi sisi kiri, pilih , lalu klik Create Policy.
Konfigurasi:
Di tab JSON, tempel skrip berikut. Ganti
<ProjectName>dan<LogstoreName>dengan nama proyek dan nama logstore aktual Anda.{ "Version":"1", "Statement":[ { "Effect":"Allow", "Action":[ "log:PostLogStoreLogs", "log:PutLogs" ], "Resource":[ "acs:log:*:*:project/<ProjectName>/logstore/<LogstoreName>" ] } ] }Klik OK. Masukkan nama kebijakan post-logs-policy dan klik OK.
1.3 Berikan izin kepada peran RAM untuk mengunggah log
Lampirkan kebijakan izin tulis yang dibuat pada langkah sebelumnya ke peran yang akan diasumsikan oleh frontend.
Di panel navigasi sisi kiri, pilih . Klik nama peran target untuk masuk ke halaman detail peran. Di halaman Permissions, klik Grant Permission.
Konfigurasi:
Di panel Berikan Izin, cari dan pilih kebijakan kustom yang dibuat pada langkah sebelumnya (
post-logs-policy).Klik Grant Permissions.
2. Buat pengguna RAM untuk layanan backend
Layanan backend Anda akan menggunakan pengguna ini dengan AccessKey jangka panjang untuk memanggil layanan STS dan mengasumsikan peran.
2.1 Buat pengguna RAM
Titik Masuk: Masuk ke Konsol RAM. Di panel navigasi sisi kiri, pilih , lalu klik Create User.
Konfigurasi:
Logon Name: Hanya mendukung huruf, angka, titik (.), tanda hubung (-), dan garis bawah (_), hingga 64 karakter. Sebagai contoh,
sls-token-service.Access Mode: Pilih Using permanent AccessKey to access.
Simpan nilai default untuk parameter lainnya. Klik OK untuk membuat pengguna. Simpan ID AccessKey dan Rahasia AccessKey.
Rahasia AccessKey hanya ditampilkan sekali saat pembuatan dan tidak dapat diambil nanti. Pastikan menyimpannya di lokasi yang aman segera.
2.2 Berikan izin kepada pengguna RAM untuk mengasumsikan peran
Klik nama pengguna target untuk masuk ke halaman detail pengguna. Beralih ke tab Permissions dan klik Grant Permission.
Konfigurasi:
Di bagian Policy, pilih kebijakan
AliyunSTSAssumeRoleAccess.Simpan nilai default untuk parameter lainnya. Klik Grant Permissions.
Ringkasan: Layanan backend menggunakan Pengguna RAM (dengan AccessKey-nya) untuk mengasumsikan peran sls-web-tracking, menghasilkan kredensial keamanan sementara yang dikembalikan ke aplikasi frontend. SDK WebTracking kemudian menggunakan kredensial sementara ini untuk mengunggah log secara aman.Langkah 2: Bangun layanan kredensial STS sementara backend
Anda harus membangun titik akhir API backend untuk menerima permintaan kredensial dari frontend dan mengembalikan kredensial STS sementara secara aman. Contoh berikut menggunakan Python dan Flask.
Untuk informasi tentang cara mengimplementasikan layanan dalam bahasa lain, seperti Java atau Node.js, berdasarkan tumpukan teknologi Anda, lihat Lampiran 1: Contoh STS dalam beberapa bahasa.
1. Siapkan lingkungan server
Dalam lingkungan produksi, layanan kredensial STS dapat diintegrasikan ke dalam server aplikasi yang ada atau diterapkan sebagai titik akhir mandiri. Terlepas dari pendekatan yang digunakan, server host harus memenuhi persyaratan berikut:
Aplikasi frontend dapat mengakses server melalui HTTP atau HTTPS.
Python 3 diinstal. Versi 3.8 atau lebih baru direkomendasikan.
Jalankan perintah berikut untuk menginstal dependensi yang diperlukan untuk memanggil API STS Alibaba Cloud.
# Instal framework web Flask dan dependensi SDK Alibaba Cloud
pip3 install Flask==3.1.2
pip3 install aiohttp==3.8.4
pip3 install alibabacloud-credentials==0.3.2
pip3 install alibabacloud-sts20150401==1.1.3
pip3 install alibabacloud-tea==0.3.2
pip3 install alibabacloud-tea-openapi==0.3.7
pip3 install alibabacloud-tea-util==0.3.8
pip3 install alibabacloud-tea-xml==0.0.22. Tulis kode layanan STS backend
Buat titik akhir HTTP /get_sts_token untuk menghasilkan dan mengembalikan kredensial STS sementara.
2.1 Buat direktori proyek dan file
# Buat dan masuk ke direktori proyek
mkdir my_web_sample
cd my_web_sample
touch main.py2.2 Edit file main.py
Tempel kode berikut ke dalam file main.py. Ganti <YOUR_ROLE_ARN> dengan ARN dari peran RAM sls-web-tracking. Ganti <YOUR_ROLE_SESSION_NAME> dengan nama sesi kustom, seperti role_session_test.
import json
from flask import Flask, render_template
from alibabacloud_tea_openapi.models import Config
from alibabacloud_sts20150401.client import Client as Sts20150401Client
from alibabacloud_sts20150401 import models as sts_20150401_models
from alibabacloud_credentials.client import Client as CredentialClient
app = Flask(__name__)
# ================== Konfigurasi Pengguna ==================
# Ganti dengan ARN peran RAM Anda. Format: acs:ram::${accountId}:role/${roleName}
role_arn_for_sls_upload = '<YOUR_ROLE_ARN>'
# Tetapkan nama sesi peran. Pengidentifikasi unik untuk sumber permintaan direkomendasikan.
role_session_name = '<YOUR_ROLE_SESSION_NAME>' # Misalnya, sls-web-session-001
# Wilayah tempat layanan STS berada, misalnya, ap-southeast-1.
region_id = 'ap-southeast-1'
# ==============================================
@app.route("/")
def hello_world():
return render_template('index.html')
@app.route('/get_sts_token', methods=['GET'])
def get_sts_token():
"""
Titik Akhir: /get_sts_token
Metode: GET
Fungsi: Panggil API AssumeRole STS untuk mendapatkan token keamanan sementara
Mengembalikan: Objek Kredensial dalam format JSON
"""
# Jika Anda tidak menentukan parameter saat menginisialisasi CredentialClient, rantai kredensial default digunakan.
# Saat menjalankan program secara lokal, tentukan pasangan AccessKey menggunakan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET.
# Saat menjalankan program di ECS, ECI, atau Container Service, tentukan peran instans menggunakan variabel lingkungan ALIBABA_CLOUD_ECS_METADATA. SDK secara otomatis mendapatkan kredensial STS sementara.
config = Config(
region_id=region_id,
credential=CredentialClient()
)
sts_client = Sts20150401Client(config=config)
# Bangun permintaan AssumeRole
assume_role_request = sts_20150401_models.AssumeRoleRequest(
role_arn=role_arn_for_sls_upload,
role_session_name=role_session_name,
)
# Panggil STS untuk mendapatkan kredensial sementara
response = sts_client.assume_role(assume_role_request)
token = json.dumps(response.body.credentials.to_map())
return token
app.run(host="0.0.0.0", port=80)
3. Mulai layanan backend
Jalankan perintah berikut. Gunakan pasangan AccessKey dari pengguna RAM yang dibuat sebelumnya.
ALIBABA_CLOUD_ACCESS_KEY_ID=<YOUR_AK_ID>
ALIBABA_CLOUD_ACCESS_KEY_SECRET=<YOUR_AK_SECRET>
python3 main.py4. Verifikasi bahwa titik akhir berfungsi
Kirim permintaan uji:
curl http://<your_server_public_IP_address>/get_sts_tokenContoh Respons Sukses:
{
"AccessKeyId": "STS.L4xxxxxx",
"AccessKeySecret": "Dcyyyyyyyy",
"Expiration": "2025-04-05T10:30:00Z",
"SecurityToken": "CAISzxxxxxxxxxxx..."
}
Poin Verifikasi:
Respons mencakup bidang
AccessKeyId,AccessKeySecret, danSecurityToken.AccessKeyIddimulai denganSTS., yang menunjukkan kredensial sementara.Bidang
Expirationmenunjukkan waktu kedaluwarsa, yang harus berada dalam rentang yang wajar.
Langkah 3: Integrasikan SDK WebTracking ke dalam frontend Anda
Integrasikan SDK ke dalam aplikasi frontend Anda dan konfigurasikan plugin STS untuk otorisasi aman dan pengunggahan log. Untuk proyek sampel lengkap, lihat Lampiran II: Proyek Aplikasi Frontend Sampel.
1. Instal dependensi SDK
Gunakan npm untuk menginstal SDK WebTracking dan plugin STS-nya:
npm install --save @aliyun-sls/web-track-browser
npm install --save @aliyun-sls/web-sts-plugin2. Inisialisasi SDK dan konfigurasikan otentikasi STS
Dalam proyek frontend Anda, buat file JavaScript, seperti index.js, untuk menginisialisasi kolektor log. File ini menginisialisasi instance SlsTracker dan mengonfigurasi plugin kredensial sementara STS.
2.1 Impor modul inti
import SlsTracker from "@aliyun-sls/web-track-browser";
import createStsPlugin from "@aliyun-sls/web-sts-plugin";2.2 Konfigurasikan informasi SLS dasar
Isi parameter berikut berdasarkan informasi sumber daya aktual Anda:
const opts = {
host: "${endpoint}", // Titik akhir wilayah layanan Anda. Misalnya, ap-southeast-1.log.aliyuncs.com
project: "${project}", // Nama proyek
logstore: "${logstore}", // Nama logstore
time: 10, // Interval pengiriman log, dalam detik. Default adalah 10.
count: 10, // Jumlah log yang dikirim dalam satu batch. Default adalah 10.
topic: "topic", // Topik log kustom
source: "source",
tags: {
tags: "tags",
},
};2.3 Konfigurasikan plugin STS untuk otorisasi aman
Untuk menghindari paparan AccessKey jangka panjang di sisi klien, aplikasi malah mendapatkan kredensial sementara (token STS) dari layanan backend. Plugin STS yang disediakan mengotomatiskan proses pembaruan dinamis kredensial ini sebelum kedaluwarsa.
const stsOpt = {
accessKeyId: "",
accessKeySecret: "",
securityToken: "",
// Fungsi asinkron untuk memperbarui token STS
refreshSTSToken: () =>
new Promise((resolve, reject) => {
const xhr = new window.XMLHttpRequest();
xhr.open("GET", "http://<your_ECS_instance_public_IP_address>/get_sts_token", true);
xhr.send();
xhr.onreadystatechange = () => {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
let credential = JSON.parse(xhr.response);
// Perbarui kredensial sementara
stsOpt.accessKeyId = credential.AccessKeyId;
stsOpt.accessKeySecret = credential.AccessKeySecret;
stsOpt.securityToken = credential.SecurityToken;
resolve();
} else {
reject("Kode status salah.");
}
}
};
}),
// (Opsional) Interval pembaruan kustom. Default adalah 5 menit (300,000 ms).
// refreshSTSTokenInterval: 300000,
// (Opsional) Tetapkan berapa lama sebelum kedaluwarsa token untuk memperbarui (dalam milidetik).
// stsTokenFreshTime: undefined,
};2.4 Inisialisasi instance pelacak dan aktifkan plugin STS
// Buat instance pelacak
const tracker = new SlsTracker(opts);
// Buat dan daftarkan plugin STS
const stsPlugin = createStsPlugin(stsOpt);
tracker.useStsPlugin(stsPlugin);
3. Kirim log dari kode aplikasi Anda
Di halaman web Anda, gunakan pengikatan acara Model Objek Dokumen (DOM) standar untuk menangkap tindakan pengguna dan panggil metode tracker.send() untuk mengirim log kustom.
3.1 Dengarkan acara interaksi pengguna
Contoh: Lacak acara login pengguna
document.getElementById("loginButton").addEventListener("click", () => {
const username = document.getElementById("username").value;
tracker.send({
eventType: "login",
username: username,
});
console.log("Acara login dilacak untuk:", username);
});3.2 Referensi skrip dalam HTML
Pastikan file JavaScript dimuat dengan benar. Impor sebagai modul:
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8" />
<title>Contoh Pemantauan Perilaku Pengguna</title>
</head>
<body>
<input type="text" id="username" placeholder="Masukkan nama pengguna" />
<button id="loginButton">Masuk</button>
<!-- Gunakan skrip modular -->
<script type="module" src="/static/js/index.js"></script>
</body>
</html>4. Jalankan dan uji aplikasi
Mulai dan akses halaman frontend, kemudian picu acara perilaku pengguna agar SDK WebTracking mulai mengumpulkan dan mengunggah log.
Mulai layanan frontend dan akses halaman frontend di
http://<your_server_public_IP_address>.Simulasikan tindakan pengguna, seperti mengklik tombol login.
Buka alat pengembang di peramban Anda dengan menekan F12:
Di tab Console, periksa apakah output menampilkan
Login event tracked for: xxx.Di tab Network, pastikan terdapat permintaan POST yang berhasil ke
cn-xxx.log.aliyuncs.com.
Langkah 4: Verifikasi ingest log
Pastikan bahwa SDK telah berhasil menulis log frontend ke logstore di SLS melalui saluran aman.
Masuk ke Konsol SLS.
Pada bagian Projects, klik proyek yang dituju.
Di halaman Logstores, klik ikon
di sebelah nama logstore target untuk memperluasnya.Klik ikon
untuk masuk ke halaman Pencarian & Analisis.Klik Enable. Di panel yang muncul di sebelah kanan, klik Automatic Index Generation.
Sistem secara otomatis mengenali struktur log dan merekomendasikan konfigurasi bidang. Konfirmasikan pengaturan, lalu klik OK.
Setelah indeks diaktifkan, tunggu sekitar 1 menit agar perubahan efektif. Kemudian, lakukan kueri log.
Ingest anonim
Aktifkan opsi WebTracking untuk logstore, yang membuka akses tulis publik ke logstore tersebut. Ini memungkinkan klien mengunggah data log langsung menggunakan SDK WebTracking, permintaan HTTP, dan metode lainnya.
Jangan gunakan ingest anonim dalam produksi. Metode ini membuka logstore untuk penulisan tanpa otentikasi dari Internet. Ini dimaksudkan hanya untuk memverifikasi pipeline log dengan cepat dalam lingkungan pengujian.
Langkah 1: Aktifkan WebTracking
Masuk ke Konsol SLS.
Di bagian Projects, klik proyek target.
Di tab , temukan logstore target dan klik .
Di halaman Logstore Attributes, klik Modify.
Aktifkan WebTracking, lalu klik Save.
Langkah 2: Konfigurasikan koleksi anonim dan unggah log
Metode integrasi berikut didukung:
SDK WebTracking: Impor SDK WebTracking ke dalam kode frontend Anda dan panggil metode
send()untuk mengunggah log terstruktur. Metode ini cocok untuk aplikasi web modern.Permintaan HTTP GET: Lampirkan data log ke parameter URL dan unggah langsung dengan permintaan GET. Metode ini mudah diimplementasikan dan cocok untuk debugging atau pengumpulan ringan sejumlah kecil log.
Tag HTML (img): Gunakan atribut
srcdari tag<img>untuk memulai permintaan, dengan informasi log dikodekan dalam URL. Metode ini tidak memerlukan JavaScript, mendukung permintaan lintas domain secara alami, dan bekerja dengan baik untuk halaman statis atau pelacakan email di lingkungan tanpa JavaScript.OpenAPI batch write: Panggil OpenAPI SLS melalui permintaan POST. Metode ini cocok untuk pengunggahan terpusat sejumlah besar data dari server.
SDK WebTracking
Dalam mode anonim, Anda tidak perlu mengonfigurasi plugin STS. Cukup inisialisasi SDK secara langsung.
Instal dependensi
# Untuk peramban
npm install --save @aliyun-sls/web-track-browser
# Untuk program mini
npm install --save @aliyun-sls/web-track-miniKonfigurasikan informasi SLS dasar
import SlsTracker from '@aliyun-sls/web-track-browser'
const opts = {
host: '${host}', // Titik akhir layanan di wilayah Anda. Misalnya, ap-southeast-1.log.aliyuncs.com
project: '${project}', // Nama proyek.
logstore: '${logstore}', // Nama logstore.
time: 10, // Interval pengiriman log. Default adalah 10 detik.
count: 10, // Jumlah log yang dikirim dalam satu batch. Default adalah 10.
topic: 'topic',// Topik log kustom.
source: 'source',
tags: {
tags: 'tags',
},
}
const tracker = new SlsTracker(opts) // Buat objek SlsTrackerUnggah log
Saat Anda mengunggah satu log, setiap log adalah objek tunggal. Saat Anda mengunggah beberapa log, struktur datanya adalah array objek.
Unggah satu log
tracker.send({
eventType:'view_product',
productName: 'Tablet',
price: 500
})Unggah satu log segera (parameter time dan count diabaikan):
tracker.sendImmediate({
eventType:'view_product',
productName: 'Tablet',
price: 500
})Unggah Batch log
tracker.sendBatchLogs([
{
eventType: 'view_product',
productName: 'Tablet',
price: 500
},
{
eventType: 'view_product',
productName: 'Laptop',
price: 1200
}
])Unggah sekelompok log segera (parameter time dan count diabaikan):
tracker.sendBatchLogsImmediate([
{
eventType:'view_product',
productName: 'Tablet',
price: 500
},
{
eventType:'view_product',
productName: 'Laptop',
price: 1200
}
])Permintaan HTTP GET
Kirim permintaan GET langsung ke titik akhir layanan log dengan data log sebagai parameter URL.
curl --request GET 'https://${project}.${host}/logstores/${logstore}/track?APIVersion=0.6.0&key1=val1&key2=val2'host: Titik Akhir untuk SLS di wilayah Anda.key1=val1&key2=val2: Nama bidang dan nilai (pasangan kunci-nilai) untuk diunggah ke SLS. Beberapa bidang didukung. Panjang total harus kurang dari 16 KB.
Tag HTML (img)
Tanamkan tag <img> tak terlihat di halaman frontend. Mekanisme peramban untuk memuat gambar secara otomatis memicu pengunggahan log.
<!-- Kumpulkan bidang kustom -->
<img src='https://${project}.${host}/logstores/${logstore}/track.gif?APIVersion=0.6.0&key1=val1&key2=val2'/>
<!-- Juga kumpulkan User-Agent dan Referer -->
<img src='https://${project}.${host}/logstores/${logstore}/track_ua.gif?APIVersion=0.6.0&key1=val1&key2=val2'/>Menggunakan track_ua.gif secara otomatis mengumpulkan informasi User-Agent dan Referer. Untuk mencegah caching peramban, tambahkan parameter timestamp.
OpenAPI batch write
Panggil API PutWebtracking untuk mengunggah beberapa log.
Langkah 3: Verifikasi ingest log
Konfirmasikan bahwa log frontend telah berhasil ditulis ke logstore.
Masuk ke Konsol SLS.
Di bagian Projects, klik proyek target.
Buka halaman Logstores. Klik ikon
di sebelah nama logstore target untuk memperluasnya.Klik
untuk masuk ke halaman Search & Analyze.Klik Enable. Di panel yang muncul di sebelah kanan, klik Automatic Index Generation.
Sistem secara otomatis mengidentifikasi struktur log dan merekomendasikan konfigurasi bidang. Konfirmasikan pengaturan dan klik OK.
Setelah indeks diaktifkan, tunggu sekitar 1 menit agar efektif. Lalu kueri log.
Catatan Penggunaan
Untuk memastikan stabilitas layanan, SLS WebTracking memiliki kuota berikut untuk mengunggah log dari peramban:
Ukuran data maksimum per permintaan: 3 MB
Jumlah entri log maksimum per permintaan: 4.096
Penagihan
WebTracking itu sendiri gratis, tetapi operasi penulisan, penyimpanan, dan kueri log yang dihasilkan dapat dikenakan biaya.
1. Mode penagihan
Logstore mendukung mode penagihan berikut:
Bayar-per-data-diingest: Cocok untuk kasus penggunaan kompleks yang memerlukan penyimpanan jangka panjang, analisis, pemrosesan, dan konsumsi log.
Bayar-per-fitur: Cocok untuk kasus penggunaan ringan atau bertahap di mana kontrol biaya fleksibel diperlukan.
2. Item yang dapat ditagih inti
Bayar sesuai data yang di-ingest
Volume Data Mentah yang Diingest: Ini adalah pendorong biaya utama, ditagih berdasarkan ukuran tidak terkompresi (dalam GB) dari log mentah Anda. Biaya ini mencakup penulisan data, pengindeksan, panggilan API, dan penyimpanan panas selama sebulan pertama (30 hari).
Biaya Penyimpanan: Jika log disimpan lebih dari 30 hari, biaya penyimpanan tambahan akan berlaku.
Bayar-per-fitur
Traffic Indeks: SLS mengenakan biaya satu kali ini saat Anda menulis data, berdasarkan ukuran tidak terkompresi dari log mentah. Ini adalah prasyarat untuk membuat log dapat dicari.
Biaya Penyimpanan: Penyimpanan ditagih dari hari pertama, berdasarkan ruang aktual yang ditempati oleh data terkompresi.
Traffic Baca dan Tulis, Jumlah Pembacaan dan Penulisan, dan Shard Aktif.
FAQ
Apakah saya bisa mengimpor SDK WebTracking menggunakan CDN?
Ya. Pendekatan ini sangat cocok untuk proyek frontend ringan, halaman statis, atau untuk validasi cepat jika proses pembuatan berbasis npm tidak tersedia.
Risiko versi usang: Versi terbaru di CDN adalah 0.3.5. Versi ini mungkin memiliki lebih sedikit fitur dibandingkan dengan versi terbaru di npm.
Cara mengimpor:
Tambahkan referensi skrip berikut ke tag
<head>atau<body>file HTML Anda.<script src="https://g.alicdn.com/sls/sls-js-sdk/0.3.5/web-track-browser.js"></script>Setelah SDK dimuat, inisialisasi instance pelacak menggunakan objek global
window.SLS_Tracker:if (window.SLS_Tracker) { const tracker = new SLS_Tracker({ host: 'your-project.ap-southeast-1.log.aliyuncs.com', project: 'your-project', logstore: 'your-logstore', time: 10, count: 10 }); }
Referensi
Lampiran 1: Contoh STS dalam beberapa bahasa
Untuk membantu pengembang dengan berbagai tumpukan teknologi membangun layanan kredensial STS backend secara cepat, Alibaba Cloud menyediakan contoh program sumber terbuka dalam beberapa bahasa, termasuk Java, Node.js, PHP, dan Ruby. Contoh-contoh ini menggunakan API AssumeRole untuk menerbitkan token akses sementara ke aplikasi frontend secara aman.
Alamat proyek contoh: Java, Node.js, PHP, Ruby
Ubah file konfigurasi config.json di proyek, lalu jalankan layanan sesuai instruksi untuk bahasa yang digunakan.
Bahasa | Port |
Java | 7080 |
Node.js | 3000 |
PHP | 8000 |
Ruby | 4567 |
Lampiran II: Proyek aplikasi frontend sampel
Peramban: simple-web-tracking-sts.zip.
> Modify