Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunun için geçerlidir:
IoT Edge 1.6
Önemli
IoT Edge 1.6 LTS desteklenen sürümdür. IoT Edge 1.5 LTS desteği 10 Kasım 2026'da sona erer; IoT Edge 1.4 LTS, 12 Kasım 2024'te ömrünün sonuna ulaştı. Önceki bir sürümü kullanıyorsanız bkz. Update IoT Edge.
Ortamınızda Azure IoT Edge çalıştırırken sorun yaşıyorsanız, sorun giderme ve tanılama için kılavuz olarak bu makaleyi kullanın.
'check' komutunu çalıştırın
sorun giderme IoT Edge ilk adımınız check komutunu kullanmak olmalıdır. Yaygın sorunlar için yapılandırma ve bağlantı testlerinden oluşan bir koleksiyon çalıştırır.
check komutu release 1.0.7 ve sonraki sürümlerinde kullanılabilir.
Not
Sorun giderme aracı, IoT Edge cihazının bir proxy sunucunun arkasında olması durumunda bağlantı kontrollerini gerçekleştiremiyor.
Komutu aşağıdaki gibi çalıştırın veya seçeneklerin check--help tam listesini görmek için bayrağını ekleyin:
sudo iotedge check
Sorun giderme aracı, bu üç kategoriye göre sıralandığından birçok denetim çalıştırır:
- Configuration checks - Araç, IoT Edge cihazların buluta bağlanmasını engelleyebilecek ayrıntıları inceler. Yapılandırma dosyası ve kapsayıcı motoruyla ilgili sorunları içerir.
- Bağlantı denetimleri - Araç, IoT Edge çalışma zamanının konak cihazdaki bağlantı noktalarına erişebildiğini doğrular. Ayrıca tüm IoT Edge bileşenlerinin IoT hub'ına bağlanabildiğini doğrular. Bu denetim kümesi, IoT Edge cihazı bir ara sunucu arkasındaysa hatalar döndürür.
- Üretime hazır olma denetimleri - Araç önerilen en iyi üretim yöntemlerini arar. Cihaz sertifika yetkilisi (CA) sertifikalarının durumunu ve modül günlük dosyası yapılandırmasını denetler.
IoT Edge denetim aracı, tanılamasını çalıştırmak için bir kapsayıcı kullanır. kapsayıcı görüntüsü, mcr.microsoft.com/azureiotedge-diagnostics:latestMicrosoft Artifact Registry (MAR) aracılığıyla kullanılabilir. İnternet'e doğrudan erişimi olmayan bir cihazda denetim çalıştırmanız gerekiyorsa, cihazlarınızın kapsayıcı görüntüsüne erişmesi gerekir.
İç içe IoT Edge cihazları kullanan bir senaryoda, alt cihazlarda tanılama görüntüsüne erişmek için görüntü çekimi işlemini üst cihazlar aracılığıyla yönlendirebilirsiniz.
sudo iotedge check --diagnostics-image-name <parent_device_fqdn_or_ip>:<port_for_api_proxy_module>/azureiotedge-diagnostics:1.6
Hata veya uyarı alırsanız yapmanız gerekenler de dahil olmak üzere bu aracın çalıştığı tanılama denetimlerinin her biri hakkında bilgi için bkz. Built-in sorun giderme işlevselliği.
support-bundle komutunu kullanarak hata ayıklama bilgilerini toplama
IoT Edge bir cihazdan günlükleri toplamanız gerektiğinde, en uygun yol support-bundle komutunu kullanmaktır. Varsayılan olarak, bu komut modül, IoT Edge güvenlik yöneticisi ve kapsayıcı altyapısı günlüklerini, iotedge check JSON çıkışını ve diğer yararlı hata ayıklama bilgilerini toplar. Kolay paylaşım için bunları tek bir dosyaya sıkıştırır.
support-bundle komutu release 1.0.9 ve sonraki sürümlerde kullanılabilir.
support-bundle komutunu --since bayrağıyla çalıştırarak geçmişten günlükleri ne kadar süreyle almak istediğinizi belirtin. Örneğin, 6h son altı saatin günlüklerini alır, 6d son altı günün günlüklerini alır ve 6m son altı dakikadaki günlükleri alır. Seçeneklerin --help tam listesini görmek için bayrağını ekleyin.
sudo iotedge support-bundle --since 6h
Varsayılan olarak, support-bundle komut komutunu çalıştırdığınız dizinde support_bundle.zip adlı bir zip dosyası oluşturur.
--output bayrağını, çıkış için farklı bir yol veya dosya adı belirtmek amacıyla kullanın.
Komut hakkında daha fazla bilgi için yardım bilgilerini görüntüleyin:
iotedge support-bundle --help
Ayrıca, support-bundle komutunun çıkışını Azure Blob Depolama yüklemek için UploadSupportBundle yerleşik doğrudan yöntem çağrısını da kullanabilirsiniz.
Uyarı
Komut support-bundle çıktısı, konak ve cihaz adları, modül adları ve modülleriniz tarafından günlüğe kaydedilen bilgileri içerebilir. Çıktıyı genel bir forumda paylaşıyorsanız bu eklemeye dikkat edin.
Çalışma zamanından toplanan ölçümleri gözden geçirme
IoT Edge çalışma zamanı modülleri, IoT Edge cihazlarınızın durumunu izlemenize ve anlamanıza yardımcı olacak ölçümler oluşturur. Bu ölçümleri toplamayı ve daha kolay izleme için buluta göndermeyi işlemek için dağıtımlarınıza ölçüm toplayıcı modülünü ekleyin.
Daha fazla bilgi için bkz: Ölçümleri toplama ve taşıma.
IoT Edge sürümünüzü denetleyin
IoT Edge'in eski bir sürümünü çalıştırıyorsanız yükseltme, sorununuzu çözebilir.
iotedge check aracı, IoT Edge güvenlik daemon'unun en son sürüm olup olmadığını denetler, ancak IoT Edge hub'ı ve aracı modüllerinin sürümlerini denetlemez. Cihazınızdaki çalışma zamanı modüllerinin sürümünü kontrol etmek için iotedge logs edgeAgent ve iotedge logs edgeHub komutlarını kullanın. Modül başlatıldığında sürüm numarası günlüklerde görüntülenir.
Cihazınızı güncelleştirme yönergeleri için bkz. Update IoT Edge.
Cihazlarınıza IoT Edge yüklemesini doğrulama
IoT Edge yüklemesinin cihazlarınızdaki doğruluğunu, edgeAgent modülü ikizini izleyerek kontrol edebilirsiniz.
En son edgeAgent modül ikizini almak için Azure Cloud Shell'dan aşağıdaki komutu çalıştırın:
az iot hub module-twin show --device-id <edge_device_id> --module-id '$edgeAgent' --hub-name <iot_hub_name>
Bu komut, edgeAgent tarafından bildirilen tüm özelliklerin çıkışını oluşturur. Cihazın durumunu izlemek için bazı yararlı olanlar şunlardır:
- çalışma süresi durumu
- çalıştırma süresi başlangıç saati
- çalışma zamanı son çıkış saati
- çalışma zamanı yeniden başlatma sayısı
IoT Edge güvenlik yöneticisinin ve günlüklerinin durumunu denetleyin
IoT Edge güvenlik yöneticisi başlangıçta IoT Edge sistemini başlatma ve cihazları sağlama gibi işlemleri işler. IoT Edge başlatılmıyorsa, güvenlik yöneticisi günlükleri yararlı bilgiler sağlayabilir.
IoT Edge sistem hizmetlerinin durumunu görüntüleyin:
sudo iotedge system statusIoT Edge sistem hizmetlerinin günlüklerini görüntüleyin:
sudo iotedge system logs -- -fIoT Edge sistem hizmetlerinin daha ayrıntılı günlüklerini görüntülemek için hata ayıklama düzeyi günlükleri etkinleştirin:
Debug seviyesi logları etkinleştirin.
sudo iotedge system set-log-level debug sudo iotedge system restartHata ayıklamadan sonra varsayılan bilgi düzeyi günlüklerine geri dönün.
sudo iotedge system set-log-level info sudo iotedge system restart
Konteyner günlüklerini sorunlar için kontrol et
IoT Edge güvenlik daemon'u başlatıldıktan sonra, sorunları bulmak için kapsayıcıların günlüklerini denetleyin. Dağıtılan kapsayıcılarınızla başlayın ve IoT Edge çalışma zamanını oluşturan kapsayıcıları denetleyin: edgeAgent ve edgeHub. IoT Edge aracısı günlükleri genellikle her bir kapsayıcının yaşam döngüsü hakkında bilgi sağlar. IoT Edge hub günlükleri size mesajlaşma ve yönlendirme hakkında bilgi verir.
Kapsayıcı günlüklerini çeşitli yerlerden alabilirsiniz:
IoT Edge cihazda, günlükleri görüntülemek için aşağıdaki komutu çalıştırın:
iotedge logs <container name>Azure portalında yerleşik sorun giderme aracını kullanın. Daha fazla bilgi için bkz. Azure portalından IoT Edge cihazlarının sorunlarını giderme.
modülün günlüklerini Azure Blob Depolama yüklemek için UploadModuleLogs doğrudan yöntemini kullanın.
Kapsayıcı günlüklerini temizle
Varsayılan olarak, Moby kapsayıcı motoru, kapsayıcı günlük boyutu sınırlandırmalarını ayarlamaz. Zaman içinde, kapsamlı günlükler cihazı doldurabilir ve disk alanının dolması nedeniyle cihaz çalışamaz hale gelebilir. Büyük kapsayıcı günlükleri IoT Edge cihaz performansınızı etkiliyorsa, kapsayıcıyı ve ilgili günlüklerini zorla kaldırmak için aşağıdaki komutu kullanın.
Sorun gidermeye devam ediyorsanız, bu adımı atmak için kapsayıcı günlüklerini inceleyene kadar bekleyin.
Uyarı
Teslim edilmemiş mesaj birikimi varken kapsayıcıyı edgeHub zorla kaldırırsanız ve yapılandırılmış konak depolama alanı yoksa, teslim edilmemiş mesajlar kaybolur.
docker rm --force <container name>
Devam eden günlük bakımı ve üretim senaryoları hakkında daha fazla bilgi için bkz. Varsayılan günlük sürücüsünü ayarlama.
IoT Edge hub'ına giden iletileri görüntüleme
IoT Edge hub'ından geçen iletileri görüntüleyebilir ve çalışma zamanı kapsayıcılarından alınan ayrıntılı günlüklerden içgörüler toplayabilirsiniz. Bu kapsayıcılarda ayrıntılı günlükleri açmak için dağıtım manifestosunda ortam değişkenini RuntimeLogLevel olarak ayarlayın.
IoT Edge hub'ına giden iletileri görüntülemek için edgeHub modülü için RuntimeLogLevel ortam değişkenini debug olarak ayarlayın.
Hem edgeHub hem de edgeAgent modülleri, varsayılan değeri olarak ayarlanmış olan bu çalışma zamanı günlük ortamı değişkenine infosahiptir. Bu ortam değişkeni aşağıdaki değerleri alabilir:
- ölümcül
- hata
- uyarı
- Bilgi
- hata ayıklama
- fazla sözcüklü
ayrıca IoT Hub ve IoT cihazları arasında gönderilen iletileri de de de kontrol edebilirsiniz. Visual Studio Code için
Kapsayıcıları yeniden başlat
Bilgi toplamak amacıyla günlükleri ve iletileri araştırdıktan sonra kapsayıcıları yeniden başlatmayı deneyebilirsiniz.
IoT Edge cihazında modülleri yeniden başlatmak için aşağıdaki komutları kullanın:
iotedge restart <container name>
IoT Edge çalışma zamanı kapsayıcılarını yeniden başlatın:
iotedge restart edgeAgent && iotedge restart edgeHub
Modülleri Azure portalından uzaktan da yeniden başlatabilirsiniz. Daha fazla bilgi için bkz. Azure portalından IoT Edge cihazlarının sorunlarını giderme.
Güvenlik duvarınızı ve bağlantı noktası yapılandırma kurallarınızı denetleme
Azure IoT Edge, desteklenen IoT Hub protokollerini kullanarak şirket içi sunucudan Azure buluta iletişimi destekler. Daha fazla bilgi için bkz. Cihaz iletişim protokolü seçme. Gelişmiş güvenlik için her zaman Azure IoT Edge ile Azure IoT Hub arasındaki iletişim kanallarını giden olarak yapılandırın. Hizmet Destekli İletişim desenini temel alan bu yapılandırma, kötü amaçlı bir varlık için saldırı yüzeyini en aza indirir. Gelen iletişim, yalnızca Azure IoT Hub'ın Azure IoT Edge cihazına ileti göndermesi gerektiği belirli senaryolar için gereklidir. Buluttan cihaza iletiler güvenli TLS kanalları kullanılarak korunur ve X.509 sertifikaları ve TPM cihaz modülleri kullanılarak daha da güvenli hale getirilebilir. Azure IoT Edge Güvenlik Yöneticisi bu iletişimin nasıl kurulabileceğini denetler. Daha fazla bilgi için bkz. Azure IoT Edge güvenlik yöneticisi.
IoT Edge, Azure IoT Edge çalışma zamanının ve dağıtılan modüllerin güvenliğini sağlamak için gelişmiş yapılandırma sağlasa da, temel alınan makine ve ağ yapılandırmasına bağımlıdır. Buluttan uca güvenli iletişim için uygun ağ ve güvenlik duvarı kurallarının ayarlandığından emin olun. Azure IoT Edge çalışma zamanının barındırıldığı temel sunucular için güvenlik duvarı kurallarını yapılandırırken kılavuz olarak aşağıdaki tabloyu kullanın:
| Protokol | Bağlantı noktası | Gelen | Giden | Kılavuz |
|---|---|---|---|---|
| MQTT | 8883 | ENGELLİ (Varsayılan) | ENGELLİ (Varsayılan) |
|
| AMQP | 5671 | ENGELLİ (Varsayılan) | AÇ (Varsayılan) |
|
| HTTPS | 443 | ENGELLİ (Varsayılan) | AÇ (Varsayılan) |
|
Son çare: tüm kapsayıcıları durdurma ve yeniden oluşturma
Bazen bir sistem, mevcut ağ veya işletim sistemi kısıtlamalarıyla çalışmak için önemli ölçüde özel değişiklikler gerektirebilir. Örneğin, bir sistem farklı bir veri diski bağlama ve ara sunucu ayarları gerektirebilir. Önceki tüm adımları dener ve yine de kapsayıcı hataları alırsanız, docker sistemi önbellekleri veya kalıcı ağ ayarları en son yeniden yapılandırmayla güncel olmayabilir. Bu durumda, sıfırdan temiz bir başlangıç yapmak için kullanın docker prune .
Aşağıdaki komut, IoT Edge sistemini (ve dolayısıyla tüm kapsayıcıları) durdurur ve tüm kapsayıcıları ve birimleri kaldırmak için all için volume ve docker prune seçeneklerini kullanır. Komutun verdiği uyarıyı gözden geçirin ve hazır olduğunuzda y kullanarak onaylayın.
sudo iotedge system stop
docker system prune --all --volumes
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all volumes not used by at least one container
- all images without at least one container associated to them
- all build cache
Are you sure you want to continue? [Y/N]
Sistemi yeniden başlatın. Güvenli olmak için, kalan olası yapılandırmaları uygulayın ve sistemi tek bir komutla başlatın.
sudo iotedge config apply
Birkaç dakika bekleyin ve yeniden kontrol edin.
sudo iotedge list
Sonraki adımlar
IoT Edge platformunda bir hata bulduğunuzu mu düşünüyorsunuz? Submit an issue böylece ekip platformu geliştirmeye devam edebilir.
Daha fazla sorunuz varsa yardım için bir Destek isteği oluşturun.