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.
OpenTelemetry (OTEL) veri akışı uç noktaları, ölçümleri ve günlükleri OpenTelemetry toplayıcılarına gönderir ve bu da verileri Grafana panoları ve Azure İzleyici gibi gözlemlenebilirlik platformlarına iletebilir. Uç nokta ayarlarını, kimlik doğrulamasını, Aktarım Katmanı Güvenliği'ni (TLS) ve toplu işlem seçeneklerini yapılandırabilirsiniz.
Bu makalede, MQTT aracınızdan OpenTelemetry toplayıcısına varlık verilerini dışarı aktarmak için OpenTelemetry veri akışı uç noktasının nasıl oluşturulacağı ve yapılandırıldığı açıklanmaktadır. Makalede, MQTT aracısından dış OTEL toplayıcılarına varlık verilerini yönlendiren OTEL veri akışı uç noktası açıklanmaktadır. Telemetri verilerini Grafana veya Azure İzleyici gibi platformlara yönlendirmek istiyorsanız OpenTelemetry veri akışı uç noktasını kullanarak da gözlemlenebilirlik uç noktalarına varlık verileri gönderebilirsiniz.
Bu özellik, Azure IoT İşlemleri bileşeni sistem durumu ölçümlerini veya günlüklerini toplamak için değil, cihaz ve varlık verilerini yönlendirmeye yöneliktir. Küme gözlemlenebilirliği (MQTT aracısı, veri akışı bileşenleri vb. durumunu izleme) için bkz. Gözlemlenebilirliği ve izlemeyi yapılandırma.
Önkoşullar
- Kubernetes kümesinde dağıtılan Azure IoT İşlemleri örneği. Daha fazla bilgi için bkz. Deploy Azure IoT İşlemleri.
Geliştirme makinenizde yüklü Azure CLI sürüm 2.62.0 veya üzeri. Sürümünüzü denetlemek ve
az --versiongerekirse güncelleştirmek için kullanınaz upgrade. Daha fazla bilgi için bkz. Azure CLI yükleme.Azure CLI için Azure IoT İşlemleri uzantısı. Uzantıyı eklemek veya en son sürüme güncelleştirmek için aşağıdaki komutu kullanın:
az extension add --upgrade --name azure-iot-ops
Azure IoT İşlemleri kümenizden dağıtılan ve erişilebilen bir OpenTelemetry toplayıcısı.
Azure IoT İşlemleri kümenize yönetim erişimi.
Terminoloji
| Süre | Definition |
|---|---|
| OTEL veri akışı uç noktası | OTLP kullanarak varlık telemetrisini OpenTelemetry (OTEL) toplayıcısına aktaran yalnızca hedef veri akışı uç noktası. Kaynak olarak kullanılamaz. |
| OTLP | OpenTelemetry Protokolü (OTLP), telemetri verilerini bir OpenTelemetry Toplayıcısı'na göndermek için varsayılan protokoldür. |
| OTEL Toplayıcısı (küme gözlemlenebilirliği için) | Küme sağlığı izleme için Azure IoT Operasyonları bileşeni ölçümlerini ve günlüklerini toplayan ayrı bir üçüncü taraf bir bileşen. Daha fazla bilgi için bkz . Gözlemlenebilirliği ve izlemeyi yapılandırma. |
| OpenTelemetry Veri Aktarıcısı | Gözlemlenebilirlik verilerini hedef arka ucuna gönderen bileşen. |
OpenTelemetry uç noktasına genel bakış
OpenTelemetry uç noktalarını kullanarak, OpenTelemetry Protocol (OTLP) kullanarak cihaz ve varlık telemetri verilerini Azure IoT İşlemleri veri akışlarından OpenTelemetry toplayıcılarına aktarabilirsiniz. Bu özelliği kullanarak cihaz ve sistem telemetrisini mevcut gözlemlenebilirlik altyapınızla tümleştirebilirsiniz.
Azure IoT İşlemleri'nde OpenTelemetry şunları yapmanızı sağlar:
- Otel ölçümleri olarak varlık telemetrisini dışarı aktarın: gözlemlenebilirlik platformlarına sensör okumaları, üretim verileri veya ekipman durumu gönderin.
- Cihazları değiştirmeden verileri yönlendirme: MQTT iletilerini veri akışı katmanında OTEL biçimine dönüştürün.
- Telemetri verilerini toplayın ve tercih ettiğiniz gözlemlenebilirlik platformuna aktarın.
- Mevcut gözlemlenebilirlik işlem hatlarıyla tümleştirme: OTLP uyumlu herhangi bir arka uca (Grafana, Prometheus, Azure İzleyici ve Datadog) veri gönderin.
OTEL veri akışı uç noktaları, Azure IoT İşlemleri birinci sınıf uç noktalardır. Bunlar İşlem deneyimi portalındaki kullanılabilir veri akışı uç noktaları listesinde görünür ve modern veri akışı grafları yapılandırıldığında seçilebilir. Bu yaklaşım, tutarlı bir yapılandırma deneyimi sağlarken telemetriyi OTEL uyumlu arka uçlara yönlendirmeyi kolaylaştırır.
Yaygın senaryolar
Azure IoT İşlemleri'nde OpenTelemetry uç noktalarını kullanmaya yönelik yaygın senaryolar şunlardır:
- Cihaz tanılama: Cihaz durumunu izlemek için sıcaklık, basınç ve diğer algılayıcı okumalarını ölçüm olarak dışarı aktarın.
- Fabrika izleme: Operasyonel görünürlük için Grafana panolarına üretim hattı telemetrisi gönderin.
- Sistem gözlemlenebilirliği: Merkezi izleme için uygulama günlüklerini ve ölçümlerini Azure İzleyici'ye iletin.
- Özel ölçümler: Daha iyi filtreleme ve analiz için ölçümlere fabrika kimliği veya konum gibi bağlamsal öznitelikler ekleyin.
Veri biçimi gereksinimleri
OpenTelemetry uç noktaları, verilerin metrics dizisi, logs dizisi veya her ikisine sahip olarak belirli bir JSON şemasına uymasını gerektirir. Sistem, ileti kaybını önlemek için bu şemaya uymayan iletileri bırakır ve onaylar.
JSON yükü şu üst düzey yapıyı kullanmalıdır:
{
"metrics": [ /* array of metric objects */ ],
"logs": [ /* array of log objects */ ]
}
En az bir metrics veya logs değer eklemeniz gerekir.
Sistem, tüm gelen iletileri gerekli şemaya göre doğrular. Doğrulama başarısız olan iletileri aracıya geri bildirir ve görmezden gelir, ayrıca hataları sorun giderme amacıyla günlüğe kaydeder. Yaygın doğrulama hataları arasında eksik gerekli alanlar, geçersiz veri türleri, desteklenmeyen ölçüm türleri veya günlük düzeyleri ve hatalı biçimlendirilmiş zaman damgaları bulunur. MQTT iletileri süre sonu zaman damgaları içeriyorsa, sistem işlemeden önce süresi dolan iletileri filtreler.
Ölçüm biçimi
Dizideki metrics her ölçüm nesnesi aşağıdaki alanlara sahip olmalıdır:
Gerekli alanlar:
-
name(string): Metrik adı. -
type(dize): Ölçüm türü ( desteklenen ölçüm türlerine bakın). -
value(sayı): Ölçümün sayısal değeri.
İsteğe bağlı alanlar:
-
description(dize): Ölçümün insan tarafından okunabilen açıklaması. -
timestamp(sayı): Ölçümün kaydedildiği zamanın nanosaniye cinsinden Unix zaman dönemi zaman damgası. -
attributes(dizi): Ölçüm etiketleme ve filtreleme için anahtar-değer çiftleri.
{
"metrics": [
{
"name": "temperature",
"description": "The temperature reading from sensor",
"type": "f64_gauge",
"value": 72.5,
"timestamp": 1754851200000000000,
"attributes": [
{
"key": "factoryId",
"value": "factory1"
},
{
"key": "location",
"value": "warehouse"
}
]
}
]
}
Dizideki her öznitelik aşağıdakilere attributes sahip olmalıdır:
-
key(dize): Öznitelik adı. -
value(dize): Öznitelik değeri (dize olmalıdır).
Günlükler formatı
Her logs dizisindeki log nesnesi aşağıdaki alanları içermelidir.
Gerekli alanlar:
-
value(dize): günlük iletisi içeriği. -
level(string): Günlük seviyesi (bkz. desteklenen günlük seviyeleri).
İsteğe bağlı alanlar:
-
timestamp(sayı): Günlük kaydedildiğinde nanosaniye olarak Unix dönem zaman damgası. -
attributes(dizi): Günlük bağlamı ve filtreleme için anahtar-değer çiftleri.
{
"logs": [
{
"value": "Device temperature sensor initialized",
"level": "info",
"timestamp": 1754851200000000000,
"attributes": [
{
"key": "deviceId",
"value": "sensor001"
},
{
"key": "component",
"value": "temperature-sensor"
}
]
}
]
}
Dizideki her öznitelik aşağıdakilere attributes sahip olmalıdır:
-
key(dize): Öznitelik adı. -
value(dize): Öznitelik değeri (dize olmalıdır).
Desteklenen ölçüm türleri
Aşağıdaki OpenTelemetry ölçüm türleri desteklenir:
- Sayaçlar:
u64_counter,f64_counter- Monoton olarak artan değerler. - Yukarı/aşağı sayaçlar:
i64_up_down_counter,f64_up_down_counter- Artırabilen veya azaltabilen değerler. - Ölçerler:
u64_gauge,i64_gauge,f64_gauge- Anlık değerler. - Histogramlar:
f64_histogram,u64_histogram- Değerlerin dağılımı.
Desteklenen günlük düzeyleri
Aşağıdaki günlük düzeyleri desteklenir:
tracedebuginfowarnerrorfatal
OpenTelemetry uç noktası oluşturun
OpenTelemetry veri akışı uç noktasını IoT Operasyonları arayüzü, Bicep veya Kubernetes kullanarak oluşturabilirsiniz.
Veri akışı uç noktası, Azure IoT İşlemleri deneyimindeki kullanılabilir veri akışı uç noktaları listesinde görünür. Bu ekleme, telemetri işlem hatlarını yapılandırırken OpenTelemetry uç noktasını kolayca tanımlayıp seçebilmenizi sağlar ve izleme araçları arasında daha iyi tümleştirme ve görünürlük sağlar. OTEL uç noktasını diğer veri akışı seçenekleriyle birlikte kullanarak telemetri verilerini yönlendirebilir ve varlıklar arasında tutarlı gözlemlenebilirlik standartlarını daha verimli bir şekilde koruyabilirsiniz.
IoT İşlemleri deneyiminde openTelemetry veri akışı uç noktası oluşturmak için Veri akışı uç noktaları'nı seçin.
Veri akışı uç noktaları sayfasında Telemetriyi Aç'ı ve ardından + Yeni'yi seçin.
Yeni veri akışı uç noktası oluştur: Telemetriyi Aç bölmesinde Temel yapılandırma sekmesini seçin ve aşağıdaki bilgileri girin:
- Ad: Uç nokta için benzersiz bir ad.
-
Ana bilgisayar:
<host>:<port>biçiminde OpenTelemetry toplayıcı uç noktası. Örneğin,otel-collector.monitoring.svc.cluster.local:4317. -
Kimlik doğrulama yöntemi: Aşağıdaki kimlik doğrulama yöntemlerinden birini seçin:
- Kubernetes hizmet hesabı belirteci: OpenTelemetry toplayıcısıyla kimlik doğrulaması yapmak için Kubernetes hizmet hesabı belirteçlerini kullanır. OpenTelemetry toplayıcı yapılandırmanız için hedef kitle değerini girin. Daha fazla bilgi için bkz. Hizmet Hesabı Belirteci (SAT).
- Anonim: OpenTelemetry toplayıcısı kimlik doğrulaması gerektirmediğinde kullanın.
- X509 sertifikası: Karşılıklı TLS kimlik doğrulaması için istemci sertifikalarını kullanır. İstemci sertifikanızı içeren kubernetes gizli dizisinin adını girin. Daha fazla bilgi için bkz. X.509 sertifikası.
Gelişmiş yapılandırma sekmesini seçin ve aşağıdaki bilgileri girin:
- Toplu işlem gecikme süresi (saniye cinsinden):: Toplu işlem göndermeden önce beklenmesi gereken en uzun süre. Varsayılan değer 5 saniyedir.
- İleti sayısı: Toplu işlemdeki en fazla ileti sayısı. Varsayılan değer 100.000 iletidir.
-
TLS modu: Aşağıdaki TLS modlarından birini seçin:
- Etkin: OpenTelemetry toplayıcısıyla güvenli iletişim için TLS'yi etkinleştirin. Güvenilen CA sertifikanızı içeren kubernetes ConfigMap adını girin.
- Devre dışı: TLS'yi devre dışı bırakır.
- Güvenilen CA sertifikası ConfigMap adı: Güvenilen CA sertifikanızı içeren kubernetes ConfigMap adı.
OpenTelemetry uç noktasını oluşturmak için Uygula'yı seçin.
Yapılandırma seçenekleri
Bu bölümde OpenTelemetry veri akışı uç noktaları için yapılandırma seçenekleri açıklanmaktadır.
Host
Özelliğinde OpenTelemetry toplayıcı uç noktası URL'sini host belirtin. Protokolü (http:// veya https://) ve bağlantı noktası numarasını ekleyin.
Examples:
https://otel-collector.monitoring.svc.cluster.local:4317http://localhost:4317https://otel-collector:4317
Authentication
OpenTelemetry uç noktaları, toplayıcılara güvenli bir şekilde bağlanmak için çeşitli kimlik doğrulama yöntemlerini destekler.
Hizmet Hesabı Belirteci (SAT)
Hizmet hesabı belirteci (SAT) kimlik doğrulaması, OpenTelemetry toplayıcısıyla kimlik doğrulaması yapmak için Kubernetes hizmet hesabı belirteçlerini kullanır.
<OTEL_AUDIENCE> ögesini OpenTelemetry toplayıcı yapılandırmanız için izleyici değeriyle değiştirin. Bu değer toplayıcıda beklenen hedef kitleyle eşleşmelidir.
Yeni veri akışı uç noktası oluştur: Telemetriyi Aç bölmesinde, Temel yapılandırma sekmesinin altında kimlik doğrulama yöntemi olarak Kubernetes hizmet hesabı belirtecini seçin.
OpenTelemetry toplayıcı yapılandırmanız için Hizmet hedef kitlesi değerini sağlayın.
Önemli
Kimlik doğrulama yöntemini yalnızca yeni bir OpenTelemetry veri akışı uç noktası oluştururken seçebilirsiniz. OpenTelemetry veri akışı uç noktası oluşturulduktan sonra kimlik doğrulama yöntemini değiştiremezsiniz. Mevcut bir veri akışının kimlik doğrulama yöntemini değiştirmek için özgün veri akışını silin ve yeni kimlik doğrulama yöntemiyle yeni bir tane oluşturun.
X.509 certificate
X.509 sertifika kimlik doğrulaması, karşılıklı TLS kimlik doğrulaması için istemci sertifikalarını kullanır.
Yeni veri akışı uç noktası oluştur: Telemetriyi aç bölümünde, Temel yapılandırma sekmesinin altında kimlik doğrulama yöntemi olarak X509 sertifikası'nı seçin.
Azure Key Vault'tan aşağıdaki bilgileri girin:
- Senkronize edilmiş gizli adı: İstemci sertifikanızı içeren Kubernetes gizlisinin adı.
- X509 istemci sertifikası: İstemci sertifikası.
- X509 istemci anahtarı: İstemci sertifikasının özel anahtarı.
- X509 ara sertifikaları: İstemci sertifika zinciri için ara sertifikalar.
X.509 sertifika kimlik doğrulamasını kullanmadan önce, istemci sertifikanızla bir Kubernetes sırrı oluşturun.
kubectl create secret tls <X509_SECRET_NAME> \
--cert=client.crt \
--key=client.key \
-n azure-iot-operations
Anonim kimlik doğrulama
OpenTelemetry toplayıcısı kimlik doğrulaması gerektirmediğinde anonim kimlik doğrulaması kullanın.
Yeni veri akışı uç noktası oluştur: Telemetriyi Aç bölmesinde, Temel yapılandırma sekmesinin altında kimlik doğrulama yöntemi olarak Anonim'i seçin. Ek ayar gerekmez.
TLS yapılandırması
OpenTelemetry toplayıcısı ile güvenli iletişim için Aktarım Katmanı Güvenliği (TLS) ayarlarını yapılandırın.
Güvenilir CA ile TLS etkinleştirildi
- Yeni veri akışı uç noktası oluştur: Telemetriyi aç bölümünde, Gelişmiş yapılandırma sekmesinin altında TLS modu olarak Etkin'i seçin.
- Güvenilen CA sertifikası yapılandırma eşleme adı alanına, güvenilen CA sertifikanızı içeren kubernetes ConfigMap adını girin.
Devre Dışı TLS
Yeni veri akışı uç noktası oluştur: Telemetri'yi açın bölümünde, Gelişmiş yapılandırma sekmesinin altında TLS modu olarak Devre Dışı'nı seçin.
Gruplama
Birden çok iletiyi toplayıcıya göndermeden önce gruplandırarak performansı iyileştirmek için toplu işlem ayarlarını yapılandırın.
Yeni veri akışı uç noktası oluştur: Telemetriyi Aç bölmesinde, Gelişmiş yapılandırma sekmesinin altında aşağıdaki toplu işlem ayarlarını girin:
- Toplu işlem gecikme süresi (saniye cinsinden):: Toplu işlem göndermeden önce beklenmesi gereken en uzun süre. Varsayılan değer 5 saniyedir.
- İleti sayısı: Toplu işlemdeki en fazla ileti sayısı. Varsayılan değer 100.000 iletidir.
Veri akışı grafiklerinde OpenTelemetry uç noktalarını kullanma
Modern veri akışı grafiklerinde hedef olarak OTEL veri akışı uç noktalarını seçin. Bu özelliği kullanarak ölçümleri ve günlükleri doğrudan OTEL uyumlu arka uçlara yönlendirebilirsiniz. OTEL uç noktaları klasik veri akışlarında hedef olarak kullanılamaz. Bu kısıtlama, OTEL uç noktalarını desteklemeyen arka uçlarla uyumluluk sağlar.
İzlenecek yol: OTEL veri akışı uç noktasını yapılandırma
Bu bölümde, Azure IoT İşlemleri'de BIR OTEL veri akışı uç noktası oluşturmak ve yapılandırmak için adım adım izlenecek yol sağlanır.
1. Adım: Yeni bir OTEL veri akışı uç noktası oluşturma
Yeni bir veri akışı uç noktası oluşturduğunuzda, uç nokta türü olarak OpenTelemetry (OTEL) öğesini seçin. Konağın http:// ön ekiyle başladığından emin olun.
Gözlemlenebilirlik kaynaklarını dağıtma ve günlükleri ayarlama'daki adımları izleyin.
2. Adım: OTEL uç noktasını kullanarak veri akışı grafı oluşturma
Varlık kaynak olarak bir veri akışı oluşturun. OTEL'e göndermek istediğiniz ölçümün varlıktaki bir veri noktası olduğundan emin olun. Aşağıdaki örnek bir sıcaklık değeri kullanır. OTEL veri akışı grafiğini seçin:
3. Adım: OTEL uç noktasını hedef olarak yapılandırma
Kaynak düğümü seçin ve ayrıntıları girin. Bu örnekte, OTEL uç noktasına gönderilecek veri noktası olarak sıcaklık ölçümünü seçersiniz.
Hedef olarak OTEL'i seçin ve gerekli ayrıntıları girin.
Hata işleme ve sorun giderme
Bu bölümde OpenTelemetry uç noktaları için hata işleme ve sorun giderme bilgileri açıklanmaktadır.
İleti doğrulama
OpenTelemetry uç noktaları, gelen iletileri gerekli şemaya göre doğrular. Sistem geçersiz iletileri bırakır ve veri akışı işlem hattında ileti kaybını önlemek için bunları kabul eder.
Yaygın doğrulama hataları şunlardır:
- Eksik olan zorunlu alanlar (
name,type,valueölçümler için;value,levelgünlükler için) - Geçersiz ölçüm türleri veya günlük düzeyleri
- Ölçüm
valuealanlarında sayısal olmayan değerler - Yanlış biçimlendirilmiş zaman damgası değerleri
Teslimat garantileri
OpenTelemetry uç noktası, toplayıcının kendisine teslim garantileri sağlar, ancak toplayıcının verileri iletebileceği yukarı akış hizmetlerine sağlamaz. Veriler toplayıcıya ulaştıktan sonra Azure IoT İşlemleri son hedefe ulaşıp ulaşmadığını göremez.