Log sinkronisasi

Log adalah cara yang baik untuk memecahkan masalah terkait penginstalan hybrid Apigee. Lihat Logging untuk mengetahui detailnya.

Anda dapat melihat log sinkronisasi Apigee menggunakan perintah kubectl logs. Contoh:
kubectl logs -n apigee apigee-synchronizer-apigee-example-test

Entri log sinkronisasi

Tabel berikut menjelaskan kolom yang akan Anda lihat dalam file log Syncr.

Kolom Menunjukkan
org: Nama organisasi
env: Nama lingkungan
target: Jalur entitas yang diwakili oleh entri log
action: Tindakan SYNC=Tindakan sinkronisasi upstream

RELICAT=Mereplikasi/mendownload tindakan

context-id: Versi kontrak jika berlaku

Contoh:

2019-02-05 00:00:59,098 org:hybrid env:test target: action:SYNC context-id: mode: Apigee-Timer-5 INFO  CONFIG-CHANGE - SyncContext.syncUpStream() : Upstream sync started with https://apigee.googleapis.com

Memahami log Menyinkronkan

Jika Anda perlu memecahkan masalah dengan Synchronizer, lihat file log. Tabel berikut dapat membantu Anda memecahkan masalah error yang mungkin terlihat di log Synchronizer. Lihat juga Logging.

Entri log Apa maksudnya
org:test env:dev target: action:SYNC context-id: mode: Apigee-Timer-0 INFO CONFIG-CHANGE - SyncContext.syncUpStream() : Upstream sync started with http://localhost:8080 Polling upstream dimulai untuk organisasi dan lingkungan lalu diberi URL bidang pengelolaan
2019-01-21 16:58:02,275 org:test env:qa target: action:SYNC context-id: mode: Apigee-Timer-1 INFO CONFIG-CHANGE - ManagementServerBasedReplicationContext.getContract() : Upstream contract poll returned 200 Kontrak berhasil diterima
2019-01-21 16:58:02,536 org:test env:dev target: action:SYNC context-id: mode: Apigee-Timer-0 INFO CONFIG-CHANGE - ManagementServerBasedReplicationContext.getContract() : Received a new contract version 20190121.090851.339 Versi kontrak telah diterima
2019-01-21 17:58:56,530 org:test env:qa target:/organizations/test/environments/qa action:REPLICATE context-id:20190121.090859.699 mode: Apigee-Timer-1 INFO CONFIG-CHANGE - ConfigReplicator.startReplication() : Replication started Menunjukkan Replikasi dimulai. Isian MDC menunjukkan detail tentang apa yang sedang direplikasi
2019-01-21 17:58:56,654 org:test env:qa target:/organizations/test/environments/qa/resourcefiles/js/JavaScriptCallout.js action:REPLICATE context-id:20190121.090859.699 mode: Apigee-Timer-1 INFO CONFIG-CHANGE - ConfigReplicator.startReplication() : Replication complete Menunjukkan Replikasi selesai. Isian MDC menunjukkan detail tentang apa yang sedang direplikasi
2019-01-21 17:58:56,654 org:test env:qa target:/organizations/test/environments/qa action:REPLICATE context-id:20190121.090859.699 mode: Apigee-Timer-1 ERROR CONFIG-CHANGE - ConfigReplicator.startReplication() : Replication failed Mengindikasikan error replikasi
2019-01-21 17:59:00,246 org:test env:qa target: action:SYNC context-id: mode: Apigee-Timer-1 INFO CONFIG-CHANGE - SyncContext.syncUpStream() : Upstream sync finished in 4 seconds Menunjukkan akhir siklus sinkronisasi dan juga memberikan waktu yang diperlukan untuk sinkronisasi
2019-01-21 18:00:00,249 org:test env:dev target: action:SYNC context-id: mode: Apigee-Timer-1 INFO CONFIG-CHANGE - ManagementServerBasedReplicationContext.getContract() : Upstream contract poll returned 304 Menunjukkan bahwa kontrak yang lebih baru tidak tersedia
2019-01-21 18:21:39,128 org:test env:qa target: action:SYNC context-id: mode: Apigee-Timer-1 ERROR CONFIG-CHANGE - ManagementServerBasedReplicationContext.getContract() : Upstream contract poll returned error 0 Menunjukkan bahwa bidang pengelolaan tidak dapat dijangkau
2019-01-21 18:21:39,128 org:test env:qa target: action:SYNC context-id: mode: Apigee-Timer-1 ERROR CONFIG-CHANGE - ManagementServerBasedReplicationContext.getContract() : Upstream contract poll returned error 404 Menunjukkan bahwa bidang pengelolaan menampilkan respons 404 untuk kontrak
2019-01-21 18:22:39,217 org:test1 env:dev target: action:SYNC context-id: mode: Apigee-Timer-2 ERROR CONFIG-CHANGE - ManagementServerBasedReplicationContext.getContract() : Upstream contract poll returned error 403 Menunjukkan bahwa lingkungan yang di-polling tidak mendukung hybrid
2019-01-21 18:22:39,217 org:test1 env:dev target: action:SYNC context-id: mode: Apigee-Timer-2 ERROR CONFIG-CHANGE - ManagementServerBasedReplicationContext.getContract() : Upstream contract poll returned error 401 Kredensial yang diberikan mengalami beberapa masalah

Pemecahan masalah error

Log adalah cara yang baik untuk memecahkan masalah terkait penginstalan. Lihat Logging untuk mengetahui detailnya.

Penyinkron gagal memulai

Berikut adalah beberapa error dan penjelasan perbaikannya. Setiap pesan error ini dimulai dengan ErrorCode dengan jenis sync.xxxxx. Di bawah ini adalah kemungkinan kode error

sync.NullOrEmptyConfig

Pesan: Konfigurasi kosong atau null yang disediakan melalui com.apigee.sync.config

Alasan: Anda akan melihat pesan error ini jika properti konfigurasi Sinkronisasi tidak diberikan dengan benar.

Upaya Hukum: Pastikan semua properti konfigurasi diisi dengan nilai yang sesuai.

sync.ConfigFileNotFound

Alasan: Synchronizer ditetapkan untuk membaca properti konfigurasinya dari file, tetapi file tidak dapat dimuat

Upaya Hukum: memastikan file tersedia dan dapat diakses selama booting Synchronizer

sync.IncorrectSettings

Alasan: Satu atau beberapa properti konfigurasi yang diperlukan tidak ada dalam konfigurasi Synchronizer atau properti tersebut berada di luar rentang yang diharapkan. Error harus memiliki detail selengkapnya tentang properti persis yang menyebabkan masalah. Error ini sudah menjadi bawaan dalam parser untuk memastikan bahwa error setelan serta error tersebut tertangkap bahkan sebelum layanan dimulai.

Tabel berikut mencantumkan beberapa kemungkinan error ErrorSettings:

Error Yang salah
configuration.json.IncorrectSettings: [com.apigee.sync.config.json] Error:/controlPlane/retries numeric instance is greater than the required maximum (maximum: 3, found: 20) Nilai yang diberikan ke kolom percobaan ulang di bagian controlPlane telah melebihi batas yang diizinkan
configuration.json.IncorrectSettings: [com.apigee.sync.config.json] Error:/controlPlane/connectionTimeout numeric instance is lower than the required minimum (minimum: 10, found: 1) Nilai yang diberikan ke kolom connectionTimeout di bagian controlPlane lebih rendah dari yang diizinkan
configuration.json.IncorrectSettings: [com.apigee.sync.config.json] Error:/controlPlane object has missing required properties ([\"contractProvider\"]) bagian controlPlane tidak memiliki kolom wajib contractProvider
configuration.json.IncorrectSettings: [com.apigee.sync.config.json] Error:/controlPlane/contractProvider string \"http://\\uapi.apigee.com\" is not a valid URI URI penyedia kontrak bukan URI yang valid
configuration.json.IncorrectSettings: [com.apigee.sync.config.json] Error:/environments array is too short: must have at least 1 elements but instance has 0 elements Array lingkungan harus memiliki setidaknya satu lingkungan
configuration.json.IncorrectSettings: [com.apigee.sync.config.json] Error:/environments/0 object has missing required properties ([\"environmentName\"]) Lingkungan pada indeks 0 tidak memiliki kolom wajib environmentName
configuration.json.IncorrectSettings: [com.apigee.sync.config.json] Error:/environments/0 object has missing required properties ([\"organizationName\"]) Lingkungan pada indeks 0 tidak memiliki kolom wajib organizationName
configuration.json.IncorrectSettings: [com.apigee.sync.config.json] Error:/environments/0/pollInterval numeric instance is lower than the required minimum (minimum: 60, found: 6) Lingkungan pada indeks 0 memiliki interval polling yang berada di bawah batas 60 yang diizinkan

Upaya hukum: Memperbaiki setelan untuk menyertakan blok yang diperlukan

sync.ReplicationRootDoesNotExist

Alasan: Synchronizer dilengkapi dengan root replikasi yang tidak ada

Upaya hukum: memastikan folder root yang disediakan ada dan dapat ditulisi

sync.ReadOnlyReplicationRoot

Alasan: Synchronizer dilengkapi dengan root replikasi yang tidak memiliki izin tulis

Upaya hukum: memastikan folder root yang disediakan ada dan dapat ditulisi

sync.ReplicationRootNotADir

Alasan: Synchronizer dilengkapi dengan root replikasi yang mungkin berupa file

Upaya hukum: memastikan folder root yang disediakan ada dan dapat ditulisi

sync.InvalidControlPlaneURL

Alasan: Sinkronisasi dilengkapi dengan URL konfigurasi yang kosong

Upaya hukum: Pastikan folder root yang disediakan ada dan dapat ditulisi

sync.InvalidControlPlaneSubscriptionURL

Alasan: Sinkronisasi disertakan dengan URL konfigurasi yang salah, tidak lengkap, atau kosong untuk pembuatan langganan.

Upaya Hukum: Perbaiki URL menjadi URL konfigurasi yang valid untuk pembuatan langganan pub/sub guna menangani sinyal dari bidang kontrol.

sync.InvalidControlPlaneUnsubscriptionURL

Alasan: Penyinkron diberi URL konfigurasi yang salah, tidak lengkap, atau kosong untuk penghapusan langganan.

Upaya Hukum: Perbaiki URL menjadi URL konfigurasi yang valid agar penghapusan langganan pub/sub dapat menangani sinyal dari bidang kontrol.

sync.CannotCreateEnvironmentFolder

Alasan: Synchronizer mencoba membuat folder untuk mereplikasi qa lingkungan, tetapi tidak dapat membuat folder yang diperlukan

Upaya hukum: memastikan root replikasi tidak memiliki lokasi yang bertentangan dengan nama yang sama yang merupakan file hanya baca

sync.DuplicateEnvironmentEntries

Alasan: Lingkungan yang sama telah ditambahkan beberapa kali dalam konfigurasi.

Upaya Hukum: Setiap lingkungan hanya dapat ditentukan satu kali.

sync.DiskExceedsAllowedCapacity

Alasan: Disk penyimpanan yang disediakan sudah mencapai kapasitas batas yang disediakan melalui properti konfigurasi.

Upaya Hukum: Pastikan tersedia kapasitas disk yang cukup atau periksa apakah setelan penyimpanan dapat disesuaikan untuk memungkinkan lebih banyak ruang disk.

sync.OwnershipClaimFailed

Alasan: Sinkronisasi mencoba mengklaim kepemilikan pada folder lingkungan, tetapi gagal

Upaya Hukum: setiap Penyinkron akan mencoba memastikan terlebih dahulu bahwa ia adalah satu-satunya penulis dalam sistem file. Error tersebut menunjukkan jalur dan alasan kegagalan. Mengatasi akar masalahnya

Error sinkronisasi selama runtime

Error Sinkronisasi berikut dapat terjadi selama runtime.

sync.replicators.PollReturnedError

Pesan terkait akan menyertakan status upstream. Berikut adalah status error

status 0

Alasan: Menunjukkan masalah konektivitas. Bidang pengelolaan tidak dapat dijangkau

Upaya Hukum: Pastikan detail bidang pengelolaan sudah benar dan API kontrak dapat dijangkau

status 404

Alasan: Kemungkinan besar nama org/env tidak ditemukan di server

Upaya Hukum: Pastikan detail bidang pengelolaan sudah benar dan API kontrak dapat dijangkau

status 401

Alasan: Kemungkinan besar kredensial yang diberikan tidak memiliki hak istimewa admin org.

Upaya Hukum: Pastikan kredensial bidang pengelolaan sudah benar dan API kontrak dapat dijangkau

status 403

Alasan: Menunjukkan bahwa lingkungan yang di-polling tidak disiapkan sebagai lingkungan hybrid

Upaya Hukum: Pastikan organisasi memiliki tanda yang diperlukan "features.hybrid.enabled=true"

sync.OwnershipClaimedByOther

Alasan: Selama operasi, Synchronizer menemukan bahwa root file sedang diakses oleh instance Syncr lain. (Hal ini dapat terjadi jika sistem file dibagikan di antara Sinkronisasi.)

Upaya Hukum: Mengatasi masalah utama untuk memastikan tidak ada dua instance Synchronizer yang menggunakan sistem file yang sama. Sinkronisasi akan menandai dirinya sendiri dan akan berada dalam posisi yang tidak dapat dipulihkan di sini. Ini juga memastikan bahwa Sinkronisasi lain yang mengakses root file yang sama akan diberi tahu tentang hal ini melalui file kepemilikan mereka

sync.DiskExceedsAllowedCapacity

Alasan: Selama operasi Synchronizer menyadari bahwa kapasitas disk telah melebihi batas yang diizinkan.

Upaya Hukum: Pada tahap ini, Synchronizer akan membatalkan download apa pun dan mencoba operasi pembersihan file yang sudah tidak berlaku. Namun, hal ini dapat menjadi kondisi berulang dan satu-satunya cara untuk memulihkan sepenuhnya adalah dengan memastikan Synchronizer memiliki memori disk yang cukup untuk beroperasi.

Mendiagnosis kegagalan download kontrak

Jika Anda melihat "polling kontrak upstream" di pesan error, coba panggil API kontrak dan periksa detailnya, dengan nama pengguna adalah nama pengguna Apigee (alamat email Anda). Kontrak mewakili seluruh kumpulan data yang didownload oleh Synchronizer dari bidang pengelolaan.

curl https://apigee.googleapis.com/v1/organizations/org/environments/env/contracts/1.0 -u username