Praktik terbaik untuk kasus dukungan Google Cloud Apigee

Anda sedang melihat dokumentasi Apigee dan Apigee Hybrid.
Lihat dokumentasi Apigee Edge.

Memberikan informasi yang mendetail dan diperlukan dalam kasus dukungan akan memudahkan tim Dukungan Google Cloud untuk merespons Anda dengan cepat dan efisien. Jika kasus dukungan Anda tidak memiliki detail penting, kami perlu meminta informasi lebih lanjut, yang mungkin melibatkan bolak-balik beberapa kali. Langkah ini membutuhkan lebih banyak waktu dan dapat menyebabkan penundaan dalam penyelesaian masalah. Dengan Panduan Praktik Terbaik ini, Anda dapat mengetahui informasi yang kami perlukan untuk menyelesaikan kasus dukungan teknis lebih cepat.

Mendeskripsikan masalah

Masalah harus berisi informasi yang menjelaskan detail tentang apa yang terjadi versus apa yang diharapkan, serta kapan dan bagaimana hal itu terjadi. Kasus dukungan yang baik harus berisi informasi utama berikut untuk setiap produk Apigee:

Informasi utama Deskripsi Apigee di Google Cloud Apigee hybrid
Produk Produk Apigee tertentu yang menjadi tempat terjadinya masalah, termasuk informasi versi jika ada.
  • Versi hybrid
Detail Masalah Deskripsi masalah yang jelas dan mendetail yang menguraikan masalah, termasuk pesan error lengkap, jika ada.
  • Pesan error
  • Men-debug output alat
  • Langkah-langkah untuk merekonstruksi masalah
  • Menyelesaikan permintaan/perintah API
  • Pesan error
  • Men-debug output alat
  • Langkah-langkah untuk merekonstruksi masalah
  • Menyelesaikan permintaan/perintah API
  • Log diagnostik komponen
  • Metrik Cloud Monitoring
Waktu Stempel waktu spesifik saat masalah dimulai dan berapa lama masalah berlangsung.
  • Tanggal, waktu, dan zona waktu terjadinya masalah
  • Durasi masalah
  • Tanggal, waktu, dan zona waktu terjadinya masalah
  • Durasi masalah
Penyiapan Informasi terperinci di mana masalah diamati.
  • Nama organisasi
  • Nama Env
  • Nama proxy API
  • Revisi

Bagian berikut menjelaskan konsep ini secara lebih mendetail.

Produk

Ada berbagai produk Apigee, Apigee di Google Cloud dan Apigee Hybrid, sehingga kami memerlukan informasi spesifik tentang produk tertentu yang mengalami masalah.

Tabel berikut menyediakan beberapa contoh yang menampilkan informasi lengkap di kolom ANJURAN, dan informasi tidak lengkap di kolom JANGAN:

ANJURAN LARANGAN
Deployment proxy API OAuth2 gagal pada organisasi Apigee di Google Cloud ...

Deployment proxy API gagal

(Kami perlu mengetahui produk Apigee yang bermasalah.)

Kami mendapatkan error berikut saat mengakses Cassandra menggunakan cqlsh pada Apigee Hybrid versi 1.3 ...

Kami tidak dapat mengakses Cassandra menggunakan cqlsh.

(Informasi versi hibrid tidak ada)

Detail Permasalahan

Berikan informasi akurat tentang masalah yang diamati, termasuk pesan error (jika ada) serta perilaku yang diharapkan dan sebenarnya yang diamati.

Tabel berikut menyediakan beberapa contoh yang menampilkan informasi lengkap di kolom ANJURAN, dan informasi tidak lengkap di kolom LARANGAN:

ANJURAN LARANGAN

Proxy edgemicro baru edgemicro_auth gagal dengan error berikut:

{"error":"missing_authorization","error_description":"Missing Authorization header"}

Proxy edgemicro baru yang dibuat hari ini tidak berfungsi

(Nama proxy tidak diketahui. Tidak jelas apakah proxy menampilkan error atau respons yang tidak terduga.)

Klien kami mendapatkan error 500 dengan pesan error berikut saat membuat permintaan ke proxy API:

{"fault":{"faultstring":"Execution of JSReadResponse failed with error: Javascript runtime error: \"TypeError: Cannot read property \"content\" from undefined. (JSReadResponse.js:23)","detail":{"errorcode":"steps.javascript.ScriptExecutionFailed"}}}

Klien kami mendapatkan Error 500 saat membuat permintaan ke proxy API.

(Hanya menyampaikan Error 500 tidak memberikan informasi yang memadai bagi kami untuk menyelidiki masalah tersebut. Kita perlu mengetahui pesan error yang sebenarnya dan kode error yang diamati.)

Waktu

Waktu adalah informasi yang sangat penting. Penting bagi Support Engineer untuk mengetahui kapan pertama kali Anda melihat masalah ini, berapa lama masalah tersebut berlangsung, dan apakah masalah tersebut masih terjadi.

Teknisi Dukungan yang menyelesaikan masalah mungkin tidak berada di zona waktu Anda, sehingga pernyataan relatif tentang waktu akan membuat masalah lebih sulit untuk didiagnosis. Oleh karena itu, sebaiknya gunakan format ISO 8601 untuk stempel tanggal dan waktu guna memberikan informasi waktu persis kapan masalah itu diamati.

Tabel berikut ini menyediakan beberapa contoh yang menunjukkan waktu dan durasi akurat saat masalah terjadi di kolom DOs, dan informasi yang ambigu atau tidak jelas mengenai kapan masalah terjadi di kolom DON'Ts:

ANJURAN LARANGAN
Sejumlah besar 503s diamati kemarin antara 06-11-2020 pukul 17.30 PDT dan 06-11-2020 17.35 PDT...

Sejumlah besar 503s diamati kemarin pada pukul 17.30 selama 5 menit.

(Kami dipaksa untuk menggunakan tanggal yang tersirat dan juga tidak jelas zona waktu mana masalah ini diamati.)

Latensi tinggi diamati pada Proxy API berikut dari 09-11-2020 15.30 IST hingga 09-11-2020 18.10 IST ...

Latensi tinggi diamati di beberapa Proxy API minggu lalu.

(Tidak jelas pada hari dan durasi terjadinya masalah ini teramati pada minggu terakhir.)

Penyiapan

Kami perlu mengetahui detail tentang lokasi masalah yang Anda alami. Bergantung pada produk yang Anda gunakan, kami memerlukan informasi berikut:

  • Jika menggunakan Apigee di Google Cloud, Anda mungkin memiliki lebih dari satu organisasi, sehingga kami perlu mengetahui organisasi spesifik dan detail lain tempat Anda melihat masalah tersebut:
    • Nama Organisasi dan Lingkungan
    • Nama proxy dan nomor revisi API (untuk kegagalan permintaan API)
  • Jika Anda menggunakan hibrida, Anda mungkin menggunakan salah satu dari banyak platform hybrid dan topologi penginstalan yang didukung. Jadi, kami perlu mengetahui platform hybrid dan topologi yang Anda gunakan, termasuk informasi seperti jumlah pusat data dan node.

Tabel berikut menyediakan beberapa contoh yang menampilkan informasi lengkap di kolom ANJURAN, dan informasi tidak lengkap di kolom JANGAN:

ANJURAN LARANGAN

401 Error telah meningkat di Apigee di Google Cloud sejak 06-11-2020 pukul 09.30 CST.

Detail penyiapan Apigee:

Detail API yang gagal adalah sebagai berikut:
Nama organisasi: myorg
Nama proxy: test
Nama proxy API: myproxy
Nomor revisi: 3

Error:

{"fault":{"faultstring":"Failed to resolve API Key variable request.header.X-APP-API_KEY","detail":{"errorcode":"steps.oauth.v2.FailedToResolveAPIKey"}}}

401 Error telah meningkat.

(Laporan ini tidak memberikan informasi apa pun tentang produk yang digunakan, karena ketika masalah diamati atau detail penyiapan apa pun.)

Debug gagal dengan error berikut pada Apigee Hybrid versi 1.3

Error:

Error while Creating trace session for corp-apigwy-discovery, revision 3, environment dev.

Failed to create DebugSession {apigee-hybrid-123456 dev corp-apigwy-discovery 3 ca37384e-d3f4-4971-9adb-dcc36c392bb1}

Detail penyiapan Apigee Hybrid:

  • Platform Apigee Hybrid:
    Anthos GKE lokal versi 1.4.0
  • Project Google Cloud, organisasi hybrid, dan lingkungan
    ID Project Google Cloud: apigee-hybrid-123456
    Organisasi hybrid Apigee: apigee-hybrid-123456
    Lingkungan hybrid Apigee: dev
  • Detail nama cluster Kubernetes
    k8sCluster:
    nama: user-cluster-1
    region: us-east1
  • Topologi jaringan
    Melampirkan file network-topology.png.
Debug gagal pada Apigee Hybrid.

Artefak yang berguna

Memberikan artefak yang terkait dengan masalah akan mempercepat penyelesaian masalah, karena membantu kami memahami perilaku sebenarnya yang Anda amati dan mendapatkan lebih banyak insight terkait masalah tersebut.

Bagian ini menjelaskan beberapa artefak berguna yang berguna untuk semua produk Apigee:

Artefak umum untuk semua produk Apigee

Artefak berikut berguna untuk semua produk Apigee: Apigee di Google Cloud dan Apigee hybrid:

Artefak Deskripsi
Output alat debug Output alat Debug berisi informasi mendetail tentang permintaan API yang mengalir melalui produk Apigee. Hal ini berguna untuk setiap error runtime seperti 4XX, 5XX, dan masalah latensi.
Screenshot Screenshot membantu menyampaikan konteks perilaku atau error sebenarnya yang diamati. Hal ini berguna untuk setiap error atau masalah yang diamati, seperti di UI atau Analytics.
HAR (Http ARchive) HAR adalah file yang direkam oleh alat sesi HTTP untuk men-debug masalah terkait UI. Ini dapat diambil menggunakan browser seperti Chrome, Firefox, atau Internet Explorer.
tcpdumps Alat tcpdump merekam paket TCP/IP yang ditransfer atau diterima melalui jaringan. Hal ini berguna untuk masalah terkait jaringan seperti kegagalan handshake TLS, error 502, dan masalah latensi, dll.

Artefak tambahan untuk sistem hybrid

Untuk sistem hybrid, kami mungkin memerlukan beberapa artefak tambahan yang akan memfasilitasi diagnosis masalah dengan lebih cepat.

Artefak Deskripsi
Platform hybrid Apigee Tentukan salah satu platform hybrid yang didukung berikut yang digunakan:
  • GKE
  • GKE on-prem
  • AKS (Layanan Azure Kubernetes)
  • Amazon EKS
  • GKE on AWS
Versi komponen dependen dan hybrid Apigee
  • Versi CLI Apigee Hybrid: versi
    apigeectl
  • Versi Agen Apigee Connect:
    kubectl -n=apigee get pods -l app=apigee-connect-agent -o=json | jq '.items[].spec.containers[].image'
  • Versi MART Apigee:
    kubectl -n=apigee get pods -l app=apigee-mart -o=json | jq '.items[].spec.containers[].image'
  • Versi Apigee Synchronizer:
    kubectl -n=apigee get pods -l app=apigee-synchronizer -o=json | jq '.items[].spec.containers[].image'
  • Versi Apigee Cassandra:
    kubectl -n=apigee get pods -l app=apigee-cassandra -o=json | jq '.items[].spec.containers[].image'
  • Versi Runtime Apigee:
    kubectl -n=apigee get pods -l app=apigee-runtime -o=json | jq '.items[].spec.containers[].image'
  • Versi server dan CLI Kubernetes: versi
    kubectl
  • Istio CLI dan versi server: versi
    istioctl
Topologi jaringan Diagram topologi penginstalan Apigee yang menjelaskan penyiapan hybrid Anda, termasuk semua pusat data, cluster Kubernetes, namespace, dan pod.
Mengganti File YAML File overrides.yaml yang digunakan di setiap pusat data untuk menginstal bidang runtime hybrid Apigee.
Status deployment hybrid Apigee

Output dari perintah berikut di setiap pusat data/cluster Kubernetes:

kubectl get pods -A
kubectl get services -A

Log komponen hybrid Apigee

Berikan link ke log StackDriver untuk komponen hybrid ATAU

Anda dapat mengambil log komponen hybrid Apigee menggunakan perintah berikut di setiap pusat data/cluster Kubernetes dan membagikannya kepada kami:

kubectl -n {namespace} get pods
kubectl -n {namespace} logs {pod-name}

  • Log Agen Apigee Connect:
    kubectl -n {namespace} get pods
    kubectl -n {namespace} logs {apigee-connect-agent-pod-name}
  • Log MART:
    kubectl -n {namespace} get pods
    kubectl -n {namespace} logs {apigee-mart-pod-name}
  • Log sinkronisasi:
    kubectl -n {namespace} get pods
    kubectl -n {namespace} logs {synchronizer-pod-name}
  • Log Apigee Cassandra:
    kubectl -n {namespace} get pods
    kubectl -n {namespace} logs {apigee-cassandra-pod-name}
  • Log Runtime MP/Apigee (dari semua pod apigee-runtime):
    kubectl -n {namespace} get pods
    kubectl -n {namespace} logs {apigee-runtime-pod-name}
Menjelaskan log

Informasi mendetail mengenai pod.

Hal ini berguna terutama jika Anda melihat masalah seperti pod yang macet dalam status CrashLoopBackoff.

kubectl -n apigee describe pod {pod-name}

Cloud Monitoring
  • Tautkan ke Dasbor metrik Anda
  • Snapshot dari dasbor yang terkait dengan Metrik Cloud Monitoring.

Template kasus dan contoh kasus

Bagian ini menyediakan template kasus dan contoh kasus untuk berbagai produk berdasarkan praktik terbaik yang dijelaskan dalam dokumen ini:

Cloud Apigee

Template

Bagian ini menyediakan contoh template untuk Apigee di Google Cloud.

Masalah:

<Berikan deskripsi mendetail tentang masalah atau perilaku yang Anda amati. Sertakan nama dan versi produk jika ada.>

Pesan error:

<Sertakan pesan error lengkap yang diamati (jika ada)>

Waktu mulai masalah (format ISO 8601):

Waktu berakhir masalah (format ISO 8601):

Detail penyiapan Apigee:
Nama organisasi:
Nama Env:
Nama proxy API:
Nomor revisi:

Langkah-langkah reproduksi:

<Berikan langkah-langkah untuk merekonstruksi masalah jika memungkinkan>

Informasi diagnostik:

<Daftar file terlampir>

Contoh kasus

Bagian ini memberikan contoh kasus untuk Apigee di Google Cloud.

Masalah:

Kami melihat jumlah error 503 Service Tidak Tersedia yang tinggi di organisasi Public Cloud kami. Dapatkah Anda memeriksa masalah tersebut dan menyelesaikannya atau memberi tahu kami cara menyelesaikannya?

Pesan error:

{"fault":{"faultstring":"The Service is temporarily available", "detail":{"errorcode":"messaging.adaptors.http.flow.ServiceUnavailable"}}}

Waktu mulai masalah (format ISO 8601): 04-10-2020 06.30 IST

Waktu berakhir masalah (format ISO 8601): Masalah masih terjadi.

Detail penyiapan Cloud Apigee:
Nama organisasi: myorg
Nama proxy: dev
Nama proxy API: myproxy
Nomor revisi: 3

Langkah-langkah reproduksi:

Jalankan perintah curl berikut untuk mereproduksi masalah:

curl -X GET 'https://myorg-dev.apigee.net/v1/myproxy'

Informasi diagnostik:

Output alat debug (trace-503.xml)

Hybrid

Template

Bagian ini menyediakan template contoh untuk Apigee Hybrid.

Masalah:

<Berikan deskripsi mendetail tentang masalah atau perilaku yang Anda amati. Sertakan nama dan versi produk jika ada.>

Pesan error:

<Sertakan pesan error lengkap yang diamati (jika ada)>

Waktu mulai masalah (format ISO 8601):

Waktu berakhir masalah (format ISO 8601):

Detail penyiapan Apigee Hybrid:

  • Platform Apigee Hybrid:

    <Berikan informasi tentang Platform tempat Anda menginstal hybrid dan versinya.>

  • Project Google Cloud, Organisasi hybrid, dan Lingkungan:
    ID project Google Cloud:
      <Jika Anda menggunakan Google Kubernetes Engine (GKE), pastikan Anda menyediakan project ID tempat cluster berada. Jika Anda menggunakan GKE lokal, Azure Kubernetes Service, atau Amazon EKS, berikan project ID ke mana Anda mengirim log.>
    Apigee hybrid org:
    Apigee hybrid env:
  • Apigee Hybrid dan versi CLI lainnya:
    Versi CLI Apigee Hybrid (apigeectl):
    Versi Kubectl:
  • Detail nama cluster Kubernetes:
    k8sCluster:
    name:
    region:
  • Topologi jaringan:
    <Lampirkan topologi jaringan yang menjelaskan penyiapan hybrid Apigee, termasuk pusat data, cluster Kubernetes, namespace, dan pod.>
  • Mengganti File YAML:
    <Lampirkan file YAML Overrides.>

Langkah-langkah reproduksi

<Berikan langkah-langkah untuk merekonstruksi masalah jika memungkinkan>

Informasi diagnostik:

<Daftar file terlampir>

Contoh kasus

Bagian ini memberikan contoh kasus untuk Apigee Hybrid.

Masalah:

Kami mendapatkan error saat menjalankan API pengelolaan di Apigee Hybrid versi 1.3.

Pesan error:

[ERROR] 400 Bad Request
{
"error": {
"code": 400,
"message": "Error processing MART request: INTERNAL_ERROR",
"errors": [
{
"message": "Error processing MART request: INTERNAL_ERROR",
"domain": "global",
"reason": "failedPrecondition"
}
],
"status": "FAILED_PRECONDITION"
}
}

Waktu mulai masalah (format ISO 8601): Sejak 24-10-2020 pukul 10.30 PDT

Waktu berakhir masalah (format ISO 8601): Terus mengamati masalah.

Detail penyiapan Apigee Hybrid:

  • Platform Apigee Hybrid
    GKE versi 1.15.1
  • Project Google Cloud, Organisasi dan Lingkungan hybrid
    ID project Google Cloud: apigee-hybrid-123456
      Catatan: Ini adalah project ID tempat cluster berada.
    Organisasi hybrid Apigee: apigee-hybrid-123456
    Lingkungan hybrid Apigee: dev
  • Apigee Hybrid dan versi CLI lainnya:
    Versi CLI Apigee (apigeectl):
    Versi: 1.2.0
    Commit: ac09109
    ID Build: 214
    Waktu Build: 2020-03-30T20:23:36Z
    Versi Go: go1.12

    Versi Kubectl:
    Versi Klien:
    version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.0", GitCommit:"e8462b5b5dc2584fdcd18e6bcfe9f1e4d970a529", GitTreeState:"clean", BuildDate:"2019-06-19T16:40:16Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"darwin/amd64"}

    version.Info{Major:"1", Minor:"14+", GitVersion:"v1.14.10-gke.36", GitCommit:"34a615f32e9a0c9e97cdb9f749adb392758349a6", GitTreeState:"clean",
  • Detail nama cluster Kubernetes:
    k8sCluster:
    nama: user-cluster-1
    region: us-east1
  • Topologi jaringan
    Melampirkan file network-topology.png
  • Mengganti File YAML
    Melampirkan file overrides.yaml file

Langkah-langkah reproduksi:

Jalankan API pengelolaan berikut untuk mengamati error:

curl -X GET --header "Authorization: Bearer <TOKEN>" "https://apigee.googleapis.com/v1/organizations/apigee-hybrid-123456/environments/dev/keyvaluemaps"

Informasi Diagnostik:

Terlampir file berikut:

  • network-topology.png
  • overrides.yaml file
  • Log MART
  • Log sinkronisasi