Azure IoT başvuru mimarisiAzure IoT reference architecture

Bu başvuru mimarisi Azure'da IoT uygulamaları için PaaS (hizmet olarak platform) bileşenlerinin kullanıldığı önerilen mimariyi gösterir.This reference architecture shows a recommended architecture for IoT applications on Azure using PaaS (platform-as-a-service) components.

Mimarinin diyagramı

IoT uygulamaları, içgörülerin oluşturulduğu verileri gönderen öğeler (cihazlar) olarak açıklanabilir.IoT applications can be described as things (devices) sending data that generates insights. Bu içgörüler de, işleri veya süreçleri geliştirecek eylemler oluşturur.These insights generate actions to improve a business or process. Buna örnek olarak sıcaklık verilerini gönderen bir altyapı (öğe) verilebilir.An example is an engine (the thing) sending temperature data. Bu veriler altyapının beklendiği gibi çalışıp çalışmadığını değerlendirmek için kullanılır (içgörü).This data is used to evaluate whether the engine is performing as expected (the insight). İçgörü, altyapıda bakım zamanlamasının önceliğini proaktif olarak belirlemek için kullanılır (eylem).The insight is used to proactively prioritize the maintenance schedule for the engine (the action).

Bu başvuru mimarisinde Azure PaaS (hizmet olarak platform) bileşenleri kullanılır.This reference architecture uses Azure PaaS (platform-as-a-service) components. Azure'da IoT çözümleri oluşturmaya yönelik diğer seçenekler şunlardır:Other options for building IoT solutions on Azure include:

  • Azure IoT Central.Azure IoT Central. IoT Central tam olarak yönetilen bir SaaS (hizmet olarak yazılım) çözümüdür.IoT Central is a fully managed SaaS (software-as-a-service) solution. Teknik seçenekleri ayırır ve özel olarak çözümünüze odaklanmanıza olanak sağlar.It abstracts the technical choices and lets you focus on your solution exclusively. Bu basitlik için verilen ödün, IoT Central'ın PaaS tabanlı çözümlerden daha az özelleştirilebilir olmasıdır.This simplicity comes with a tradeoff in being less customizable than a PaaS-based solution.
  • Azure sanal makinelerinde dağıtılan SMACK yığını (Spark, Mesos, Akka, Cassandra, Kafka) gibi OSS bileşenlerini kullanma.Using OSS components such as the SMACK stack (Spark, Mesos, Akka, Cassandra, Kafka) deployed on Azure VMs. Bu yaklaşım çok kapsamlı bir denetim sunar ama daha karmaşıktır.This approach offers a great deal of control but is more complex.

Yüksek bir düzeyden bakıldığında, telemetri verilerini işlemenin iki yolu vardır: etkin yol ve durgun yol.At a high level, there are two ways to process telemetry data, hot path and cold path. Aralarındaki fark, gecikme süresi ve veri erişimi gereksinimleriyle ilgilidir.The difference has to do with requirements for latency and data access.

  • Etkin yol, gelen verileri neredeyse gerçek zamanlı analiz eder.The hot path analyzes data in near-real-time, as it arrives. Etkin yolda, telemetrinin çok düşük bir gecikme süresiyle işlenmesi gerekir.In the hot path, telemetry must be processed with very low latency. Etkin yol normalde akış işleme altyapısı kullanılarak uygulanır.The hot path is typically implemented using a stream processing engine. Çıkış bir uyarıyı tetikleyebilir veya analiz araçları kullanılarak sorgulanabilecek, yapılandırılmış bir biçimde yazılabilir.The output may trigger an alert, or be written to a structured format that can be queried using analytical tools.
  • Durgun yol, daha uzun aralıklarla (saatlik veya günlük) toplu işleme gerçekleştirir.The cold path performs batch processing at longer intervals (hourly or daily). Durgun yol normalde çok büyük hacimli veriler üzerinde çalışır ama sonuçların etkin yoldaki gibi zamanında alınması gerekmez.The cold path typically operates over large volumes of data, but the results don't need to be as timely as the hot path. Durgun yolda, ham telemetri yakalanır ve toplu işleme beslenir.In the cold path, raw telemetry is captured and then fed into a batch process.

MimariArchitecture

Bu mimari aşağıdaki bileşenlerden oluşur.This architecture consists of the following components. Bazı uygulamalara burada listelenen bileşenlerin tümü gerekmeyebilir.Some applications may not require every component listed here.

IoT cihazları.IoT devices. Cihazlar buluta güvenle kaydedilebilir ve buluta bağlanarak veri gönderip alabilir.Devices can securely register with the cloud, and can connect to the cloud to send and receive data. Cihazların bazıları, cihazın kendisinde veya alan ağ geçidinde bazı veri işleme işlemleri yapan uç cihazlar olabilir.Some devices may be edge devices that perform some data processing on the device itself or in a field gateway. Uç işleme işlemleri için Azure IoT Edge'i öneririz.We recommend Azure IoT Edge for edge processing.

Bulut ağ geçidi.Cloud gateway. Bulut ağ geçidi, cihazların buluta güvenle bağlanması ve veri göndermesi için bir bulut merkezi sunar.A cloud gateway provides a cloud hub for devices to connect securely to the cloud and send data. Ayrıca, cihazların kumandası ve denetimi de dahil olmak üzere cihaz yönetim özellikleri sağlar.It also provides device management, capabilities, including command and control of devices. Bulut ağ geçidi için IoT Hub'ı öneririz.For the cloud gateway, we recommend IoT Hub. IoT Hub barındırılan bir bulut hizmetidir. Cihazlardan olayları alır ve cihazlarla arka uç hizmetleri arasında ileti aracısı işlevini üstlenir.IoT Hub is a hosted cloud service that ingests events from devices, acting as a message broker between devices and backend services. IoT Hub güvenli bağlantı, olay alımı, çift yönlü iletişim ve cihaz yönetimi sağlar.IoT Hub provides secure connectivity, event ingestion, bidirectional communication, and device management.

Cihaz sağlama.Device provisioning. Büyük cihaz kümelerini kaydetmek ve bağlamak için IoT Hub Cihazı Sağlama Hizmeti'nin (DPS) kullanılmasını öneririz.For registering and connecting large sets of devices, we recommend using the IoT Hub Device Provisioning Service (DPS). DPS, her ölçekte cihazları belirli Azure IoT Hub uç noktalarına atamanıza ve kaydetmenize olanak tanır.DPS lets you assign and register devices to specific Azure IoT Hub endpoints at scale.

Akış işleme.Stream processing. Akış işleme, büyük veri kaydı akışlarını analiz eder ve bu akışlar için kuralları değerlendirir.Stream processing analyzes large streams of data records and evaluates rules for those streams. Akış işleme işlemleri için Azure Stream Analytics'i öneririz.For stream processing, we recommend Azure Stream Analytics. Stream Analytics zaman pencereli işlevleri, akış toplamlarını ve dış veri kaynağı birleştirmelerini kullanarak her ölçekte karmaşık analizler yürütebilir.Stream Analytics can execute complex analysis at scale, using time windowing functions, stream aggregations, and external data source joins. Bir diğer seçenek de Azure Databricks üzerinde Apache Spark'tır.Another option is Apache Spark on Azure Databricks.

Makine öğrenmesi, geçmiş telemetri verileri üzerinde tahmine dayalı algoritmaların yürütülmesini sağlayarak tahmine dayalı bakım gibi senaryolara olanak tanır.Machine learning allows predictive algorithms to be executed over historical telemetry data, enabling scenarios such as predictive maintenance. Makine öğrenmesi için Azure Machine Learning Hizmeti'ni öneririz.For machine learning, we recommend Azure Machine Learning Service.

Etkin yol depolama alanı, raporlama ve görselleştirme için cihazdan gelen ve hemen kullanılabilir olması gereken verileri içerir.Warm path storage holds data that must be available immediately from device for reporting and visualization. Etkin yol depolama alanı için Cosmos DB'yi öneririz.For warm path storage, we recommend Cosmos DB. Cosmos DB global olarak dağıtılmış, çok modelli bir veritabanıdır.Cosmos DB is a globally distributed, multi-model database.

Durgun yol depolama alanı, daha uzun süre saklanan ve toplu işleme işlemlerinde kullanılan verileri içerir.Cold path storage holds data that is kept longer term and is used for batch processing. Durgun yol depolama alanı için Azure Blob Depolama'yı öneririz.For cold path storage, we recommend Azure Blob Storage. Veriler Blob depolamada düşük maliyetle süresiz olarak arşivlenebilir ve toplu işleme için bu verilere kolayca erişilebilir.Data can be archived in Blob storage indefinitely at low cost, and is easily accessible for batch processing.

Veri dönüştürme, telemetri akışını işler veya toplar.Data transformation manipulates or aggregates the telemetry stream. İkili verilerin JSON'a dönüştürülmesi veya veri noktalarının birleştirilmesi gibi protokol dönüştürmeleri buna örnek olarak verilebilir.Examples include protocol transformation, such as converting binary data to JSON, or combining data points. Verilerin IoT Hub'a ulaşmadan önce dönüştürülmesi gerekiyorsa, protokol ağ geçidinin kullanılmasını öneririz (burada gösterilmemiştir).If the data must be transformed before reaching IoT Hub, we recommend using a protocol gateway (not shown). Aksi takdirde, veriler IoT Hub'a ulaştıktan sonra dönüştürülebilir.Otherwise, data can be transformed after it reaches IoT Hub. Bu durumda, Azure İşlevleri'nin kullanılmasını öneririz.In that case, we recommend using Azure Functions. İşlevler'in IoT Hub, Cosmos DB ve Blob Depolama ile yerleşik tümleştirmesi vardır.Functions has built-in integration with IoT Hub, Cosmos DB, and Blob Storage.

İş süreci tümleştirmesi, cihaz verilerinden gelen içgörüler temelinde eylemler gerçekleştirir.Business process integration performs actions based on insights from the device data. Bunlar bilgi iletilerini depolama, alarm oluşturma, e-posta veya kısa mesaj gönderme ya da CRM ile tümleştirme olabilir.This could include storing informational messages, raising alarms, sending email or SMS messages, or integrating with CRM. İş süreci tümleştirmesi için Azure Logic Apps'in kullanılmasını öneririz.We recommend using Azure Logic Apps for business process integration.

Kullanıcı yönetimi, cihazlar üzerinde üretici yazılımını yükseltme gibi eylemler gerçekleştirebilecek kullanıcıları ve grupları kısıtlar.User management restricts which users or groups can perform actions on devices, such as upgrading firmware. Ayrıca uygulamalarda kullanıcılar için özellikleri de tanımlar.It also defines capabilities for users in applications. Kullanıcıların kimlik doğrulama ve yetkilendirme işlemleri için Azure Active Directory’nin kullanılmasını öneririz.We recommend using Azure Active Directory to authenticate and authorize users.

Ölçeklenebilirlik konusunda dikkat edilmesi gerekenlerScalability considerations

IoT uygulaması, bağımsız olarak ölçeklendirilebilecek ayrı ayrı hizmetler olarak oluşturulmalıdır.An IoT application should be built as discrete services that can scale independently. Ölçeklenebilirlikle ilgili aşağıdaki noktalara dikkat edin:Consider the following scalability points:

IoTHub.IoTHub. IoT Hub için, aşağıdaki ölçek faktörlerine dikkat edin:For IoT Hub, consider the following scale factors:

  • IoT Hub'a gelen iletilerde en yüksek günlük kota.The maximum daily quota of messages into IoT Hub.
  • IoT Hub örneğindeki bağlı cihazların kotası.The quota of connected devices in an IoT Hub instance.
  • Alım hızı (IoT Hub'ın iletileri ne kadar hızlı alabileceği).Ingestion throughput — how quickly IoT Hub can ingest messages.
  • İşleme hızı (gelen iletilerin ne kadar hızlı işlendiği).Processing throughput — how quickly the incoming messages are processed.

Her IoT hub'ı belirli bir katmanda belirli bir birim sayısıyla sağlanır.Each IoT hub is provisioned with a certain number of units in a specific tier. Katman ve birim sayısı, cihazların hub'a gönderebileceği iletilerin en yüksek günlük kotasını belirler.The tier and number of units determine the maximum daily quota of messages that devices can send to the hub. Daha fazla bilgi için IoT Hub kotaları ve azaltma konusuna bakın.For more information, see IoT Hub quotas and throttling. Mevcut işlemleri kesintiye uğratmadan hub'ın ölçeğini artırabilirsiniz.You can scale up a hub without interrupting existing operations.

Stream Analytics.Stream Analytics. Stream Analytics işlerinde en iyi ölçeklendirme, bu işlerin Stream Analytics işlem hattının her noktasında (girişten sorguya ve çıkışa kadar) paralel olması durumunda elde edilir.Stream Analytics jobs scale best if they are parallel at all points in the Stream Analytics pipeline, from input to query to output. Tam olarak paralel bir iş Stream Analytics'in çalışmayı birden çok işlem düğümüne bölebilmesini sağlar.A fully parallel job allows Stream Analytics to split the work across multiple compute nodes. Aksi takdirde, Stream Analytics'in akış verilerini tek bir yerde birleştirmesi gerekir.Otherwise, Stream Analytics has to combine the stream data into one place. Daha fazla bilgi için bkz. Azure Stream Analytics'te sorgu paralelleştirmesinden yararlanma.For more information, see Leverage query parallelization in Azure Stream Analytics.

IoT Hub cihaz kimliği temelinde cihaz iletilerini otomatik olarak bölümlere ayırır.IoT Hub automatically partitions device messages based on the device ID. Belirli bir cihazdan gelen iletilerin tümü her zaman aynı bölüme gelir ama tek bir bölüme birden çok cihazdan ileti gelir.All of the messages from a particular device will always arrive on the same partition, but a single partition will have messages from multiple devices. Dolayısıyla, paralelleştirme birimi bölüm kimliğidir.Therefore, the unit of parallelization is the partition ID.

İşlevler.Functions. Event Hubs uç noktasından okurken, Event hub'ı bölümü başına işlev örneği sayısının bir üst sınırı vardır.When reading from the Event Hubs endpoint, there is a maximum of function instance per event hub partition. En yüksek işleme hızı, bir işlev örneğinin tek bir bölümden gelen olayları ne hızla işleyebildiğine göre belirlenir.The maximum processing rate is determined by how fast one function instance can process the events from a single partition. İşlevin iletileri toplu olarak işlemesi gerekir.The function should process messages in batches.

Cosmos DB.Cosmos DB. Cosmos DB koleksiyonunun ölçeğini artırmak için, bölüm anahtarı olan bir koleksiyon oluşturun ve yazdığınız her belgeye bölüm anahtarını ekleyin.To scale out a Cosmos DB collection, create the collection with a partition key and include the partition key in each document that you write. Daha fazla bilgi için bkz. Bölüm anahtarı seçerken en iyi yöntemler.For more information, see Best practices when choosing a partition key.

  • Cihaz başına tek belge depoluyor ve güncelleştiriyorsanız, cihaz kimliği iyi bir bölüm anahtarı olur.If you store and update a single document per device, the device ID is a good partition key. Yazma işlemleri anahtarlar arasında eşit dağıtılır.Writes are evenly distributed across the keys. Her bölümün boyutu kesin bir şekilde sınırlanmıştır, çünkü her anahtar değeri için tek bir belge vardır.The size of each partition is strictly bounded, because there is a single document for each key value.
  • Her cihaz iletisi için ayrı bir belge depoluyorsanız, bölüm anahtarı olarak cihaz kimliği kullanıldığında bölüm başına 10 GB sınırı kısa sürede aşılabilir.If you store a separate document for every device message, using the device ID as a partition key would quickly exceed the 10-GB limit per partition. Böyle bir durumda ileti kimliği daha iyi bir bölüm anahtarı olacaktır.Message ID is a better partition key in that case. Dizin oluşturma ve sorgulama amacıyla cihaz kimliğini belgeye yine de ekleyebilirsiniz.Typically you would still include device ID in the document for indexing and querying.

Güvenlikle ilgili dikkat edilmesi gerekenlerSecurity considerations

Güvenilir ve güvenli iletişimTrustworthy and secure communication

Cihaza gönderilen ve cihazdan alınan tüm bilgilerin güvenilir olması gerekir.All information received from and sent to a device must be trustworthy. Aşağıdaki şifreleme özelliklerini destekleyemeyen cihazlar yerel ağlarla sınırlı tutulmalı ve ağlar arasındaki tüm iletişim alan ağ geçidi üzerinden olmalıdır:Unless a device can support the following cryptographic capabilities, it should be constrained to local networks and all internetwork communication should go through a field gateway:

  • Güvenli olduğu kanıtlanan, herkese açık şekilde analiz edilen ve kapsamlı olarak uygulanan bir simetrik anahtar şifreleme algoritmasıyla veri şifreleme.Data encryption with a provably secure, publicly analyzed, and broadly implemented symmetric-key encryption algorithm.
  • Güvenli olduğu kanıtlanan, herkese açık şekilde analiz edilen ve kapsamlı olarak uygulanan bir simetrik anahtar imza algoritmasıyla dijital imzalama.Digital signature with a provably secure, publicly analyzed, and broadly implemented symmetric-key signature algorithm.
  • TCP veya diğer akış tabanlı iletişim yolları için TLS 1.2 ya da veri birimi tabanlı iletişim yolları için DTLS 1.2 desteği.Support for either TLS 1.2 for TCP or other stream-based communication paths or DTLS 1.2 for datagram-based communication paths. X.509 sertifikası işleme desteği isteğe bağlıdır ve TLS için işlem açısından ve kablolu bağlantı açısından daha verimli, önceden paylaşılan anahtar moduyla değiştirilebilir (bu mod, AES ve SHA-2 algoritmaları desteğiyle uygulanabilir).Support of X.509 certificate handling is optional and can be replaced by the more compute-efficient and wire-efficient pre-shared key mode for TLS, which can be implemented with support for the AES and SHA-2 algorithms.
  • Güncelleştirilebilir anahtar deposu ve cihaz başına anahtarlar.Updateable key-store and per-device keys. Her cihazın kendisini sisteme tanıtan benzersiz bir anahtar malzemesi veya belirteçleri olmalıdır.Each device must have unique key material or tokens that identify it toward the system. Cihazların anahtarı cihaz üzerinde güvenle depolaması gerekir (örneğin güvenli bir anahtar deposu kullanabilir).The devices should store the key securely on the device (for example, using a secure key-store). Cihaz anahtarları veya belirteçleri düzenli aralıklarla veya sistemde güvenlik ihlali olması gibi acil durumlara karşılık olarak güncelleştirebilmelidir.The device should be able to update the keys or tokens periodically, or reactively in emergency situations such as a system breach.
  • Cihazdaki üretici yazılımı ve uygulama yazılımları, bulunan güvenlik açıklarının onarılabilmesi için güncelleştirmelere izin vermelidir.The firmware and application software on the device must allow for updates to enable the repair of discovered security vulnerabilities.

Ancak birçok cihaz bu gereksinimleri destekleyemeyecek kadar kısıtlanmıştır.However, many devices are too constrained to support these requirements. Böyle durumlarda alan ağ geçidi kullanılmalıdır.In that case, a field gateway should be used. Cihazlar yerel ağ üzerinden güvenli bir şekilde alan ağ geçidine bağlanır ve alan ağ geçidi de bulutla güvenli iletişim sağlar.Devices connect securely to the field gateway through a local area network, and the gateway enables secure communication to the cloud.

Fiziksel kurcalamaya karşı dayanıklılıkPhysical tamper proofing

Genel olarak sistemin güvenlik bütünlüğünden ve güvenilirliğinden emin olmak için cihazın tasarımında fiziksel oynama girişimlerine karşı koruma sağlayan özelliklerin bulunması kesinlikle önerilir.It is strongly recommended that device design incorporates features that defend against physical manipulation attempts, to help ensure the security integrity and trustworthiness of the overall system.

Örnek:For example:

  • Güvenli depolama sağlayan ve güvenilir platform modülü (TPM tümleştirmesi gibi şifreleme anahtarı malzemesinin kullanımına olanak tanıyan mikrodenetleyiciler/mikroişlemciler veya ikincil donanımlar seçin.Choose microcontrollers/microprocessors or auxiliary hardware that provide secure storage and use of cryptographic key material, such as trusted platform module (TPM) integration.
  • TPM'e bağlanmış, güvenli önyükleme yükleyici ve güvenli yazılım yüklemesi.Secure boot loader and secure software loading, anchored in the TPM.
  • Yetkisiz erişim girişimlerini ve cihaz ortamıyla oynama girişimlerini algılayan; uyarıları ve cihazın "dijital olarak kendi kendini yok edebilme" özelliği olan algılayıcılar kullanın.Use sensors to detect intrusion attempts and attempts to manipulate the device environment with alerting and potentially “digital self-destruction” of the device.

Güvenlikle ilgili dikkat edilmesi gereken ek noktalar için bkz. Nesnelerin İnterneti (IoT) güvenlik mimarisi.For additional security considerations, see Internet of Things (IoT) security architecture.

İzleme ve günlüğe kaydetmeMonitoring and logging

Günlüğe kaydetme ve izleme sistemleri çözümün çalışıp çalışmadığını saptamak ve sorunların giderilmesine yardımcı olmak için kullanılır.Logging and monitoring systems are used to determine whether the solution is functioning and to help troubleshoot problems. İzleme ve günlüğe kaydetme sistemleri, çalışma durumuyla ilgili aşağıdaki soruları yanıtlamaya yardım eder:Monitoring and logging systems help answer the following operational questions:

  • Cihazlarda veya sistemlerde hata durumu mu var?Are devices or systems in an error condition?
  • Cihazlar veya sistemler doğru yapılandırılmış mı?Are devices or systems correctly configured?
  • Cihazlar veya sistemler doğru veri üretiyor mu?Are devices or systems generating accurate data?
  • Sistemler hem işletmenin hem de son kullanıcıların beklentilerini karşılıyor mu?Are systems meeting the expectations of both the business and end customers?

Günlüğe kaydetme ve izleme araçları normalde aşağıdaki dört bileşenden oluşur:Logging and monitoring tools are typically comprised of the following four components:

  • Sistemi izlemeye ve temel sorun giderme işlemlerine yönelik sistem performansı ve zaman çizelgesi görselleştirme araçları.System performance and timeline visualization tools to monitor the system and for basic troubleshooting.
  • Günlük verilerini arabelleğe almak için, arabelleğe alınmış verilerin alımı.Buffered data ingestion, to buffer log data.
  • Günlük verilerini depolamak için kalıcılık depo.Persistence store to store log data.
  • Ayrıntılı sorun giderme işlemlerinde kullanmak üzere günlük verilerini görüntülemek için arama ve sorgulama özellikleri.Search and query capabilities, to view log data for use in detailed troubleshooting.

İzleme sistemleri, bir IoT çözümünün durumu, güvenliği, kararlılığı ve performansı ile ilgili içgörüler sağlar.Monitoring systems provide insights into the health, security, and stability, and performance of an IoT solution. Ayrıca bu sistemler bileşen yapılandırma değişikliklerinin kaydını alarak ve olası güvenlik açıklarını ortaya çıkarabilecek, ayıklanmış günlük verileri sağlayarak daha ayrıntılı bir görünüm sunabilir, olay yönetim sürecini iyileştirebilir ve sistem sahibinin sorunları gidermesine yardımcı olabilir.These systems can also provide a more detailed view, recording component configuration changes and providing extracted logging data that can surface potential security vulnerabilities, enhance the incident management process, and help the owner of the system troubleshoot problems. Kapsamlı izleme çözümlerinde belirli alt sistemler için bilgileri sorgulama veya birden çok alt sistemden toplama özelliği bulunur.Comprehensive monitoring solutions include the ability to query information for specific subsystems or aggregating across multiple subsystems.

İzleme sistemi geliştirmeye başlarken önce sağlıklı işlem, yasal düzenlemelere uyumluluk ve denetim gereksinimleri tanımlanmalıdır.Monitoring system development should begin by defining healthy operation, regulatory compliance, and audit requirements. Şu ölçümler toplanabilir:Metrics collected may include:

  • Yapılandırma değişiklikleri bildiren fiziksel cihazlar, uç cihazları ve altyapı bileşenleri.Physical devices, edge devices, and infrastructure components reporting configuration changes.
  • Yapılandırma değişiklikleri, güvenlik denetimi günlükleri, istek hızları, yanıt süreleri, hata oranları ve yönetilen diller için atık toplama istatistikleri bildiren uygulamalar.Applications reporting configuration changes, security audit logs, request rates, response times, error rates, and garbage collection statistics for managed languages.
  • Sorgu ve yazma performansı, şema değişiklikleri, güvenlik denetimi günlüğü, kilitler veya kilitlenmeler, dizin performansı, CPU, bellek ve disk kullanımı bildiren veritabanları, kalıcılık depoları ve önbellekler.Databases, persistence stores, and caches reporting query and write performance, schema changes, security audit log, locks or deadlocks, index performance, CPU, memory, and disk usage.
  • Sistem durumu ölçümleri ve bağımlı sistem durumu ile performansını etkileyen yapılandırma değişiklikleri bildiren yönetilen hizmetler (IaaS, PaaS, SaaS ve FaaS).Managed services (IaaS, PaaS, SaaS, and FaaS) reporting health metrics and configuration changes that impact dependent system health and performance.

İzleme ölçümlerinin görselleştirmesi, operatörleri sistemdeki kararsızlıklara karşı uyarır ve olaylara yanıt vermeyi kolaylaştırır.Visualization of monitoring metrics alert operators to system instabilities and facilitate incident response.

Telemetriyi izlemeTracing telemetry

Telemetriyi izleme, operatörün bir telemetri parçasının oluşturulmasından başlayıp sistem boyunca süren yolculuğunu takip edebilmesini sağlar.Tracing telemetry allows an operator to follow the journey of a piece of telemetry from creation through the system. İzleme özelliği, hata ayıklama ve sorun giderme için de önemlidir.Tracing is important for debugging and troubleshooting. Azure IoT Hub ve IoT Hub Cihaz SDK'ları kullanan IoT çözümleri için, izleme veri birimleri Buluttan Cihaza iletiler olarak başlatılabilir ve telemetri akışına eklenebilir.For IoT solutions that use Azure IoT Hub and the IoT Hub Device SDKs, tracing datagrams can be originated as Cloud-to-Device messages and included in the telemetry stream.

Günlüğe kaydetmeLogging

Günlüğe kaydetme sistemleri, bir çözümün hangi eylemleri veya etkinlikleri gerçekleştirdiğini, hangi hataların oluştuğunu anlamak için vazgeçilmez sistemlerdir ve söz konusu hataları düzeltmeye yardımcı olabilir.Logging systems are integral in understanding what actions or activities a solution has performed, failures that have occurred, and can provide help in fixing those failures. Günlüklerin analiz edilmesi hata durumlarını anlamaya ve düzeltmeye; performans özelliklerini iyileştirmeye; geçerli olan kurallara ve yasal düzenlemelere uyumluluğu güvence altına almaya yardımcı olabilir.Logs can be analyzed to help understand and remedy error conditions, enhance performance characteristics, and ensure compliance with governing rule and regulations.

Düz metin günlüklerin ön geliştirme maliyetlerine fazla etkisi olmasa da, makinelerin bunları ayrıştırması/okuması zor olabilir.Though plain-text logging is lower impact on upfront development costs, it is more challenging for a machine to parse/read. Yapılandırılmış günlük kullanılmasını öneririz çünkü bu durumda toplanan bilgiler hem makineler tarafından ayrıştırılabilir hem de insanlar tarafından okunabilir.We recommend structured logging be used, as collected information is both machine parsable and human readable. Yapılandırılmış günlük kaydında günlük bilgilerine durumsal bağlam ve meta veriler eklenir.Structured logging adds situational context and metadata to the log information. Yapılandırılmış günlük kaydında arama ve sorgu özelliklerini iyileştirmek amacıyla, anahtar/değer çiftleri olarak veya sabit bir şemayla biçimlendirilen özelliklere çok önem verilir.In structured logging, properties are first class citizens formatted as key/value pairs, or with a fixed schema, to enhance search and query capabilities.

Sonraki adımlarNext steps