Menyiapkan Cloud Logging untuk Ruby

Anda dapat menulis log ke Cloud Logging dari aplikasi Ruby menggunakan library Cloud Logging untuk Ruby, atau menggunakan library klien Cloud Logging Cloud untuk Ruby secara langsung.

Agen Cloud Logging tidak harus diinstal untuk menggunakan library Cloud Logging untuk Ruby di instance VM Compute Engine.

Sebelum memulai

  1. Login keakun Anda. Google Cloud Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Logging API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Cloud Logging API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  8. Instal Ruby 2.2+ atau yang lebih baru.

Menginstal library

Kami menyediakan library Cloud Logging untuk Ruby, yang menyediakan implementasi logger yang mudah digunakan untuk framework web Ruby berbasis Rack:

  1. Tambahkan gem Google Cloud Observability ke Gemfile Anda:

    gem "stackdriver"
  2. Gunakan Bundler untuk menginstal gem:

    bundle install
    

Mengaktifkan library

Jika Anda menggunakan Ruby on Rails, Bundler akan otomatis memuat library ke dalam aplikasi Anda saat dimulai, yang menetapkan Rails.logger default ke instance logger Cloud Logging.

Aplikasi berbasis Rack lainnya dapat menggunakan Rack Middleware untuk mengganti logger Rack dengan logger Cloud Logging jika framework web Anda mendukung logger Rack:

require "google/cloud/logging"

use Google::Cloud::Logging::Middleware

Mengonfigurasi library

Anda dapat menyesuaikan perilaku library Cloud Logging untuk Ruby. Lihat konfigurasi library untuk mengetahui daftar opsi konfigurasi yang mungkin.

Menggunakan Logger Cloud Logging

Setelah library Cloud Logging untuk Ruby diaktifkan, Anda dapat menggunakan logger di aplikasi Anda:

logger.info "Hello World!"
logger.error "Oh No!"

Untuk mengetahui informasi selengkapnya tentang penginstalan, lihat dokumentasi untuk library Cloud Logging untuk Ruby. Anda juga dapat melaporkan masalah menggunakan the issue tracker.

Menulis log dengan library klien Cloud Logging

Untuk mengetahui informasi tentang cara menggunakan library klien Cloud Logging untuk Ruby secara langsung, lihat Library Klien Cloud Logging.

Menjalankan di Google Cloud

Agar aplikasi dapat menulis log menggunakan library Cloud Logging untuk Ruby, akun layanan untuk resource yang mendasarinya harus memiliki peran IAM Penulis Log (roles/logging.logWriter) . Sebagian besar Google Cloud lingkungan otomatis mengonfigurasi akun layanan default agar memiliki peran ini.

App Engine

Cloud Logging otomatis diaktifkan untuk App Engine, dan akun layanan default aplikasi Anda memiliki izin IAM secara default untuk menulis entri log.

Untuk mengetahui informasi selengkapnya, lihat Menulis dan melihat log.

Google Kubernetes Engine (GKE)

GKE otomatis memberikan peran IAM Penulis Log (roles/logging.logWriter) kepada akun layanan default. Jika Anda menggunakan Workload Identity Federation for GKE dengan akun layanan default ini agar workload dapat mengakses Google Cloud API tertentu, tidak diperlukan konfigurasi tambahan. Namun, jika Anda menggunakan Workload Identity Federation for GKE dengan akun layanan IAM kustom, pastikan akun layanan kustom tersebut memiliki peran Penulis Log (roles/logging.logWriter).

Jika diperlukan, Anda juga dapat menggunakan perintah berikut untuk menambahkan cakupan akses logging.write saat membuat cluster:

gcloud container clusters create example-cluster-name \
    --scopes https://www.googleapis.com/auth/logging.write

Compute Engine

Saat menggunakan Compute Engine instance VM, tambahkan cloud-platform cakupan akses ke setiap instance. Saat membuat instance baru melalui Google Cloud konsol, Anda dapat melakukannya di bagian Identity and API access pada panel Create Instance. Gunakan akun layanan default Compute Engine atau akun layanan lain pilihan Anda, dan pilih Allow full access to all Cloud APIs di bagian Identity and API access. Akun layanan mana pun yang Anda pilih, pastikan akun tersebut telah diberi peranPenulis Log di bagian IAM & Admin di konsol.Google Cloud

Menjalankan secara lokal dan di tempat lain

Untuk menggunakan library Cloud Logging untuk Ruby di luar Google Cloud, termasuk menjalankan library di workstation Anda sendiri, di komputer pusat data Anda atau di instance VM penyedia cloud lain, Anda harus menyiapkan Kredensial Default Aplikasi (ADC) di lingkungan lokal Anda untuk melakukan autentikasi ke library Cloud Logging untuk Ruby.

Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan lokal atau penyedia cloud lainnya.

Menggunakan antarmuka konfigurasi Ruby on Rails:

Berikan parameter melalui antarmuka konfigurasi Ruby on Rails jika Anda menggunakan framework Ruby on Rails:

# Add this to config/environments/*.rb
Rails.application.configure do |config|
  # Stackdriver Logging specific parameters
  config.google_cloud.logging.project_id = "YOUR-PROJECT-ID"
  config.google_cloud.logging.keyfile    = "/path/to/service-account.json"
end

Anda juga dapat menetapkan konfigurasi bersama untuk semua gem Google Cloud Observability menggunakan:

# Add this to config/environments/*.rb
Rails.application.configure do |config|
  # Stackdriver Shared parameters
  config.google_cloud.project_id = "YOUR-PROJECT-ID"
  config.google_cloud.keyfile    = "/path/to/service-account.json"
end

Logging diaktifkan secara default saat Rails berjalan dalam mode produksi. Untuk mengaktifkan Logging dalam mode pengembangan, tambahkan add berikut:

# Add this to config/environments/development.rb
Rails.application.configure do |config|
  config.google_cloud.use_logging = true
end

Menggunakan antarmuka konfigurasi instrumentasi:

Berikan parameter melalui antarmuka konfigurasi saat digunakan di aplikasi berbasis Rack lainnya:

require "google/cloud/logging"

Google::Cloud.configure do |config|
  # Stackdriver Logging specific parameters
  config.logging.project_id = "YOUR-PROJECT-ID"
  config.logging.keyfile    = "/path/to/service-account.json"
end

Anda juga dapat menetapkan konfigurasi bersama untuk semua gem Google Cloud Observability menggunakan:

require "stackdriver"

Google::Cloud.configure do |config|
  # Stackdriver Shared parameters
  config.project_id = "YOUR-PROJECT-ID"
  config.keyfile    = "/path/to/service-account.json"
end

Melihat log

Di Google Cloud konsol, buka halaman Logs Explorer:

Buka Logs Explorer

Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.

Di Logs Explorer, Anda harus menentukan satu atau beberapa resource, tetapi pemilihan resource mungkin tidak jelas. Berikut beberapa tips yang dapat membantu Anda memulai:

Untuk mengetahui informasi tambahan, lihat Menggunakan Logs Explorer.