Azure kaynak günlüğü verilerini gönderme

Azure kaynak günlükleri, bir Azure kaynağı içinde gerçekleştirilen işlemler hakkında içgörü sağlayan platform günlükleridir. Kaynak günlüklerinin içeriği Azure hizmetine ve kaynak türüne göre değişir. Kaynak günlükleri varsayılan olarak toplanmaz. Bu makalede, her Azure kaynağının kaynak günlüklerini farklı hedeflere göndermesi için gereken tanılama ayarı açıklanmaktadır.

Log Analytics çalışma alanına gönderme

Kaynak günlüklerini Log Analytics çalışma alanına göndererek Azure İzleyici Günlüklerinin özelliklerini etkinleştirebilir ve şunları yapabilirsiniz:

  • Kaynak günlüğü verilerini Azure İzleyici tarafından toplanan diğer izleme verileriyle ilişkilendirin.
  • Birden çok Azure kaynağından, abonelikten ve kiracıdan günlük girdilerini birlikte analiz için tek bir konumda birleştirin.
  • Karmaşık analiz gerçekleştirmek ve günlük verileri hakkında derin içgörüler elde etmek için günlük sorgularını kullanın.
  • Günlük araması uyarılarını karmaşık uyarı mantığıyla kullanın.

Log Analytics çalışma alanına kaynak günlükleri göndermek için bir tanılama ayarı oluşturun. Bu veriler, Azure İzleyici Günlüklerinin Yapısı bölümünde açıklandığı gibi tablolarda depolanır. Kaynak günlükleri tarafından kullanılan tablolar, kaynağın kullandığı koleksiyon türüne bağlıdır:

  • Azure tanılama: Tüm veriler AzureDiagnostics tablosuna yazılır.
  • Kaynağa özgü: Veriler, kaynağın her kategorisi için tek tek tablolara yazılır.

Kaynağa özgü

Bu modda, tanılama ayarında seçilen her kategori için seçili çalışma alanında tek tek tablolar oluşturulur. Aşağıdaki nedenden dolayı bu yöntemi öneririz:

  • Günlük sorgularındaki verilerle çalışmayı kolaylaştırır.
  • Şemaların ve yapılarının daha iyi bulunabilirliğini sağlar.
  • Alma gecikme süresi ve sorgu süreleri arasında performansı artırır.
  • Belirli bir tabloda Azure rol tabanlı erişim denetimi hakları verme olanağı sağlar.

Tüm Azure hizmetleri sonunda kaynağa özgü moda geçer.

Aşağıdaki örnek üç tablo oluşturur:

  • Tablo Service1AuditLogs

    Kaynak sağlayıcısı Kategori A B C
    Hizmet 1 Denetim Günlükleri x1 y1 Z1
    Hizmet 1 Denetim Günlükleri x5 y5 z5
    ...
  • Tablo Service1ErrorLogs

    Kaynak sağlayıcısı Kategori D E F
    Hizmet 1 ErrorLogs q1 w1 e1
    Hizmet 1 ErrorLogs q2 w2 e2
    ...
  • Tablo Service2AuditLogs

    Kaynak sağlayıcısı Kategori G H I
    Hizmet 2 Denetim Günlükleri j1 k1 l1
    Hizmet 2 Denetim Günlükleri j3 k3 l3
    ...

Azure tanılama modu

Bu modda, herhangi bir tanılama ayarındaki tüm veriler AzureDiagnostics tablosunda toplanır. Bu eski yöntem bugün çoğu Azure hizmeti tarafından kullanılmaktadır. Birden çok kaynak türü aynı tabloya veri gönderdiğinden, şeması toplanan tüm farklı veri türlerinin şemalarının üst kümesidir. Bu tablonun yapısı ve bu çok sayıda sütunla nasıl çalıştığı hakkında ayrıntılı bilgi için bkz . AzureDiagnostics başvurusu.

Aşağıdaki veri türleri için tanılama ayarlarının aynı çalışma alanında toplandığı bir örneği düşünün:

  • Hizmet 1'in denetim günlükleri A, B ve C sütunlarından oluşan bir şemaya sahiptir
  • Hizmet 1'in hata günlüklerinde D, E ve F sütunlarından oluşan bir şema var
  • Hizmet 2'nin denetim günlükleri G, H ve I sütunlarından oluşan bir şemaya sahiptir

Tablo AzureDiagnostics şu örneğe benzer:

ResourceProvider Kategori A B C D E F G H I
Microsoft.Service1 Denetim Günlükleri x1 y1 Z1
Microsoft.Service1 ErrorLogs q1 w1 e1
Microsoft.Service2 Denetim Günlükleri j1 k1 l1
Microsoft.Service1 ErrorLogs q2 w2 e2
Microsoft.Service2 Denetim Günlükleri j3 k3 l3
Microsoft.Service1 Denetim Günlükleri x5 y5 z5
...

Koleksiyon modunu seçin

Çoğu Azure kaynağı, size seçenek vermeden Azure tanılama veya kaynağa özgü modda çalışma alanına veri yazar. Daha fazla bilgi için bkz . Azure kaynak günlükleri için ortak ve hizmete özgü şemalar.

Tüm Azure hizmetleri sonunda kaynağa özgü modu kullanacaktır. Bu geçişin bir parçası olarak, bazı kaynaklar tanılama ayarında bir mod seçmenize olanak sağlar. Yeni tanılama ayarları için kaynağa özgü modu belirtin çünkü bu mod verilerin yönetilmesini kolaylaştırır. Ayrıca daha sonra karmaşık geçişleri önlemenize de yardımcı olabilir.

Screenshot that shows the Diagnostics settings mode selector.

Not

Azure Resource Manager şablonu kullanarak koleksiyon modunu ayarlayan bir örnek için bkz . Azure İzleyici'de tanılama ayarları için Resource Manager şablon örnekleri.

Var olan bir tanılama ayarını kaynağa özgü moda değiştirebilirsiniz. Bu durumda, zaten toplanan veriler çalışma alanı için bekletme ayarınıza göre kaldırılana kadar tabloda kalır AzureDiagnostics . Yeni veriler ayrılmış tabloda toplanır. Her iki tablodaki verileri sorgulamak için birleşim işlecini kullanın.

Kaynağa özgü modu destekleyen Azure hizmetleri hakkındaki duyurular için Azure Güncelleştirmeler blogunu izlemeye devam edin.

Azure Event Hubs’a gönderme

Kaynak günlüklerini Azure dışında göndermek için bir olay hub'ına gönderin. Örneğin, kaynak günlükleri üçüncü taraf SIEM'ye veya diğer log analytics çözümlerine gönderilebilir. Olay hub'larından kaynak günlükleri, her yükteki kayıtları içeren bir records öğeyle JSON biçiminde kullanılır. Şema, Azure kaynak günlükleri için ortak ve hizmete özgü şemada açıklandığı gibi kaynak türüne bağlıdır.

Aşağıdaki örnek çıktı verileri, kaynak günlüğü için Azure Event Hubs'dan alınmaktadır:

{
    "records": [
        {
            "time": "2019-07-15T18:00:22.6235064Z",
            "workflowId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/JOHNKEMTEST/PROVIDERS/MICROSOFT.LOGIC/WORKFLOWS/JOHNKEMTESTLA",
            "resourceId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/JOHNKEMTEST/PROVIDERS/MICROSOFT.LOGIC/WORKFLOWS/JOHNKEMTESTLA/RUNS/08587330013509921957/ACTIONS/SEND_EMAIL",
            "category": "WorkflowRuntime",
            "level": "Error",
            "operationName": "Microsoft.Logic/workflows/workflowActionCompleted",
            "properties": {
                "$schema": "2016-04-01-preview",
                "startTime": "2016-07-15T17:58:55.048482Z",
                "endTime": "2016-07-15T18:00:22.4109204Z",
                "status": "Failed",
                "code": "BadGateway",
                "resource": {
                    "subscriptionId": "00000000-0000-0000-0000-000000000000",
                    "resourceGroupName": "JohnKemTest",
                    "workflowId": "243aac67fe904cf195d4a28297803785",
                    "workflowName": "JohnKemTestLA",
                    "runId": "08587330013509921957",
                    "location": "westus",
                    "actionName": "Send_email"
                },
                "correlation": {
                    "actionTrackingId": "29a9862f-969b-4c70-90c4-dfbdc814e413",
                    "clientTrackingId": "08587330013509921958"
                }
            }
        },
        {
            "time": "2019-07-15T18:01:15.7532989Z",
            "workflowId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/JOHNKEMTEST/PROVIDERS/MICROSOFT.LOGIC/WORKFLOWS/JOHNKEMTESTLA",
            "resourceId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/JOHNKEMTEST/PROVIDERS/MICROSOFT.LOGIC/WORKFLOWS/JOHNKEMTESTLA/RUNS/08587330012106702630/ACTIONS/SEND_EMAIL",
            "category": "WorkflowRuntime",
            "level": "Information",
            "operationName": "Microsoft.Logic/workflows/workflowActionStarted",
            "properties": {
                "$schema": "2016-04-01-preview",
                "startTime": "2016-07-15T18:01:15.5828115Z",
                "status": "Running",
                "resource": {
                    "subscriptionId": "00000000-0000-0000-0000-000000000000",
                    "resourceGroupName": "JohnKemTest",
                    "workflowId": "243aac67fe904cf195d4a28297803785",
                    "workflowName": "JohnKemTestLA",
                    "runId": "08587330012106702630",
                    "location": "westus",
                    "actionName": "Send_email"
                },
                "correlation": {
                    "actionTrackingId": "042fb72c-7bd4-439e-89eb-3cf4409d429e",
                    "clientTrackingId": "08587330012106702632"
                }
            }
        }
    ]
}

Azure Depolama’ya gönderme

Kaynak günlüklerini arşivleme amacıyla tutmak üzere Azure Depolama'a gönderin. Tanılama ayarını oluşturduktan sonra, etkin günlük kategorilerinden birinde bir olay meydana gelir gelmez depolama hesabında bir depolama kapsayıcısı oluşturulur.

Not

Arşivleme için alternatif bir strateji, kaynak günlüğünü arşiv ilkesiyle bir Log Analytics çalışma alanına göndermektir.

Kapsayıcı içindeki bloblar aşağıdaki adlandırma kuralını kullanır:

insights-logs-{log category name}/resourceId=/SUBSCRIPTIONS/{subscription ID}/RESOURCEGROUPS/{resource group name}/PROVIDERS/{resource provider name}/{resource type}/{resource name}/y={four-digit numeric year}/m={two-digit numeric month}/d={two-digit numeric day}/h={two-digit 24-hour clock hour}/m=00/PT1H.json

Ağ güvenlik grubunun blobu şu örneğe benzer bir ada sahip olabilir:

insights-logs-networksecuritygrouprulecounter/resourceId=/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/TESTRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUP/TESTNSG/y=2016/m=08/d=22/h=18/m=00/PT1H.json

Her PT1H.json blobu, blob URL'sinde belirtilen saat içinde alınan günlük dosyalarından olaylar içeren bir JSON nesnesi içerir. Şu anda olaylar, ne zaman oluşturulduklarından bağımsız olarak alındıklarında PT1H.json dosyasına eklenir. URL'deki dakika değeri her m=00 zaman 00 blobların saatte bir oluşturulduğu şekildedir.

PT1H.json dosyasında her olay aşağıdaki biçimde depolanır. Ortak bir üst düzey şema kullanır ancak Kaynak günlükleri şemasında açıklandığı gibi her Azure hizmeti için benzersizdir.

Not

Günlükler, günlük oluşturulduğundan bağımsız olarak günlük alındığı zamana göre bloblara yazılır. Bu, belirli bir blob'un blob URL'sinde belirtilen saatin dışında olan günlük verilerini içerebileceği anlamına gelir. Application Insights gibi bir veri kaynağının eski telemetri verilerini karşıya yüklemeyi desteklediği durumlarda blob, önceki 48 saatlik verileri içerebilir.
Yeni bir saatin başlangıcında, yeni günlükler yeni saatin blob'una yazılırken mevcut günlükler bir önceki saatin blob'una yazılmaya devam ediyor olabilir.

{"time": "2016-07-01T00:00:37.2040000Z","systemId": "46cdbb41-cb9c-4f3d-a5b4-1d458d827ff1","category": "NetworkSecurityGroupRuleCounter","resourceId": "/SUBSCRIPTIONS/s1id1234-5679-0123-4567-890123456789/RESOURCEGROUPS/TESTRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/TESTNSG","operationName": "NetworkSecurityGroupCounters","properties": {"vnetResourceGuid": "{12345678-9012-3456-7890-123456789012}","subnetPrefix": "10.3.0.0/24","macAddress": "000123456789","ruleName": "/subscriptions/ s1id1234-5679-0123-4567-890123456789/resourceGroups/testresourcegroup/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/default-allow-rdp","direction": "In","type": "allow","matchedConnections": 1988}}

Azure İzleyici iş ortağı tümleştirmeleri

Kaynak günlükleri, Azure ile tamamen tümleştirilmiş iş ortağı çözümlerine de gönderilebilir. Bu çözümlerin listesi ve bunların nasıl yapılandırıldığından ayrıntılı bilgi için bkz . Azure İzleyici iş ortağı tümleştirmeleri.

Sonraki adımlar