Log adalah cara yang baik untuk memecahkan masalah terkait penginstalan hybrid Apigee. Lihat Logging untuk mengetahui detailnya.
Entri log sinkronisasi
Tabel berikut menjelaskan kolom yang akan Anda lihat dalam file log Sinkronisasi.
Kolom | Menunjukkan |
---|---|
org: |
Nama organisasi |
env: |
Nama lingkungan |
target: |
Jalur entitas yang diwakili oleh entri log |
action: |
Tindakan SYNC=Tindakan sinkronisasi upstream
REPLICATE=Replikasi/download tindakan |
context-id: |
Versi kontrak di mana pun 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 Sinkronisasi
Jika Anda perlu memecahkan masalah terkait Sinkronisasi, lihat file log. Tabel berikut dapat membantu Anda memecahkan masalah error yang mungkin terlihat di log Sinkronisasi. Lihat juga Logging.
Entri log | Apa artinya |
---|---|
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 serta 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 awal Replikasi. Kolom 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. Kolom 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 disurvei 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 memiliki beberapa masalah |
Pemecahan masalah error
Log adalah cara yang baik untuk memecahkan masalah penginstalan Anda. Lihat Logging untuk mengetahui detailnya.
Penyinkron gagal memulai
Berikut adalah beberapa error dan penjelasan perbaikannya. Setiap pesan error ini dimulai dengan ErrorCode 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 saat properti konfigurasi Sinkronisasi tidak diberikan dengan benar.
Solusi: Pastikan semua properti konfigurasi diisi dengan nilai yang sesuai.
sync.ConfigFileNotFound
Alasan: Sinkronisasir disetel untuk membaca properti konfigurasinya dari file, tetapi file tidak dapat dimuat
Solusi: pastikan file tersedia dan dapat diakses selama booting Menyinkronkanr
sync.IncorrectSettings
Alasan: Satu atau beberapa properti konfigurasi yang diperlukan tidak ada dalam konfigurasi Sinkronisasi atau nilainya berada di luar rentang yang diharapkan. Error ini seharusnya memiliki detail lebih lanjut tentang properti yang menyebabkan masalah. Error ini terdapat di dalam parser untuk memastikan error setelan dan error tersebut terdeteksi bahkan sebelum layanan dimulai.
Tabel berikut mencantumkan beberapa kemungkinan error FalseSettings:
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 minimal satu lingkungan |
configuration.json.IncorrectSettings:
[com.apigee.sync.config.json] Error:/environments/0 object has
missing required properties
([\"environmentName\"]) |
Lingkungan di 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 di indeks 0 tidak memiliki kolom organizationName wajib |
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 |
Solusi: Perbaiki setelan untuk menyertakan blok yang diperlukan
sync.ReplicationRootDoesNotExist
Alasan: Sinkronisasir dilengkapi dengan root replikasi yang tidak ada
Solusi: pastikan folder root yang disediakan ada dan dapat ditulisi
sync.ReadOnlyReplicationRoot
Alasan: Sinkronisasir dilengkapi dengan root replikasi yang tidak memiliki izin tulis
Solusi: pastikan folder root yang disediakan ada dan dapat ditulisi
sync.ReplicationRootNotADir
Alasan: Sinkronisasir dilengkapi dengan root replikasi yang mungkin berupa file
Solusi: pastikan folder root yang disediakan ada dan dapat ditulisi
sync.InvalidControlPlaneURL
Alasan: Sinkronisasi dilengkapi dengan URL konfigurasi yang kosong
Solusi: Pastikan folder root yang disediakan ada dan dapat ditulisi
sync.InvalidControlPlaneSubscriptionURL
Alasan: Penyinkron diberi URL konfigurasi yang salah, tidak lengkap, atau kosong untuk pembuatan langganan.
Upaya Hukum: Perbaiki URL menjadi URL konfigurasi yang valid agar pembuatan langganan pub/sub dapat 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 untuk penghapusan langganan pub/sub guna menangani sinyal dari bidang kontrol.
sync.CannotCreateEnvironmentFolder
Alasan: SYNCr mencoba membuat folder untuk mereplikasi qa lingkungan, tetapi tidak dapat membuat folder yang diperlukan
Solusi: pastikan root replikasi tidak memiliki jalur yang bertentangan dengan nama yang sama yang merupakan file hanya baca
sync.DuplicateEnvironmentEntries
Alasan: Lingkungan yang sama ditambahkan beberapa kali dalam konfigurasi.
Upaya Hukum: Setiap lingkungan hanya dapat ditentukan satu kali.
sync.DiskExceedsAllowedCapacity
Alasan: Disk penyimpanan yang disediakan sudah mencapai batas kapasitas yang disediakan melalui properti konfigurasi.
Solusi: Pastikan tersedia kapasitas disk yang cukup atau periksa apakah setelan penyimpanan dapat disesuaikan untuk memungkinkan lebih banyak ruang disk.
sync.OwnershipClaimFailed
Alasan: Penyinkron mencoba mengklaim kepemilikan pada folder lingkungan, tetapi gagal
Upaya Hukum: setiap Sinkronisasi akan mencoba memastikan terlebih dahulu bahwa sinkronisasi merupakan satu-satunya penulis dalam sistem file. Error tersebut menunjukkan jalur dan alasan kegagalan. Mengatasi akar masalahnya
Error sinkronisasi selama runtime
Error Sinkronisasir 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 manajemen tidak dapat dijangkau
Upaya Hukum: Pastikan detail bidang pengelolaan benar dan contracts API dapat dijangkau
status 404
Alasan: Kemungkinan besar nama org/env tidak ditemukan di server
Upaya Hukum: Pastikan detail bidang pengelolaan benar dan contracts API dapat dijangkau
status 401
Alasan: Kemungkinan besar kredensial yang diberikan tidak memiliki hak istimewa admin org.
Upaya Hukum: Pastikan kredensial bidang pengelolaan benar dan contracts API dapat dijangkau
status 403
Alasan: Menunjukkan lingkungan yang disurvei tidak disiapkan sebagai lingkungan hybrid
Upaya Hukum: Pastikan organisasi memiliki tanda yang diperlukan "features.hybrid.enabled=true"
sync.OwnershipClaimedByOther
Alasan: Selama operasi, Sinkronisasir menemukan bahwa root file sedang diakses oleh instance Sinkronisasir lain. (Hal ini dapat terjadi jika sistem file dibagikan di antara Sinkronisasi.)
Solusi: Atasi masalah utama untuk memastikan tidak ada dua instance Sinkronkanr yang berbagi sistem file yang sama. Sinkronisasi akan menandai dirinya sendiri dan berada dalam posisi yang tidak dapat dipulihkan di sini. Cara ini juga memastikan bahwa Penyinkron lain yang mengakses {i>root file<i} yang sama akan diberi tahu tentang hal itu melalui file kepemilikan mereka
sync.DiskExceedsAllowedCapacity
Alasan: Selama operasi Sinkronisasir menyadari bahwa kapasitas disk telah melebihi batas yang diizinkan.
Solusi: Pada tahap ini, Menyinkronkanr akan membatalkan download apa pun dan mencoba operasi pembersihan file yang sudah tidak berlaku. Namun, hal ini dapat menjadi kondisi yang berulang dan satu-satunya cara untuk memulihkan sepenuhnya adalah memastikan bahwa Sinkronisasi memiliki memori disk yang cukup untuk beroperasi.
Mendiagnosis kegagalan download kontrak
Jika Anda melihat "polling kontrak upstream" pada pesan error, coba panggil API kontrak dan periksa detailnya, dengan nama pengguna adalah nama pengguna Apigee (alamat email Anda). Kontrak ini mewakili seluruh kumpulan data yang didownload oleh Sinkronisasi dari bidang pengelolaan.
curl https://apigee.googleapis.com/v1/organizations/org/environments/env/contracts/1.0 -u username