Zephyrnet Logosu

IoT Cihazlarının İzlenmesi ve Gözlenebilirliğine İlişkin Pratik Bir Kılavuz

Tarih:

IoT Cihazlarının İzlenmesi ve Gözlenebilirliğine İlişkin Pratik Bir Kılavuz

İzleme ve gözlemlenebilirlik, IoT cihazının güvenilirliğini, verimliliğini ve güvenliğini korumak için hayati öneme sahiptir. Doğru yapıldığında, IoT sistemlerinize gerçek zamanlı bir genel bakış sunar ve aynı zamanda geçmiş sorunları gidermek için gerekli verilere erişim sağlar. Ancak binlerce farklı IoT cihazıyla karşı karşıya kaldığımızda bu hedeflere ulaşmak birçok zorluğu da beraberinde getiriyor.

İzlemeli miyim yoksa Gözlemlemeli miyim?

Öncelikle IoT izleme ve gözlemlenebilirlik terminolojisini gözden geçirelim, zira “izleme” ve “gözlenebilirlik” kelimeleri farklılıklarına rağmen sıklıkla birbirinin yerine kullanılıyor.

Daha köklü bir geçmişi olan bir dönem olan izlemeyle başlayalım. İzleme, özünde bir sistemin sağlığı ve performansı hakkında bilgi sunmayı amaçlamaktadır.

Bu, ilgili ölçümlerin toplanması ve analiz edilmesiyle başlar. Analiz genellikle gösterge tabloları aracılığıyla sunulur. Ancak makul bir izleme yığını, görsel temsilin ötesine geçerek metrikleri gerçek zamanlı olarak değerlendirmeli ve kullanıcıları herhangi bir anormallik veya sorun konusunda uyarmalıdır.

Ancak geleneksel izleme yaklaşımında bir sorun var: Ne arayacağınızı bilmenizi gerektiriyor. Yeni sorunlarla karşılaşıldığında bu yöntem yetersiz kalabilir.

Bilinmeyen bilinmeyenlerle başa çıkmanıza yardımcı olabileceği için gözlemlenebilirlik burada devreye giriyor. Basitçe söylemek gerekirse, bir sistemin iç işleyişine ilişkin soruları yalnızca çıktılarından yanıtlayabildiğinizde bir sistem gözlemlenebilirdir. Yazılımın olağan çıktıları günlükleri, ölçümleri ve izleri içerir.

İyi gözlemlenebilirliğe sahip bir sistemin sorun gidermesi daha kolay olmakla kalmaz, aynı zamanda çok daha geniş bir yelpazedeki sorunları tespit etmenize de olanak tanır. Bunun nedeni, sistem hakkında çok daha iyi içgörülere sahip olmanız ve gerçekte ne olup bittiğine ilişkin sorularınızın yanıtlarını almanın daha kolay olmasıdır.

Sistemlerin çok sayıda cihaz ve modül içerdiği IoT bağlamında gözlemlenebilirlik özellikle önemlidir. Soruna yol açabilecek her türlü potansiyel durum kombinasyonunu tahmin etmeye çalışmak, bu ölçekte imkansız olmasa da pratik değildir.

Temel Metrikler ve İzleme Yaklaşımları

Takip etmeye değer verileri ve bu görevde bize yardımcı olmak üzere tasarlanmış belirli araçları inceleyelim.

Verileri Alabiliyor muyuz?

Nesnelerin İnterneti'nin çoğu zaman nesnelerden çok verilerle ilgili olduğu bir sır değil. Bu nedenle cihazlarınızın veri aktarımına dikkat etmek çok önemlidir. Sağlam bir IoT platformu, mesaj sıklığı ve iletilen veri hacmi gibi ölçümleri yakından takip etmelidir.

Ancak binlerce cihazın trafiğini manuel olarak izlemek elbette akıllıca bir şey değil. Bu durumda otomatik uyarının gerekliliği tartışılmazdır.. Uyarı almanız gereken en düşük durum, cihazın herhangi bir veri göndermediği ancak sizin bunu yapmasını beklediğiniz zamandır.

Ancak IoT cihazlarının genellikle güvenilmez internet bağlantılarına sahip alanlar gibi öngörülemeyen ortamlarda çalıştığını unutmayın. Dolayısıyla veri aktarımındaki kısa bir boşluk her zaman cihazda bir sorun olduğunu göstermez.

Ayrıca mesajları cihazınızda veya uç ağ geçidinde ara belleğe almak yaygın bir uygulamadır, böylece önemli verileri kaybetmezsiniz. Önemli olan eşiklerinizi çok hassas hale getirmemeye çok dikkat etmeniz gerektiğidir. Aksi takdirde, kaçınılmaz olarak uyarı yorgunluğuna yol açan ağdaki her aksaklık hakkında uyarılacaksınız ve uyarı potansiyelini kaybedecektir.

Genel Cihaz Sağlık Bilgileri

Cihaz sağlığının izlenmesi, çeşitli temel ölçümlerin izlenmesini içerir. CPU, bellek tüketimi ve ağ trafiğini düşünebilirsiniz. Bu ölçümlere erişim, performans sorunlarının belirlenmesine, yazılım hatalarının tespit edilmesine ve hatta dış saldırıları ortaya çıkarmak.

Bu ölçümleri ortaya çıkarmanın birçok yolu vardır. Bununla birlikte, mühendislik topluluğu şu anda yeteneklerin büyüsüne kapılmış durumdadır. OpenTelemetri.

Ana satış noktalarından biri satıcıdan bağımsız yaklaşımlarıdır. Yani, arasından seçim yapabilirsiniz çok sayıda gözlemlenebilirlik arka ucu depolama ve aşağıdaki analiz için. Bu, onunla çalışmak için her türlü aletin yapılmasına yol açtı.

Yani hangi dili veya sistemi kullanırsanız kullanın, sigorta kapsamındasınız. Bu, özellikle her cihazın kendi benzersiz yazılımını çalıştırdığı IoT'nin vahşi dünyasında son derece kullanışlıdır.

OpenTelemetry üç ana sinyal türünü destekler: ölçümler, günlükler ve izlemeler. Bu bölümde özetlenen çoğu durumda, cihazların mevcut bellek tüketimi gibi birkaç ilgili ölçümü göstermesi yeterlidir.

Daha sonra bu ölçümlerin, onları görselleştirebileceğiniz, uyarıları ayarlayabileceğiniz vb. buluta taşınması gerekir. Bu yol, IoT cihazlarınızdan ölçümler toplamanıza yardımcı olabilecek OpenTelemetry Collector veya Telegraf gibi projelerle IoT kullanım durumları için zaten döşenmiştir.

Diğer Etki Alanına Özel Sinyaller

Veri gönderme ve kaynak kullanımına ilişkin genel özelliklerin yanı sıra, alana özel bazı değerleri de takip etmeniz gerekebilir. Bu, günlüklerin, izlemelerin veya uygulamaya özel içerik içeren basit mesajların gönderilmesini içerebilir.

Hem günlükler hem de izlemeler için OpenTelemetry ekosistemine bir kez daha güvenebilirsiniz. Bu, ekstra çaba harcamadan Grafana Loki/Tempo veya Elastic Observability yığını gibi tercih ettiğiniz arka uçları kullanarak günlükleri ve izleri analiz etmenize olanak tanır! Öte yandan mesajlaşma, her makul IoT platformunun temel işlevidir. Başka bir deyişle, bu yaklaşımların çoğu senaryoda uygulanması önemsiz olmalıdır.

Günlüklerin Basitliği

Örneğin otonom bir hasat makinesini düşünün. Faaliyetlerini takip etmek isteyebilirsiniz. Bunu yapmanın basit bir yolu, etkinlik bazı ek meta verilerle başlatıldığında bir günlük göndermektir.

Etkinlik bittiğinde ve diğer ilgili etkinlikler için de aynı şeyi yapabilirsiniz. Temel olarak her günlük kaydı, birkaç gerekli özelliğe sahip yapılandırılmış bir olaydır. Aşağıda hasat makinesi yanaşma sırasını başlattığında gönderilen günlüğün bir örneği verilmiştir:

Mesaj, zaman damgası ve gövde gibi birincil alanların dışında, olayı daha ayrıntılı şekilde açıklayan ek özellikler içerebilir. Bu ekstra parçalar, böcekleri avlarken kullanışlı olabilir. Bu nedenle tüm önemli bilgileri eklediğinizden emin olun.

İzlerle Derin Bağlamsal İçgörüler

Biraz daha ayrıntılı bilgiler istiyorsanız izlemeyi de kullanabilirsiniz. Bir iz, bir sistemin mantıksal bir işlemine karşılık gelir ve örtülü olarak yayılma alanları tarafından tanımlanır. Bir yayılma, söz konusu işlemin tek bir iş birimini temsil eder. Başlangıç ​​ve bitiş zamanları, öznitelikleri ve isteğe bağlı olarak bir üst yayılma alanıyla tanımlanır.

Ana referanslar sayesinde iz, belirli bir işlemi ve onun alt rutinlerini açıklayan yönlendirilmiş bir grafik oluşturur. Ayrıca aralıklar, zamanın belirli bir noktasında meydana gelen bir olayı açıklayan birden çok yayılma olayı içerebilir.

İzler genellikle dağıtılmış sistemlerin izlenmesiyle ilişkilendirilse de sahada olup bitenlerin büyük resmini anlamanıza yardımcı olmak için IoT cihazlarında izlemeyi kullanmak da mümkündür. Diyelim ki otonom biçerdöverin kenetlenme istasyonuna nasıl geri döndüğünü merak ediyorsunuz.

Yerleştirmenin üst düzey kök açıklığa karşılık geldiği aşağıdaki şekle bakın. Öncelikle biçerdöverin yerleştirme istasyonunu bulması gerekiyor, bu nedenle bir API çağırıyor. Bu işlem bir çocuk aralığına karşılık gelir. Bir yayılma olayına örnek olarak biçerdöverin tarlayı terk ettiği nokta verilebilir. Tüm izleme cihazlarını bir arada kullanırken cihazın çalışmasının tüm resmini görebilirsiniz.

Basit Mesajlarla Temel Bilgilere Dönüş

Bazı senaryolarda basit yapılandırılmış mesajların gönderilmesi, OpenTelemetry sinyallerini kullanmaktan daha pratik olabilir. Otonom hasat makinesi örneğine dönersek, muhtemelen konumunu takip etmek istersiniz.

Konumu gerçek zamanlı olarak görselleştirmek istiyorsanız OpenTelemetry şu anda bu senaryoya anlamsal olarak uyan bir sinyali gerçekten desteklemiyor. En yakın eşleşme, muhtemelen henüz deneme aşamasında olan (bu makalenin yazıldığı 1 yılının ilk çeyreğinde) Etkinlik API'si olacaktır. Bunun yerine aşağıdaki JSON mesajını göndermeyi düşünün:

İdeal olarak, kullandığınız IoT platformunun bu tür mesajları ayrıştırabilmesi ve bunları seçtiğiniz uygun veritabanına alabilmesi gerekir. Buradan verileri ihtiyaçlarınıza göre analiz etmekte ve görselleştirmekte özgürsünüz.

Basitliği göstermek için bu örneği Spotflow IoT platformuyla yeniden oluşturduk. Platforma periyodik olarak konumunu ve hızını bildiren mesajlar gönderen bir cihaz kuruyoruz. Ardından veri akışını yerleşik Grafana çıkış havuzumuza yönlendirdik. Ve bu kadar! Platform artık tüm mesajları alıyor ve bunları Grafana'da sorgulanabilen bir zaman serisi veritabanına koyuyor.

Ayrıca bu, Grafana Geomap görselleştirmesi için harika bir kullanım örneğidir. Cihazlarınızın konumlarını kolayca çizmenizi sağlar. Cihazdan alınan verileri görselleştirmek için Grafana'yı kullandığımız aşağıdaki resme bakın.

Önemli Noktalar

Ve bu kadar! Artık gözlemlenebilirlik yığınınızı kurmaya ve IoT cihazlarınızı izlemeye başlamaya hazırsınız. Bu makalenin IoT gözlemlenebilirliği dünyasında bir başlangıç ​​noktası olarak hizmet etmesini istiyoruz. Aşağıdaki temel fikirleri unutmayın:

  • Veri İletimini İzleyin: Cihazlarınızdan veri aktarımını yakından takip edin ve herhangi bir kesintiyi anında fark etmek için uyarılara hazırlıklı olun.
  • Cihaz Sağlığı Metriklerini Takip Edin: Sorunsuz çalışmayı sağlamak için cihazınızın sağlığına ilişkin ilgili ölçümleri yüzeye çıkarın.
  • Günlükler, İzlemeler ve Yapılandırılmış Mesajlar aracılığıyla Uygulamaya Özel Verileri Gönderin: Alanınızı ve cihazın çalışmasını düşünün ve gelecekte hata ayıklama ve gerçek zamanlı izleme için gerekli olabilecek tüm verileri gönderin.
  • OpenTelemetry Ekosistemini Keşfedin: Gözlemlenebilirlik arka uçlarına yönelik birçok seçenek sunan ve çeşitli cihaz çalışma zamanlarına hizmet veren bir gözlemlenebilirlik standardı haline geldiğinden IoT'de OpenTelemetry ekosistemini kullanmayı düşünün.
spot_img

En Son İstihbarat

spot_img