Azure İzleyici'da Günlük Kayıt Alma API'si

Azure İzleyici'deki Günlük Alımı API'si, verileri REST API çağrısı veya istemci kitaplıkları kullanarak Log Analytics çalışma alanına göndermenizi sağlar. API, desteklenen Azure tablolarına veya oluşturduğunuz özel tablolaraveri göndermenizi sağlar. Ek verileri kabul etmek için Azure tablolarının şemasını özel sütunlarla da genişletebilirsiniz.

Önemli

1 Mart 2026'dan itibaren, Logs Ingestion API'de TLS 1.2 veya üzeri bağlantılar zorunlu hale getirilecektir. Daha fazla bilgi için bkz Aktarım Sırasında Log Verilerinin Güvenliğini Sağlama.

Temel işlem

REST API çağrısı yapabilen herhangi bir uygulamadan veriler, Günlük Alma API'sine gönderilebilir. Bu, oluşturduğunuz özel bir uygulama veya API'ye veri göndermeyi anlayan bir uygulama veya aracı olabilir. Hedef tablo ve çalışma alanını ve belirtilen DCR'ye erişimi olan bir uygulama kaydının kimlik bilgilerini içeren bir veri toplama kuralı (DCR) belirtir. Verileri DCR tarafından belirtilen bir uç noktaya veya özel bağlantı kullanıyorsanız veri toplama uç noktasına (DCE) gönderir.

Uygulamanız tarafından API'ye gönderilen veriler JSON biçiminde biçimlendirilmeli ve DCR tarafından beklenen yapıyla eşleşmelidir. DCR, verileri tablonun yapısıyla eşleşecek şekilde dönüştürmek için bir dönüştürme içerebileceğinden hedef tablonun yapısıyla eşleşmesi gerekmez. API çağrısında veya kaynak verilerde değişiklik yapmadan DCR'yi değiştirerek hedef tabloyu ve çalışma alanını değiştirebilirsiniz.

Günlük alımı API'sinin genel görünümünü gösteren diyagram.

Yapılandırma

Aşağıdaki tabloda, Azure'da Günlük Alımı API'sini kullanabilmek için yapılandırmanız gereken her bileşen açıklanmaktadır.

Not

Bu bileşenlerin yapılandırmasını otomatik hale getiren bir PowerShell betiği için Günlük Aracılığı API'sini kullanarak Azure Monitör'e veri göndermek için örnek koda bakın.

Bileşen İşlev
Uygulama kaydı ve gizli dizi Uygulama kaydı, API çağrısının kimliğini doğrulamak için kullanılır. Aşağıda açıklanan DCR'e izin verilmelidir. API çağrısı, uygulamanın Uygulama (istemci) kimliği ve Dizin (kiracı) kimliği ile bir uygulama gizli dizisinin değerini içerir.

Bkz Kaynaklara erişebilen bir Microsoft Entra uygulaması ve hizmet sorumlusu oluşturma ve yeni bir uygulama gizli anahtarı oluşturma.
Log Analytics çalışma alanında tablo Log Analytics çalışma alanında veri gönderebilmeniz için önce tablo mevcut olmalıdır. Desteklenen Azure tablolarından birini kullanabilir veya kullanılabilir yöntemlerden herhangi birini kullanarak özel bir tablo oluşturabilirsiniz. Tabloyu oluşturmak için Azure portalını kullanırsanız, DCR sizin için oluşturulur ve gerekirse bir dönüştürme de dahil olur. Diğer herhangi bir yöntemle, DCR'yi bir sonraki bölümde açıklandığı gibi el ile oluşturmanız gerekir.

Bkz. Özel tablo oluşturma.
Veri toplama kuralı (DCR) Azure İzleyici, gelen verilerin yapısını ve bununla ne yapacağını anlamak için Veri toplama kuralını (DCR) kullanır. Tablonun yapısı ve gelen veriler eşleşmiyorsa, DCR kaynak verileri hedef tabloyla eşleşecek şekilde dönüştürmek için bir dönüştürme içerebilir. Dönüştürmeyi kaynak verileri filtrelemek ve diğer hesaplamaları veya dönüştürmeleri gerçekleştirmek için de kullanabilirsiniz.

Azure portalını kullanarak özel bir tablo oluşturursanız, sağladığınız örnek verilere göre DCR ve dönüştürme sizin için oluşturulur. Mevcut bir tabloyu kullanıyorsanız veya başka bir yöntem kullanarak özel bir tablo oluşturuyorsanız, aşağıdaki bölümdeki ayrıntıları kullanarak DCR'yi el ile oluşturmanız gerekir.

DCR'niz oluşturulduktan sonra, ilk adımda oluşturduğunuz uygulama için erişim izni vermelisiniz. Azure portalındaki İzleyici menüsünden Veri Toplama kuralları'nı ve ardından oluşturduğunuz DCR'yi seçin. DCR için Erişim Denetimi (IAM) öğesini seçin ve ardından Rol ataması ekle'yi seçerek İzleme Ölçümleri Yayımcısı rolünü ekleyin.

Uç nokta

Günlük Alımı API'si için REST API uç noktası bir veri toplama uç noktası (DCE) veya DCR günlükleri alım uç noktası olabilir.

Doğrudan alma için bir DCR oluşturduğunuzda DCR günlükleri alma uç noktası oluşturulur. Bu uç noktayı almak için Azure portalındaki JSON görünümünde DCR'yi açın. Görüntülenecek uç noktalar için API sürümünü en son sürüme değiştirmeniz gerekebilir.

DCR'de günlük alımı uç noktasını gösteren ekran görüntüsü.

DCE, yalnızca özel bağlantı kullanarak Log Analytics çalışma alanına bağlandığınızda veya DCR'niz günlük alımı uç noktasını içermiyorsa gereklidir. Daha eski bir DCR kullanıyorsanız veya DCR'yi parametresi olmadan "kind": "Direct" oluşturduysanız bu durum söz konusu olabilir. Daha fazla ayrıntı için aşağıdaki Veri toplama kuralına (DCR) bakın.

Not

Tesis logsIngestion 31 Mart 2024 tarihinde eklenmiştir. Bu tarihten önce, günlük giriş API'si için bir DCE gerekliydi. Uç noktalar mevcut bir DCR'ye eklenemez, ancak mevcut DCE'lerle mevcut DCR'leri kullanmaya devam edebilirsiniz. DCR uç noktasına gitmek istiyorsanız, mevcut uç noktayı değiştirmek için yeni bir DCR oluşturmanız gerekir. Uç noktaları olan bir DCR, DCE de kullanabilir. Bu durumda, DCR kullanan istemcilerin her biri için DCE veya DCR uç noktalarının kullanılıp kullanılmayacağını seçebilirsiniz.

Veri toplama kuralı (DCR)

Azure portalını kullanarak Log Analytics çalışma alanında özel bir tablo oluşturduğunuzda, Günlük İletim API'si ile kullanılabilecek bir DCR sizin için oluşturulur. Zaten var olan bir tabloya veri gönderiyorsanız, DCR'yi el ile oluşturmanız gerekir. Şablonda aşağıdaki parametrelerin değerlerini değiştirerek aşağıdaki örnek DCR ile başlayın. DCR'yi oluşturmak için Azure İzleyici'de veri toplama kuralları (DCR) oluşturma ve düzenleme başlığı altında açıklanan yöntemlerden herhangi birini kullanın.

Parametre Açıklama
region DCR'nizi oluşturmak için bölge. Kullanıyorsanız bu, Log Analytics çalışma alanının ve DCE'nin bölgesiyle eşleşmelidir.
dataCollectionEndpointId DCE'nizin kaynak kimliği. DCR alma noktasını kullanıyorsanız bu parametreyi kaldırın.
streamDeclarations Sütun listesini, gelen verilerinizdeki sütunlar olarak değiştirin. Bunun yalnızca içindeki streamsadla eşleşmesi gerektiğinden akışın dataFlows adını değiştirmeniz gerekmez.
workspaceResourceId Log Analytics çalışma alanınızın kaynak kimliği. Yalnızca içindeki adla eşleşmesi gerektiğinden destinations adı dataFlowsdeğiştirmeniz gerekmez.
transformKql Gelen verilere uygulanacak KQL sorgusu. Gelen verilerin şeması tablonun şemasıyla eşleşiyorsa, gelen verileri değişmeden geçirecek dönüştürme için kullanabilirsiniz source . Aksi takdirde, verileri hedef tablo şemasıyla eşleşecek şekilde dönüştürecek bir sorgu kullanın.
outputStream Verileri gönderilecek tablonun adı. Özel tablo için Custom-table-name<> ön ekini ekleyin. Yerleşik tablo için Microsoft-table-name<> ön ekini ekleyin.
{
    "location": "eastus",
    "dataCollectionEndpointId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.Insights/dataCollectionEndpoints/dce-eastus",
    "kind": "Direct",
    "properties": {
        "streamDeclarations": {
            "Custom-MyTable": {
                "columns": [
                    {
                        "name": "Time",
                        "type": "datetime"
                    },
                    {
                        "name": "Computer",
                        "type": "string"
                    },
                    {
                        "name": "AdditionalContext",
                        "type": "string"
                    }
                ]
            }
        },
        "destinations": {
            "logAnalytics": [
                {
                    "workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/cefingestion/providers/microsoft.operationalinsights/workspaces/my-workspace",
                    "name": "LogAnalyticsDest"
                }
            ]
        },
        "dataFlows": [
            {
                "streams": [
                    "Custom-MyTable"
                ],
                "destinations": [
                    "LogAnalyticsDest"
                ],
                "transformKql": "source",
                "outputStream": "Custom-MyTable_CL"
            }
        ]
    }
}

İstemci kitaplıkları

REST API çağrısı yapmaya ek olarak, günlük alma API'sine veri göndermek için aşağıdaki istemci kitaplıklarını kullanabilirsiniz. Kitaplıklar, Yapılandırma'da açıklanan bileşenlerin aynısını gerektirir. Bu kitaplıkların her birini kullanan örnekler için Günlük alımı API'sini kullanarak Azure İzleyici'ye veri göndermek için örnek kod bölümüne bakın.

REST API çağrısı

REST API çağrısıyla Azure İzleyici'ye veri göndermek için HTTPS üzerinden POST araması yapın. Bu çağrı için gereken ayrıntılar bu bölümde açıklanmıştır.

URI (Evrensel Kaynak Tanımlayıcısı)

URI bölge, DCE veya DCR alma uç noktası, DCR kimliği ve akış adını içerir. Ayrıca API sürümünü belirtir.

URI aşağıdaki biçimi kullanır.

{Endpoint}/dataCollectionRules/{DCR Immutable ID}/streams/{Stream Name}?api-version=2023-01-01

Örneğin:

https://my-dce-5kyl.eastus-1.ingest.monitor.azure.com/dataCollectionRules/dcr-000a00a000a00000a000000aa000a0aa/streams/Custom-MyTable?api-version=2023-01-01

DCR Immutable ID, oluşturulduğunda DCR için oluşturulur. Azure portalında DCR'nin Genel Bakış sayfasından alabilirsiniz.

Sabit kimliği gösteren veri toplama kuralının ekran görüntüsü.

Stream Name DCR'de özel verileri işlemesi gereken akışı ifade eder.

İstek başlıkları

Aşağıdaki tabloda API çağrınız için istek üst bilgileri açıklanmaktadır.

Başlık Gerekli mi? Açıklama
Yetkilendirme Evet İstemci kimlik bilgileri akışı aracılığıyla alınan yetkilendirme belirteci. Bulutunuz için belirteç hedef kitlesi değerini (kapsam) kullanın:

Azure genel bulutu - https://monitor.azure.com
21Vianet bulutu tarafından sağlanan Microsoft Azure - https://monitor.azure.cn
Azure ABD Hükümeti Bulutu - https://monitor.azure.us
İçerik Türü Evet application/json
İçerik Kodlama Hayır gzip
x-ms-client-request-id Hayır Dize biçimlendirilmiş GUID. Bu, Microsoft tarafından herhangi bir sorun giderme amacıyla kullanılabilecek bir istek kimliğidir.

İstek içeriği

Çağrının gövdesi, Azure İzleyici'ye gönderilecek özel verileri içerir. Verilerin şekli, DCR'deki akış tarafından beklenen biçimle eşleşen öğe yapısına sahip bir JSON dizisi olmalıdır. Burada tek öğeli bir dizi örneği verilmiştir.

Örneğin:

[
{
    "TimeGenerated": "2023-11-14 15:10:02",
    "Column01": "Value01",
    "Column02": "Value02"
}
]

Veri iletimiyle ilgili sorunları önlemek için istek gövdesinin UTF-8'de düzgün bir şekilde kodlandığından emin olun.

Uyarı

Azure İzleyici'un Yardımcı katmanına kayıtları alırken, 30 dakikadan uzun süreye yayılan TimeGenerated zaman damgaları içeren tek bir veri yükünü tek bir API çağrısında göndermekten kaçının. Bu API çağrısı aşağıdaki alma hata koduna RecordsTimeRangeIsMoreThan30Minutesyol açabilir. Bu, kaldırılmakta olan bilinen bir sınırlamadır.

Bu kısıtlama, dönüştürmeleri kullanan Yardımcı günlükler için geçerli değildir.

Örnek

PowerShell kullanarak API çağrısını görmek için Günlük Alma API'sini kullanarak Azure İzleyici'ye veri göndermek için örnek kod başlıklı bölüme bakın.

Desteklenen tablolar

Alma API'sine gönderilen veriler aşağıdaki tablolara gönderilebilir:

Tablolar Açıklama
Özel tablolar Log Analytics çalışma alanınızda oluşturduğunuz herhangi bir özel tablo. Hedef tabloya veri gönderebilmeniz için önce var olması gerekir. Özel tablolarda sonek olmalıdır _CL .
Azure tabloları Aşağıdaki Azure tabloları şu anda desteklenmektedir. Destek uygulandığında bu listeye başka tablolar eklenebilir.

Not

Sütun adları bir harfle başlamalıdır ve en fazla 45 alfasayısal karakterden ve alt çizgiden (_ oluşabilir). _ResourceId, id, _SubscriptionId, TenantId, Type, , UniqueIdve Title ayrılmış sütun adlarıdır. Azure tablosuna eklediğiniz özel sütunlarda sonek _CFolmalıdır.

Sınırlar ve kısıtlamalar

Günlük Alımı API'sine ilişkin sınırlar için bkz . Azure İzleyici hizmet sınırları.

Sonraki adımlar