Menyiapkan Cloud Trace untuk Node.js

Anda dapat mengaktifkan Cloud Trace untuk aplikasi Node.js menggunakan library Cloud Trace untuk Node.js.

Menginstal library klien

  1. Sebelum menginstal library Cloud Trace untuk Node.js, pastikan Anda telah menyiapkan lingkungan untuk pengembangan Node.js.

  2. Untuk menginstal library Cloud Trace untuk Node.js, gunakan npm:

    npm install --save @google-cloud/trace-agent
  3. Impor library Cloud Trace untuk Node.js di bagian atas skrip utama atau titik entri aplikasi Anda sebelum kode lainnya:

    require('@google-cloud/trace-agent').start();

Untuk mengetahui informasi selengkapnya atau melaporkan masalah pada library Cloud Trace untuk Node.js, lihat repositori GitHub cloud-trace-nodejs agen.

Mengonfigurasi library klien

Anda dapat menyesuaikan perilaku library Cloud Trace untuk Node.js. Lihat konfigurasi library di GitHub untuk mengetahui daftar opsi konfigurasi yang dapat Anda teruskan ke metode start library menggunakan objek options.

Contoh berikut menunjukkan cara menentukan project ID Google Cloud dan menyetel jalur ke file kredensial Anda. Kedua pernyataan ini bersifat opsional saat Anda menjalankan di Google Cloud:

require('@google-cloud/trace-agent').start({
  projectId: 'your-project-id',
  keyFilename: '/path/to/key.json',
});

Jika menjalankan di infrastruktur Google Cloud, Anda tidak perlu menetapkan projectId ke project ID Google Cloud Anda. Jika Anda tidak menetapkan kolom ini, library klien untuk Node.js akan otomatis mengumpulkan data ini dari server metadata Google Cloud.

Jika tidak menjalankan infrastruktur Google Cloud, Anda harus memasukkan project ID Google Cloud ke aplikasi.

Terlepas dari infrastruktur Anda, untuk Node.js, saat Anda tidak secara eksplisit menetapkan project ID Google Cloud, library cloud-trace-nodejs akan otomatis menentukan apakah variabel lingkungan GCLOUD_PROJECT sudah ditetapkan, dan jika ya, library akan menggunakan nilai GCLOUD_PROJECT sebagai project ID Google Cloud Anda. Untuk mengetahui informasi selengkapnya tentang file penemuan, buka cloud-trace-nodejs/src/index. Untuk menetapkan variabel lingkungan, lakukan langkah berikut:

Linux atau macOS

export GCLOUD_PROJECT=your-project-id

Windows

set GCLOUD_PROJECT=your-project-id

PowerShell:

$env:GCLOUD_PROJECT="your-project-id"

Konfigurasi platform Anda

Anda dapat menggunakan Cloud Trace di Google Cloud dan platform lainnya.

Berjalan di Google Cloud

Saat aplikasi Anda berjalan di Google Cloud, Anda tidak perlu memberikan kredensial autentikasi dalam bentuk akun layanan ke library klien. Namun, Anda harus memastikan bahwa platform Google Cloud Anda telah mengaktifkan cakupan akses Cloud Trace API.

Untuk mengetahui daftar lingkungan Google Cloud yang didukung, lihat Dukungan lingkungan.

Untuk konfigurasi berikut, setelan cakupan akses default akan mengaktifkan Cloud Trace API:

Jika menggunakan cakupan akses kustom, Anda harus memastikan cakupan akses API Cloud Trace diaktifkan:

  • Untuk mengetahui informasi cara mengonfigurasi cakupan akses untuk lingkungan Anda menggunakan Konsol Google Cloud, lihat Mengonfigurasi project Google Cloud.

  • Untuk pengguna gcloud, tentukan cakupan akses menggunakan flag --scopes dan sertakan cakupan akses Cloud Trace API trace.append. Misalnya, untuk membuat cluster GKE dengan hanya Cloud Trace API yang diaktifkan, lakukan hal berikut:

    gcloud container clusters create example-cluster-name --scopes=https://www.googleapis.com/auth/trace.append

Berjalan secara lokal dan di tempat lain

Jika aplikasi Anda berjalan di luar Google Cloud, Anda harus memberikan kredensial autentikasi dalam bentuk akun layanan ke library klien. Akun layanan harus berisi peran agen Cloud Trace. Untuk mengetahui petunjuknya, lihat Membuat akun layanan.

Library klien Google Cloud menggunakan Kredensial Default Aplikasi (ADC) untuk menemukan kredensial aplikasi Anda.

Anda dapat memberikan kredensial ini dengan salah satu dari tiga cara:

  • Jalankan gcloud auth application-default login

  • Tempatkan akun layanan di jalur default untuk sistem operasi Anda. Berikut ini daftar jalur default untuk Windows dan Linux:

    • Windows: %APPDATA%/gcloud/application_default_credentials.json

    • Linux: $HOME/.config/gcloud/application_default_credentials.json

  • Tetapkan variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS ke jalur ke akun layanan Anda:

Linux/macOS

    export GOOGLE_APPLICATION_CREDENTIALS=path-to-your-service-accounts-private-key

Windows

    set GOOGLE_APPLICATION_CREDENTIALS=path-to-your-service-accounts-private-key

PowerShell:

    $env:GOOGLE_APPLICATION_CREDENTIALS="path-to-your-service-accounts-private-key"

Contoh aplikasi

if (process.env.NODE_ENV === 'production') {
  require('@google-cloud/trace-agent').start();
}

const express = require('express');
const got = require('got');

const app = express();
const DISCOVERY_URL = 'https://www.googleapis.com/discovery/v1/apis';

// This incoming HTTP request should be captured by Trace
app.get('/', async (req, res) => {
  // This outgoing HTTP request should be captured by Trace
  try {
    const {body} = await got(DISCOVERY_URL, {responseType: 'json'});
    const names = body.items.map(item => item.name);
    res.status(200).send(names.join('\n')).end();
  } catch (err) {
    console.error(err);
    res.status(500).end();
  }
});

// Start the server
const PORT = process.env.PORT || 8080;
app.listen(PORT, () => {
  console.log(`App listening on port ${PORT}`);
  console.log('Press Ctrl+C to quit.');
});

Lihat pelacakan

Di panel navigasi konsol Google Cloud, pilih Trace, lalu pilih Trace explorer:

Buka Trace explorer

Pemecahan masalah

Untuk mengetahui informasi tentang cara memecahkan masalah terkait Cloud Trace, buka halaman Pemecahan masalah.

Referensi