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:
- Akıllı ev metrikleriyle projelerinizin durumunu izleyin.
- Hata günlüklerindeki ayrıntılı hata açıklamalarını kontrol ederek sorunları inceleyin.

İ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.
Özel filtrelerinizi oluşturmanıza yardımcı olması için sorgu düğmelerini kullanabilirsiniz.
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:
- Akıllı Ev'de Hata Ayıklama Codelab'i: Akıllı ev bulut entegrasyonunda hata ayıklamayla ilgili hızlı başlangıç kılavuzu.
- Yerel Ev'de hata ayıklama Codelab'i: Akıllı evde yerel entegrasyonda hata ayıklama için hızlı başlangıç kılavuzu.