Anda sedang melihat dokumentasi Apigee dan Apigee Hybrid.
Tidak ada dokumentasi
Apigee Edge yang setara untuk topik ini.
Gejala
Mengirim log Apigee API ke Cloud Logging adalah kasus penggunaan umum. Hal ini umumnya dilakukan melalui kebijakan MessageLogging atau kebijakan ServiceCallout. Dalam kedua kasus tersebut, Apigee menggunakan Cloud Logging API untuk menulis log.
Dalam beberapa kasus, Anda mungkin tidak melihat log API Apigee di Cloud Logging.
Pesan error
Tidak ada pesan error yang ditampilkan.
Kemungkinan Penyebab
| Penyebab | Deskripsi | Petunjuk pemecahan masalah yang berlaku untuk |
|---|---|---|
| Cloud Logging API tidak diaktifkan | Pastikan Anda telah mengaktifkan Cloud Logging API di project organisasi Apigee Anda. Google Cloud | Apigee dan Apigee hybrid |
| IAM Service Account Credentials API tidak diaktifkan | Pastikan Anda telah mengaktifkan IAM Service Account Credentials API di project Google Cloud organisasi Apigee Anda. | Apigee dan Apigee hybrid |
| Akun layanan Proxy yang salah dikonfigurasi | Akun layanan yang digunakan pada waktu deployment (Apigee) atau dalam konfigurasi runtime (Apigee Hybrid) mungkin telah dihapus/salah dikonfigurasi. | Apigee dan Apigee hybrid |
| Nama project salah dalam konfigurasi kebijakan | Nama project dalam konfigurasi kebijakan tidak sama dengan nama project yang terkait dengan organisasi Apigee. | Apigee dan Apigee hybrid |
| Peran/izin untuk akun layanan runtime tidak ada | Untuk Apigee hybrid, pastikan akun layanan runtime memiliki peran Service Account Token Creator. Hal ini diperlukan untuk menggunakan autentikasi Google. | Apigee hybrid |
| Ukuran entri log melebihi batas Cloud Logging yang diizinkan | Cloud Logging memiliki batas ukuran entri 256 KB yang tidak dapat diubah. | Apigee dan Apigee hybrid |
| Penggunaan habis kuota permintaan tulis per menit untuk Cloud Logging API | Pastikan Anda tidak melebihi nilai kuota permintaan tulis per menit untuk Cloud Logging API di project Google Cloud Anda. | Apigee dan Apigee hybrid |
Penyebab: Cloud Logging API tidak diaktifkan
Diagnosis
Pastikan Cloud Logging API diaktifkan. Lihat Mencantumkan layanan yang diaktifkan untuk mengetahui petunjuk tentang cara mencantumkan API dan layanan yang diaktifkan di konsol Google Cloud .
Resolusi
Jika Cloud Logging API tidak diaktifkan, aktifkan menggunakan langkah-langkah di Mengaktifkan layanan. Diperlukan waktu beberapa menit untuk mengaktifkan API.
Jika Anda tidak dapat mengatasi masalah saat log tidak terlihat di Cloud Logging karena Cloud Logging API tidak diaktifkan, lihat Informasi diagnostik yang harus dikumpulkan.
Penyebab: IAM Service Account Credentials API tidak diaktifkan
Diagnosis
Pastikan IAM Service Account Credentials API sudah diaktifkan. Lihat Mencantumkan layanan yang diaktifkan untuk mengetahui petunjuk tentang cara mencantumkan API dan layanan yang diaktifkan di konsol Google Cloud .
Resolusi
Jika IAM Service Account Credentials API tidak diaktifkan, aktifkan menggunakan langkah-langkah di Mengaktifkan layanan. Diperlukan waktu beberapa menit untuk mengaktifkan API.
Jika Anda tidak dapat menyelesaikan masalah saat log tidak terlihat di Cloud Logging karena IAM Service Account Credentials API tidak diaktifkan, lihat Harus mengumpulkan informasi diagnostik.
Penyebab: Akun layanan proxy salah dikonfigurasi
Diagnosis
Apigee
- Temukan nama akun layanan.
- Menggunakan UI Apigee:
- Klik Develop > API Proxies, lalu klik nama proxy. Misalnya, TurboBooks.
-
Di bagian Deployments, nama Service Account ditampilkan.
-
Lakukan panggilan Apigee API berikut:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://apigee.googleapis.com/v1/organizations/ORG_NAME/environments/ENV_NAME/apis/PROXY_NAME/revisions/REVISION_NUMBER/deployments"
Ganti kode berikut:
- ORG_NAME: Nama organisasi Anda. Contoh,
apigee-example-org. - ENV_NAME: Nama lingkungan. Contoh,
myenv. - PROXY_NAME: Nama proxy. Contoh,
TurboBooks. - REVISION_NUMBER: Nomor revisi. Contoh,
4.
Contoh:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://apigee.googleapis.com/v1/organizations/apigee-example-org/environments/myenv/apis/TurboBooks/revisions/4/deployments"
Sesuatu yang mirip dengan berikut akan ditampilkan:
{ "environment": "myenv", "apiProxy": "TurboBooks", "revision": "4", "deployStartTime": "1687408163394", "state": "READY", "instances": [ { "instance": "apiginstance", "deployedRevisions": [ { "revision": "4", "percentage": 100 } . . . . "serviceAccount": "projects/-/serviceAccounts/envsa-79@apigee-example-org.iam.gserviceaccount.com" }
Dengan
serviceAccountadalah akun layanan yang terkait dengan proxy API. - ORG_NAME: Nama organisasi Anda. Contoh,
- Menggunakan UI Apigee:
- Verifikasi hal berikut untuk akun layanan proxy ini:
-
Akun layanan ini harus berada di project yang sama dengan project yang Anda gunakan untuk membuat organisasi Apigee. Google Cloud Misalnya,
apigee-example-org. -
Pengguna yang men-deploy proxy memiliki
izin
iam.serviceAccounts.actAsdi akun layanan ini.- Untuk mengetahui daftar peran, lihat Peran Akun Layanan.
- Untuk mengetahui petunjuk tentang cara melihat peran pengguna tertentu, lihat Melihat akses saat ini.
-
Akun layanan proxy memiliki izin yang diperlukan untuk memanggil
layanan Cloud Logging.
- Untuk mengetahui daftar peran, lihat Peran Logging.
- Untuk mengetahui petunjuk tentang cara melihat izin akun layanan proxy, lihat Melihat akses saat ini.
-
Akun layanan ini harus berada di project yang sama dengan project yang Anda gunakan untuk membuat organisasi Apigee. Google Cloud Misalnya,
Apigee hybrid
Untuk Apigee Hybrid, selain langkah-langkah yang tercantum di
Apigee, buka file overrides.yaml Anda
dan pastikan ada akun layanan yang ditentukan di setiap lingkungan
yang memerlukan autentikasi Google.
Contoh:
envs:
- name: "ENVIRONMENT_NAME"
serviceAccountPaths:
runtime: "KEY_FILE_PATH"Ganti kode berikut:
-
ENVIRONMENT_NAME: Nama lingkungan. Sebagai contoh,
myenv. - KEY_FILE_PATH: Jalur ke file kunci akun layanan runtime. Anda biasanya sudah membuat akun layanan di Membuat akun layanan selama penginstalan.
Resolusi
- Jika akun layanan tidak berada di Google Cloud project yang sama dengan yang Anda gunakan untuk membuat organisasi Apigee, akun layanan harus dibuat di Google Cloud project yang sama dan digunakan. Hal ini juga disebutkan dalam Menggunakan autentikasi Google.
-
Jika pengguna yang men-deploy proxy tidak memiliki izin
iam.serviceAccounts.actAsdi akun layanan ini, lihat Memberi satu peran. - Jika akun layanan proxy tidak memiliki izin yang diperlukan untuk memanggil layanan Cloud Logging, lihat Memberikan satu peran.
Jika langkah-langkah dalam dokumen ini tidak menyelesaikan masalah saat akun layanan proxy dikonfigurasi secara tidak benar untuk Apigee dan Apigee Hybrid, lihat Mengumpulkan informasi diagnostik yang diperlukan.
Penyebab: Nama project salah dalam konfigurasi kebijakan
Diagnosis
Jika Anda menggunakan kebijakan MessageLogging untuk mengirim log ke Cloud Logging:
- Di UI Apigee, klik tab Develop > API Proxies > API proxy name > Develop.
-
Di panel Kode, cari elemen
<CloudLogging>. -
Verifikasi bahwa nilai
<LogName>adalah nama project yang benar:<CloudLogging> <LogName>projects/PROJECT_ID/logs/LOG_ID</LogName> </CloudLogging>
Ganti kode berikut:
-
PROJECT_ID: Google Cloud Project ID. Misalnya,
apigee-example-org. - LOG_ID: ID log Cloud Logging. Sebagai contoh,
apigee-logs.
-
PROJECT_ID: Google Cloud Project ID. Misalnya,
Resolusi
Jika nilai dalam elemen <LogName> tidak memiliki
nilai yang benar, perbarui ke nilai yang benar.
Jika langkah-langkah dalam dokumen ini tidak menyelesaikan masalah, lihat Harus mengumpulkan informasi diagnostik.
Penyebab: Peran/izin untuk akun layanan runtime tidak ada
Diagnosis
Pastikan runtime dapat meniru identitas akun layanan proxy.
Jalankan perintah gcloud berikut untuk memverifikasi apakah akun layanan runtime memiliki peran iam.serviceAccountTokenCreator di akun layanan proxy:
gcloud iam service-accounts get-iam-policy PROXY_SA_NAME@PROJECT_ID.iam.gserviceaccount.com
Ganti kode berikut:
- PROXY_SA_NAME: Nama akun layanan proxy.
Contoh,
envsa-79. - PROJECT_ID: Google Cloud Project ID. Misalnya,
apigee-example-org.
Sesuatu yang mirip dengan berikut akan ditampilkan:
- members: - serviceAccount:RUNTIME_SA_NAME@PROJECT_ID.iam.gserviceaccount.com role: roles/iam.serviceAccountTokenCreator
Ganti kode berikut:
RUNTIME_SA_NAME: ID untuk akun layanan runtime.
Contoh, apigee-runtime.
Contoh:
gcloud iam service-accounts get-iam-policy envsa-79@apigee-example-org.iam.gserviceaccount.com
bindings:
- members:
- user:222larabrown@gmail.com
role: roles/iam.serviceAccountAdmin
- members:
- serviceAccount:apigee-runtime@apigee-example-org.iam.gserviceaccount.com
role: roles/iam.serviceAccountTokenCreator
- members:
- user:222larabrown@gmail.com
role: roles/iam.serviceAccountUser
etag: BwX-shcrL3o=
version: 1Jika Anda tidak melihat peran iam.serviceAccountTokenCreator
dan anggota yang diharapkan dalam output, ikuti langkah-langkah di
Penyelesaian untuk memberikan peran yang benar.
Resolusi
Berikan peran
iam.serviceAccountTokenCreator kepada akun layanan runtime di akun
layanan proxy dengan menjalankan
perintah gcloud berikut:
gcloud iam service-accounts add-iam-policy-binding \ PROXY_SA_NAME@PROJECT_ID.iam.gserviceaccount.com \ --member=serviceAccount:RUNTIME_SA_NAME@PROJECT_ID.iam.gserviceaccount.com \ --role=roles/iam.serviceAccountTokenCreator
Ganti kode berikut:
-
PROXY_SA_NAME: Nama akun layanan proxy. Contohnya,
envsa-79. -
PROJECT_ID: Google Cloud Project ID. Misalnya,
apigee-example-org. -
RUNTIME_SA_NAME: ID untuk akun layanan runtime. Contoh,
apigee-runtime.
Jika langkah-langkah dalam dokumen ini tidak menyelesaikan masalah, lihat Mengumpulkan informasi diagnostik yang diperlukan.
Penyebab: Ukuran entri log melebihi batas logging yang diizinkan
Diagnosis
Jika Anda tidak melihat beberapa log muncul di Cloud Logging setelah memastikan penyebab lain yang dijelaskan dalam dokumen ini bukan masalahnya, maka kemungkinan ukuran beberapa entri log yang dikirim dari Apigee melebihi 256 KB yang merupakan batas ketat untuk entri ukuran log di Cloud Logging. Lihat Batas penggunaan logging untuk mengetahui informasi selengkapnya.
Resolusi
Ini adalah batas yang tidak dapat dikonfigurasi yang ditetapkan di Cloud Logging dan satu-satunya solusi yang diketahui saat ini adalah menjaga ukuran entri log yang dikirim dari Apigee di bawah 256 KB. Jika Anda mencatat payload yang berpotensi melebihi batas ini, jangan mencatat payload ini, atau pahami bahwa beberapa transaksi tidak akan dicatat setelah batas tercapai.
Jika langkah-langkah dalam dokumen ini tidak menyelesaikan masalah, lihat Harus mengumpulkan informasi diagnostik.
Penyebab: Kuota permintaan tulis per menit untuk Cloud Logging API habis
Diagnosis
Terkadang pelanggan mengalami bahwa mereka dapat melihat permintaan dalam sesi debug, sementara pada saat yang sama, permintaan tidak dicatat ke dalam Logs Explorer, meskipun ada dalam log Load Balancer.
Kehilangan pesan yang diamati dapat disebabkan oleh habisnya kuota dalam project. Cloud Logging API menerapkan batas kapasitas 120.000 permintaan tulis per menit. Jika kuota ini terlampaui, pesan dapat hilang.Untuk mengetahui informasi selengkapnya, lihat Melihat dan mengelola kuota.
Kuota ini dapat ditingkatkan dalam Google Cloud console dan pelanggan dapat melakukannya sendiri dengan mengikuti dokumentasi peningkatan kuota.
Resolusi
Ikuti prosedur di bawah untuk menambah kuota:
- Di halaman Quotas , gunakan kotak centang untuk memilih Cloud Logging API, lalu klik Edit quotas.
Jika Anda mendapatkan error
Edit is not allowed for this quota, Anda dapat menghubungi Google Cloud Customer Care untuk meminta perubahan pada kuota. Perhatikan juga bahwa penagihan harus diaktifkan di project Google Cloud agar kotak centang dapat diklik. - Di panel Perubahan kuota, pilih layanan untuk meluaskan tampilan, lalu isi kolom Batas baru dan Deskripsi permintaan. Klik Next.
- Lengkapi formulir di panel Detail kontak, lalu klik Kirim permintaan.
Untuk mengetahui informasi selengkapnya, lihat dokumentasi ini untuk Kuota dan batas.
Harus mengumpulkan informasi diagnostik
Jika masalah berlanjut bahkan setelah mengikuti petunjuk di atas, kumpulkan informasi diagnostik berikut, lalu hubungi Layanan Pelanggan Google Cloud:
- Organisasi Apigee.
- Lingkungan dan proxy API yang mengalami masalah.
- Sesi debug yang didownload (ini akan memberikan semua info di atas).
- Nama kebijakan tertentu di proxy API yang mengirim log ke Cloud Logging.
- Untuk Apigee Hybrid: File
overrides.yaml.