Entegrasyon hatalarını giderme

Buluttan buluta    Matter

Google Cloud, Google Cloud Monitoring ile projelerinizin güvenilirliğini izlemenize ve Google Cloud Logging hata günlükleriyle sorunların hata ayıklamasını yapmanıza olanak tanıyan araçlar sunar. Kullanıcı amaçları yerine getirilirken bir hata oluştuğunda Google Home Analytics işlem hattı, bu hatayı metriklerinize kaydeder ve proje günlüklerinize bir hata günlüğü yayınlar.

Hatalarınızı gidermek için iki adım vardır:

  1. Akıllı ev metrikleriyle projelerinizin durumunu izleyin.
  2. Hata günlüklerindeki ayrıntılı hata açıklamalarını kontrol ederek sorunları inceleyin.

Local Home SDK kullanılarak yapılan yerel entegrasyon için de benzer bir süreç uygulanır. Sorun giderme akışında uzmanlaştıktan sonra, hatalarınızla ilgili analizler elde etmek için metrikler ve günlükler arasında kolayca geçiş yapabilirsiniz.

İsteğe bağlı olarak, diğer kullanıcılarla paylaşarak işleminizi test edebilirsiniz. Hata ve istisnaları uygun şekilde ele aldığınızdan emin olun.

Hataları izleme

Proje metriklerinize erişmek için Google Cloud Monitoring dashboards simgesini kullanabilirsiniz. Kaliteyi izlemek ve hataları ayıklamak için özellikle yararlı olan bazı önemli grafikler vardır:

  • Başarı oranı grafiği, projelerinizin güvenilirliğini izlerken başlangıç noktası olarak kullanacağınız ilk grafiktir. Bu grafikteki düşüşler, kullanıcı tabanınızın bir bölümünde veya tamamında kesinti olduğunu gösterebilir. Projenizde her değişiklik veya güncelleme yapıldıktan sonra bu grafikteki düzensizlikleri yakından izlemenizi öneririz.
  • %95'lik dilim gecikmesi grafiği, Cloud-to-cloud entegrasyonunuzun kullanıcılarınız için nasıl performans gösterdiğini belirten önemli bir göstergedir. Bu grafikteki ani dalgalanmalar, sistemlerinizin isteklere yetişemediğini gösterebilir. Beklenmedik davranışları görmek için bu grafiği düzenli olarak kontrol etmeniz önerilir.
  • Hata Dökümü grafikleri, entegrasyonlarınızdaki sorunları giderme konusunda en yararlı olanlardır. Başarı yüzdesi grafiğinizde vurgulanan her hata için hata dökümünüzde bir hata kodu gösterilir. Google Home platform tarafından işaretlenen hataları ve bu hatalarla ilgili sorunları nasıl gidereceğinizi aşağıdaki tabloda görebilirsiniz.

Platform Hata Kodları

Google Home platform tarafından yakalanan sorunları belirlemek için proje günlüklerinizde görebileceğiniz bazı yaygın hata kodları aşağıda verilmiştir. Sorun giderme bilgileri için lütfen aşağıdaki tabloya bakın.

Hata Kodu Açıklama
BACKEND_FAILURE_URL_ERROR Google, hizmetinizden 401 dışında bir HTTP 4xx hata kodu aldı.

Akıllı ev hizmeti günlüklerinizi kontrol etmek için GCP Logging'de requestId simgesini kullanın.
BACKEND_FAILURE_URL_TIMEOUT Google'ın hizmetinize ulaşmaya çalışırken yaptığı istek zaman aşımına uğradı.

Hizmetinizin çevrimiçi olduğunu, bağlantı kabul ettiğini ve kapasiteyi aşmadığını doğrulayın. Ayrıca, hedef cihazın açık, internete bağlı ve senkronize edilmiş olduğunu doğrulayın.
BACKEND_FAILURE_URL_UNREACHABLE Google, hizmetinizden bir HTTP 5xx hata kodu aldı.

Akıllı ev hizmeti günlüklerinizi kontrol etmek için GCP Logging'de requestId simgesini kullanın.
DEVICE_NOT_FOUND Cihaz, iş ortağı hizmeti tarafında mevcut değil.

Bu durum genellikle veri senkronizasyonunda bir hata veya yarışma koşulu olduğunu gösterir.
GAL_BAD_3P_RESPONSE Google, yükteki geçersiz biçim veya değerler nedeniyle hesap bağlama hizmetinizden gelen yanıtı ayrıştıramıyor.

Hesap bağlama hizmetinizdeki hata günlüklerini kontrol etmek için GCP Logging'de requestId'i kullanın.
GAL_INTERNAL Google, erişim jetonu almaya çalışırken Google'a özgü bir hata oluştu.

GCP Logging'de bu hatanın sıklığı artarsa daha fazla bilgi için bize ulaşın.
GAL_INVALID_ARGUMENT Google bir erişim belirtecini almaya çalışırken Google'ın dahili bir hatası oluştu.

GCP Logging'de bu hatanın sıklığı artarsa daha fazla bilgi için bize ulaşın.
GAL_NOT_FOUND Kullanıcının Google'da saklanan erişim belirteçleri ve yenileme belirteçleri geçersizdir ve artık yenilenemez. Kullanıcının hizmetinizi kullanmaya devam edebilmesi için hesabını yeniden bağlaması gerekiyor.

GCP Logging'de bu hatanın sıklığı artarsa daha fazla bilgi için bize ulaşın.
GAL_PERMISSION_DENIED Token paylaşımı yetkilendirilmediğinde Google'ın dahili bir hatası oluştu.

GCP Günlüğünde bu hatanın oranının arttığını görürseniz daha fazla bilgi için bizimle iletişime geçin.
GAL_REFRESH_IN_PROGRESS Kullanıcının erişim belirteci süresi dolmuş ve aynı anda yenilemeye yönelik başka bir girişim devam ediyor.

Bu bir sorun değil ve herhangi bir işlem yapmanıza gerek yok.
INVALID_AUTH_TOKEN Google, hizmetinizden bir HTTP 401 hata kodu aldı.

Erişim belirteci süresi dolmadı ancak hizmetiniz tarafından geçersiz kılındı. Akıllı ev servis kayıtlarınızı kontrol etmek için GCP Kaydında requestId kullanın.
INVALID_JSON JSON yanıtı ayrıştırılamıyor veya anlaşılamıyor.

Uyuşmayan parantezler, eksik virgüller, geçersiz karakterler gibi geçersiz söz dizimi açısından JSON yanıtınızın yapısını kontrol edin.
OPEN_AUTH_FAILURE Kullanıcının erişim belirteci süresi dolmuş ve Google bunu yenileyemiyor veya Google, hizmetinizden bir HTTP 401 hata kodu aldı.

Bu kodun oranında artış görürseniz, akıllı ev amaçları veya yenileme belirteci istekleriyle ilgili hata oranında da artış görüp görmediğinizi kontrol edin.
PARTNER_RESPONSE_INVALID_ERROR_CODE Yanıt, tanınmayan bir hata kodunu gösteriyor.

İstek yanıtınız bir hata gösteriyorsa, desteklenen hata kodlarımızdan birini kullandığınızdan emin olun.
PARTNER_RESPONSE_INVALID_PAYLOAD Yanıt payload alanı bir JSON Nesnesi olarak ayrıştırılamaz.

İstek yanıtınızdaki yük alanının eşleşen parantezlere sahip olup olmadığını ve JSON alanı olarak doğru şekilde yapılandırılıp yapılandırılmadığını kontrol edin.
PARTNER_RESPONSE_INVALID_STATUS Cevap bir durumu belirtmiyor veya yanlış bir durumu belirtiyor.

Niyet karşılama isteklerine verilen yanıtlar SUCCESS, OFFLINE, ERROR, EXCEPTIONS ile bir durum belirtmelidir. Hataları ve istisnaları ele alma hakkında daha fazla bilgi edinebilirsiniz.
PARTNER_RESPONSE_MISSING_COMMANDS_AND_DEVICES İstekte bulunan bir veya daha fazla niyet yanıtta eksik.

Yürütme yanıtınızın doğru şekilde yapılandırıldığını ve istekten gelen tüm amaçlara ilişkin sonuçların yanıtınızda mevcut olduğunu doğrulayın.
PARTNER_RESPONSE_MISSING_DEVICE İstekte bulunan bir veya daha fazla aygıt yanıtta eksik.

Yürütme yanıtınızın doğru şekilde yapılandırıldığını ve istekteki tüm cihaz kimliklerinin yanıtınızda bulunduğunu doğrulayın.
PARTNER_RESPONSE_MISSING_PAYLOAD Yanıt payload alanını içermiyor.

İstek yanıtınıza bir yük alanı eklediğinizden emin olun. Yürütme yanıtını doğru şekilde oluşturma hakkında daha fazla bilgi edinebilirsiniz. yürütme yanıtı.
PARTNER_RESPONSE_NOT_OBJECT Yanıt bir JSON Nesnesi olarak ayrıştırılamıyor.

İstek yanıtınızdaki tüm alanları istenmeyen karakterler, uyumsuz parantezler veya biçimlendirme hataları açısından kontrol edin. Bazı unicode karakterleri desteklenmiyor olabilir. Ayrıca yanıtınızın JSON nesnesi olarak doğru şekilde yapılandırıldığından emin olun.
PROTOCOL_ERROR Talep işleme alınamadı.

Akıllı ev hizmet kayıtlarınızı kontrol etmek için Google Cloud Logging'deki requestId özelliğini kullanın.
RELINK_REQUIRED Yanıt, kullanıcının Google ve iş ortağı hesaplarını yeniden bağlamasını isteyen bir relinkRequired hatası olduğunu gösterdi.

Daha fazla bilgi için desteklenen hata kodlarına bakın.
RESPONSE_TIMEOUT Yanıt beklenirken istek zaman aşımına uğradı.

Bir yanıt göndermenin zaman aşımı süresi, isteğin gönderildiği andan itibaren 9 saniyedir. Bu süre içerisinde yanıt göndermeyi unutmayın.
RESPONSE_UNAVAILABLE Hiçbir yanıt alınamıyor veya yanıtta durum belirtilmiyor.

Amacın yerine getirilmesi isteklerine verilen yanıtlar, akıllı ev dokümanlarına göre yapılandırılmalı ve durumu belirtmelidir.
TRANSIENT_ERROR Geçici hatalar, kendi kendine çözülen hatalardır.

Bu hatalar genellikle bir cihaza veya hizmete yapılan bağlantının kesilmesi şeklinde ortaya çıkar. Ayrıca, sunucuya yeni bağlantılar açılamıyorsa.

Arama Günlükleri

Entegrasyonlarınızı metrikleri kullanarak izleme konusunda kendinizi rahat hissettiğinizde, bir sonraki adım Cloud Logging kullanarak belirli hataları gidermektir. Hata günlüğü, JSON benzeri bir giriş olup alanlarında saat, hata kodu ve kaynak akıllı ev niyetiyle ilgili ayrıntılar gibi faydalı bilgiler yer alır.

Google Cloud içinde, günlükleri projenize her zaman gönderen birden fazla sistem vardır. Günlüklerinizi filtrelemek ve ihtiyacınız olanları bulmak için sorgular yazmanız gerekir. Sorgular bir Zaman Aralığı, Kaynak, günlük Önem Derecesi veya özel girdilere dayalı olabilir.

Cloud günlüklerini sorgulama

Özel filtrelerinizi oluşturmanıza yardımcı olması için sorgu düğmelerini kullanabilirsiniz.

Cloud Log Sorguları Oluşturma

Zaman aralığı belirtmek için zaman aralığı seçim düğmesini tıklayın ve sağlanan seçeneklerden birini belirleyin. Bu işlem, günlükleri filtreleyerek seçilen zaman aralığında oluşturulanları gösterir.

Kaynak belirtmek için Kaynak açılır listesini tıklayın, ardından Google Asistan İşlemi Projesi'ni seçin. Bu işlem, sorgunuza projenizden gelen günlükleri göstermek için bir filtre ekler.

Önem derecesi düğmesini kullanarak Acil, Bilgi, Hata ayıklama ve diğer önem derecesi günlük düzeylerine göre filtreleme yapın.

Ayrıca, Logs Explorer bölümündeki Sorgu alanını kullanarak özel girişler de girebilirsiniz. Bu alan tarafından kullanılan sorgu motoru hem dize eşleştirme gibi temel sorguları hem de karşılaştırıcılar (<, >=, !=) ve Boole operatörleri (AND, OR, NOT) dahil olmak üzere daha gelişmiş sorgu türlerini destekler.

Örneğin, aşağıdaki özel giriş, LIGHT cihaz türünden kaynaklanan hatalar döndürür:

resource.type = "assistant_action_project" AND severity = ERROR AND jsonPayload.executionLog.executionResults.actionResults.device.deviceType = "LIGHT"

Günlüklere etkili bir şekilde sorgu göndermeyle ilgili daha fazla örnek bulmak için Sorgu Kitaplığı'nı ziyaret edin.

Düzeltmeleri Test Etme

Hataları belirleyip düzeltmek için güncellemeleri uyguladıktan sonra düzeltmelerinizi Google Home Test Suite ile kapsamlı bir şekilde test etmenizi öneririz. Test Suite nasıl kullanılacağıyla ilgili bir kullanıcı kılavuzu sunuyoruz. Bu kılavuz, değişikliklerinizi etkili bir şekilde test etme konusunda size yol gösterir.

Eğitici Kaynaklar

Bu belgede, akıllı ev işleminizdeki hataları giderme adımları açıklanmaktadır. Hata ayıklama hakkında daha fazla bilgi edinmek için codelab'lerimize de göz atabilirsiniz: