Ekstensi Logging Google Cloud

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Versi 1.6.1

Menulis entri ke log Cloud Logging.

Konten ini menyediakan referensi untuk mengonfigurasi dan menggunakan ekstensi ini.

Prasyarat

Sebelum menggunakan ekstensi ini dari proxy API, Anda harus:

  1. Di IAM, tetapkan peran Logging > Logs Writer ke anggota project yang akan mewakili ekstensi Anda ke sistem Cloud Logging. Untuk petunjuk tentang cara memberikan peran, lihat Memberikan peran ke akun layanan untuk resource tertentu. Untuk mengetahui informasi selengkapnya tentang peran logging, lihat Panduan Kontrol Akses.

  2. Gunakan Google Cloud Console untuk membuat kunci untuk akun layanan.

  3. Gunakan konten file JSON kunci yang dihasilkan saat menambahkan dan mengonfigurasi ekstensi menggunakan referensi konfigurasi.

Ekstensi ini mendukung pemanggilan kebijakan ExtensionCallout yang berada di PostClientFlow. Jika Anda ingin menggunakan kebijakan ExtensionCallout untuk memanggil ekstensi ini dari PostClientFlow, pastikan tanda features.allowExtensionsInPostClientFlow disetel ke true di organisasi Anda.

  • Jika Anda adalah pelanggan Apigee Edge untuk Cloud Publik, Anda harus menghubungi Dukungan Apigee Edge untuk memastikan bahwa flag features.allowExtensionsInPostClientFlow ditetapkan ke true di organisasi Anda.

  • Jika Anda adalah pelanggan Apigee Edge untuk Private Cloud, gunakan Update organization properties API untuk menetapkan tanda features.allowExtensionsInPostClientFlow ke true.

Tentang Cloud Logging

Cloud Logging adalah bagian dari Google Cloud Operations Suite. Paket ini mencakup penyimpanan untuk log, antarmuka pengguna yang disebut Logs Explorer, dan API untuk mengelola log secara terprogram. Dengan Cloud Logging, Anda dapat membaca dan menulis entri log, menelusuri dan memfilter log, mengekspor log, serta membuat metrik berbasis log.

Ekstensi Cloud Logging saat ini menulis entri ke log. Untuk mengetahui informasi selengkapnya, lihat dokumentasi Cloud Logging.

Contoh

Contoh berikut menggambarkan cara mengonfigurasi dukungan untuk tindakan ekstensi Cloud Logging menggunakan kebijakan ExtensionCallout.

Log global

Kebijakan berikut menulis pesan This is a test ke log yang disebut example-log di resource Cloud Global. Pada penggunaan sebenarnya, Anda mungkin memiliki pesan yang dimuat dalam variabel flow yang nilainya Anda tetapkan di tempat lain dalam proxy API.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Logging-Extension">
    <DisplayName>Logging Connector</DisplayName>
    <Connector>cloud-extension-sample</Connector>
    <Action>log</Action>
    <Input><![CDATA[{
        "logName": "example-log",
        "metadata": {
            "resource": {
                "type": "global",
                "labels": {
                    "project_id": "my-test"
                }
            }
        },
        "message": "This is a test."
    }]]></Input>
</ConnectorCallout>

Konten ini menyediakan referensi untuk mengonfigurasi dan menggunakan ekstensi ini. Untuk langkah-langkah mengonfigurasi ekstensi menggunakan konsol Apigee, lihat Menambahkan dan mengonfigurasi ekstensi.

Tindakan

log

Menulis pesan ke log.

Tindakan ini menulis entri log Cloud Logging. Entri log terdiri dari metadata dan data entri. Untuk informasi selengkapnya tentang entri log, lihat Referensi entri. Untuk mengetahui informasi tentang konten properti metadata, lihat objek LogEntry dalam dokumentasi Cloud Logging.

Sintaksis

<Action>log</Action>
<Input><![CDATA[{
  "logName" : "cloud-log-name-to-use",
  "metadata" : JSON-structured-metadata,
  "message" : "data-to-log-as-entry"
}]]></Input>

Contoh: String

<Action>log</Action>
<Input><![CDATA[{
  "logName" : "example-log",
  "metadata" : { "resource" : { "type" : "global" } },
  "message": "This is a test."
}]]></Input>

Contoh: JSON

<Action>log</Action>
<Input><![CDATA[{
  "logName" : "example-log",
  "metadata" : { "resource" : { "type" : "global" } },
  "message" : { "info" :  "This is a test." }
}]]></Input>

Parameter permintaan

Parameter Deskripsi Jenis Default Wajib
logName Nama log yang memiliki entri ini. String Tidak ada Ya
metadata Metadata tentang entri log.
Untuk informasi dan opsi selengkapnya tentang menyetel type dan labels di metadata, lihat MonitoredResource.
JSON Tidak ada Tidak
message Data yang akan digunakan sebagai nilai untuk entri log ini. Anda dapat menentukan string sederhana atau menggunakan JSON untuk mencatat pesan yang lebih terstruktur. String atau JSON Tidak ada Ya

Respons

None jika pesan ditulis ke log. Jika tidak, permintaan akan menampilkan error. Lihat juga Proses debug ekstensi.

Referensi konfigurasi

Gunakan hal berikut saat Anda mengonfigurasi dan men-deploy ekstensi ini untuk digunakan di proxy API.

Properti ekstensi umum

Properti berikut ada untuk setiap ekstensi.

Properti Deskripsi Default Wajib
name Nama yang Anda berikan pada konfigurasi ekstensi ini. Tidak ada Ya
packageName Nama paket ekstensi seperti yang diberikan oleh Apigee Edge. Tidak ada Ya
version Nomor versi untuk paket ekstensi tempat Anda mengonfigurasi ekstensi. Tidak ada Ya
configuration Nilai konfigurasi khusus untuk ekstensi yang Anda tambahkan. Lihat Properti untuk paket ekstensi ini Tidak ada Ya

Properti untuk paket ekstensi ini

Tentukan nilai untuk properti konfigurasi berikut yang khusus untuk ekstensi ini.

Properti Deskripsi Default Wajib
projectId ID project Google Cloud tempat log akan dibuat. Tidak ada Ya
credentials Saat dimasukkan di konsol Apigee Edge, ini adalah isi file kunci akun layanan Anda. Saat dikirim melalui API pengelolaan, nilai tersebut adalah nilai berenkode base64 yang dihasilkan dari file kunci akun layanan. Tidak ada Ya