Ekstensi Logging Google Cloud

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

Versi 2.0.1

Menulis entri ke log Cloud Logging.

Konten ini memberikan 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 mengetahui petunjuk 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 Konsol Google Cloud 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 panggilan oleh kebijakan ExtensionCallout yang berada di PostClientFlow. Jika Anda ingin menggunakan kebijakan ExtensionCallout untuk memanggil ekstensi ini dari PostClientFlow, pastikan flag features.allowExtensionsInPostClientFlow ditetapkan ke true di organisasi Anda.

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

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

Tentang Cloud Logging

Cloud Logging adalah bagian dari Google Cloud Operations Suite. Layanan 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 menulis entri ke log. Untuk mengetahui informasi selengkapnya, lihat dokumen Cloud Logging.

Contoh

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

Log global

Kebijakan berikut menulis pesan This is a test ke log bernama example-log di resource Cloud Global. Dalam penggunaan sebenarnya, Anda mungkin akan memiliki pesan yang terdapat dalam variabel alur 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 memberikan referensi untuk mengonfigurasi dan menggunakan ekstensi ini. Untuk mengetahui 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 mengetahui informasi selengkapnya tentang entri log, lihat Referensi entri. Untuk mengetahui informasi tentang konten properti metadata, lihat objek LogEntry di 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 menjadi tujuan entri ini. String Tidak ada Ya
metadata Metadata tentang entri log.
Untuk mengetahui informasi dan opsi selengkapnya tentang cara menetapkan 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 atau menggunakan JSON untuk mencatat log 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 Men-debug ekstensi.

Referensi konfigurasi

Gunakan hal berikut saat Anda mengonfigurasi dan men-deploy ekstensi ini untuk digunakan dalam 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 harus dibuat. Tidak ada Ya
credentials Jika dimasukkan di konsol Apigee Edge, ini adalah konten file kunci akun layanan Anda. Jika dikirim menggunakan Management API, nilai ini adalah nilai yang dienkode base64 yang dihasilkan dari file kunci akun layanan. Tidak ada Ya