Log sinkronisasi

Log adalah cara yang baik untuk memecahkan masalah terkait Apigee Hybrid penginstalan. 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 penyinkron

Tabel berikut menjelaskan {i>field<i} yang akan Anda lihat di File log penyinkron.

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

replikasi=Tindakan mereplikasi/mendownload

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 Sinkronisasi

Jika Anda perlu memecahkan masalah dengan Synchronizer, melihat file log. Tabel berikut dapat membantu Anda yang dapat dilihat 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 tersebut, lalu diberikan 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 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 hal yang 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 hal yang 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 Menunjukkan 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 dibutuhkan 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 terkait penginstalan. Lihat Logging untuk mengetahui detailnya.

Sinkronisasi gagal dimulai

Berikut adalah beberapa kesalahan dan cara perbaikannya dijelaskan. Masing-masing pesan error ini dimulai dengan ErrorCode jenis sync.xxxxx. Di bawah ini adalah kemungkinan kode error

sync.NullOrEmptyConfig

Pesan: Null atau konfigurasi kosong yang disediakan melalui com.apigee.sync.config

Alasan: Anda akan melihat pesan error ini saat properti konfigurasi Sinkronkanr tidak disediakan mereka dapat terus berjalan dengan baik.

Solusi: Pastikan semua properti konfigurasi diisi dengan nilai yang sesuai.

sync.ConfigFileNotFound

Alasan: Synchronizer disetel untuk membaca properti konfigurasi dari sebuah file, tetapi file tersebut tidak dapat dimuat

Upaya Hukum: pastikan file tersedia dan dapat diakses selama booting Sinkronisasir

sync.IncorrectSettings

Alasan: Satu atau beberapa konfigurasi yang diperlukan hilang dari konfigurasi Sinkronisasi atau properti nilai yang berada di luar rentang yang diharapkan. Error seharusnya memiliki detail lebih lanjut tentang properti yang menyebabkan masalah. Kesalahan ini sudah dimasukkan ke dalam parser untuk memastikan bahwa dan kesalahan setelan akan ditangkap bahkan sebelum layanan dimulai.

Tabel berikut mencantumkan beberapa kemungkinan Setelan Salah error:

Error Apa 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 dimasukkan ke kolom percobaan ulang di bagian controlPlane memiliki 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 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 di indeks 0 tidak memiliki bidang 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 bidang 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 yang diizinkan sebesar 60

Upaya Hukum: Perbaiki setelan untuk menyertakan hal yang diperlukan blokir

sync.ReplicationRootDoesNotExist

Alasan: Sinkronisasir dilengkapi dengan root replikasi yang tidak ada

Upaya hukum: pastikan folder root yang disediakan ada dan dapat ditulis

sync.ReadOnlyReplicationRoot

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

Upaya hukum: pastikan folder root yang disediakan ada dan dapat ditulis

sync.ReplicationRootNotADir

Alasan: Sinkronisasir dilengkapi dengan {i>root<i} replikasi yang mungkin berupa file

Upaya hukum: pastikan folder root yang disediakan ada dan dapat ditulis

sync.InvalidControlPlaneURL

Alasan: Sinkronisasir dilengkapi dengan URL konfigurasi yang kosong

Solusi: Pastikan folder root yang disediakan ada dan dapat ditulis

sync.InvalidControlPlaneSubscriptionURL

Alasan: Sinkronisasir dilengkapi dengan URL konfigurasi untuk pembuatan langganan salah, tidak lengkap, atau kosong.

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

sync.InvalidControlPlaneUnsubscriptionURL

Alasan: Sinkronisasir dilengkapi dengan URL konfigurasi untuk penghapusan langganan salah, tidak lengkap, atau kosong.

Upaya Hukum: Koreksi URL menjadi URL konfigurasi yang valid untuk penghapusan langganan pub/sub untuk menangani sinyal dari bidang kontrol.

sync.CannotCreateEnvironmentFolder

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

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

sync.DuplicateEnvironmentEntries

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

Upaya Hukum: Setiap lingkungan hanya dapat ditentukan sekali.

sync.DiskExceedsAllowedCapacity

Alasan: Disk penyimpanan yang disediakan sudah berada kapasitas minimum yang disediakan melalui properti konfigurasi.

Solusi: Pastikan ada kapasitas disk yang cukup atau periksa apakah pengaturan penyimpanan dapat diatur untuk memungkinkan lebih banyak {i>disk<i} spasi.

sync.OwnershipClaimFailed

Alasan: Sinkronisasir mencoba mengklaim kepemilikan di folder lingkungan tetapi gagal

Upaya Hukum: setiap Sinkronisasi akan terlebih dahulu mencoba memastikan bahwa itu adalah satu-satunya penulis di sistem file. Error menunjukkan jalur dan alasan kegagalan. Mengatasi root penyebab

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. Tujuan bidang manajemen tidak dapat dijangkau

Solusi: Pastikan detail bidang pengelolaan sudah benar dan contracts API dapat dijangkau

status 404

Alasan: Kemungkinan besar nama org/env bukan yang ditemukan di server

Solusi: Pastikan detail bidang pengelolaan sudah benar dan contracts API dapat dijangkau

status 401

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

Solusi: Pastikan bidang pengelolaan sudah benar dan contracts API dapat dijangkau

status 403

Alasan: Menunjukkan lingkungan yang sedang disurvei tidak disiapkan sebagai lingkungan hybrid

Upaya Hukum: Pastikan organisasi memiliki tanda yang diperlukan &quot;features.hybrid.enabled=true&quot;

sync.OwnershipClaimedByOther

Alasan: Selama operasi berlangsung, Synchronizer ditemukan bahwa {i>root file<i} sedang diakses oleh instance lain dari Penyinkron. (Ini dapat terjadi ketika sistem file digunakan secara bersamaan di antara Synchronizers.)

Solusi: Atasi akar masalah untuk memastikan tidak ada dua instance Sinkronkanr yang memiliki sistem file yang sama. Tujuan Sinkronisasi akan turun dengan sendirinya dan akan berada dalam yang tidak dapat dipulihkan di sini. Hal ini juga akan memastikan bahwa pihak lain Sinkronisasi yang mengakses root file yang sama akan diberi tahu melalui file kepemilikan mereka

sync.DiskExceedsAllowedCapacity

Alasan: Selama operasi Sinkronisasir menyadari bahwa kapasitas disk telah melampaui batas yang diizinkan batas tersebut.

Solusi: Pada tahap ini, Synchronizer akan dibatalkan unduhan apa pun dan cobalah operasi pembersihan file yang sudah basi. Namun, dapat menjadi kondisi berulang dan satu-satunya cara untuk memulihkan untuk memastikan bahwa Sinkronkanr memiliki memori {i>disk<i} yang cukup beroperasi.

Mendiagnosis kegagalan download kontrak

Jika Anda melihat "polling kontrak upstream" dalam pesan error, coba memanggil Contract API dan memeriksa detailnya, di mana nama pengguna nama pengguna Apigee (alamat email Anda). Kontrak mewakili seluruh koleksi data yang diunduh oleh Sinkronisasir dari dalam bidang manajemen.

Tidak ada residensi data

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

Residensi Data

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