Aracılığıyla paylaş


Azure İzleyici'de veri toplama kuralı (DCR) örnekleri

Bu makale, Azure İzleyici'deki yaygın veri toplama senaryolarına yönelik örnek veri toplama kuralları (DCR) tanımlarını içerir. Bu DCR tanımlarını ortamınız için gerektiği gibi değiştirebilir ve veri toplama kuralı oluşturma veya düzenleme başlığı altında yer alan yönergeleri kullanarak DCR'yi oluşturabilirsiniz. Ayrıca bu örneklerdeki temel stratejileri kullanarak diğer senaryolar için DCR'ler oluşturabilirsiniz.

Bu örnekler, Azure İzleyici'de veri toplama kuralının yapısı bölümünde açıklandığı gibi DCR yapısı hakkında bilgi gerektirir. DCR yapısı hakkında ayrıntılı bilgi olmadan Azure portalı kullanılarak birkaçı yapılandırılabilir. AZURE portalının dışında ARM, CLI ve PowerShell gibi yöntemleri kullanarak DCR'leri yönetmek istiyorsanız bu örnekleri başlangıç noktası olarak kullanın. Dönüştürmeler gibi gelişmiş özellikleri uygulamak üzere mevcut DCR'leri düzenlemek için bu yöntemleri kullanmanız gerekebilir.

Bu örneklerin her biri belirli bir veri kaynağına odaklanır, ancak tek bir DCR'de farklı türlerdeki birden çok veri kaynağını birleştirebilirsiniz. Verileri uygun hedefe göndermek için her birine bir veri akışı ekleyin. Tek bir DCR'de birden çok veri kaynağını birleştirme veya her veri kaynağı için ayrı DCR'ler oluşturma arasında işlevsel bir fark yoktur. Seçim, veri toplamayı yönetme ve izleme gereksinimlerinize bağlıdır.

Uyarı

Bu makalede gösterilen örnekler, DCR'yi oluşturmak için gereken kaynak JSON'u sağlar. Oluşturma işleminden sonra DCR, Azure İzleyici'de veri toplama kuralının yapısı bölümünde açıklandığı gibi ek özelliklere sahip olur.

VM istemci verilerini toplama

Aşağıdaki örneklerde Azure İzleyici aracısını kullanarak sanal makinelerden farklı türlerde veri toplamaya yönelik DCR tanımları gösterilmektedir. Azure İzleyici ile VM istemcisinden veri toplama bölümünde açıklandığı gibi Azure portalını kullanarak bu DCR'leri oluşturabilirsiniz.

Windows olayları

Windows olayları için DCR'ler windowsEventLogs veri kaynağını Microsoft-Event gelen akışla kullanır. Bu akışın şeması bilindiği için dataSources bölümünde tanımlanması gerekmez. Toplanacak olaylar xPathQueries özelliğinde belirtilmiştir. Toplamak istediğiniz belirli verileri filtrelemek için XPath'leri kullanma hakkında daha fazla bilgi için bkz . Azure İzleyici Aracısı ile Windows olaylarını toplama. Başlamak için bu makaledeki kılavuzu kullanarak Azure portalını kullanarak bir DCR oluşturabilir ve ardından DCR tanımındaki yönergeleri kullanarak JSON'u inceleyebilirsiniz.

Hesaplanmış sütunlar için dataFlows özelliğine bir dönüştürme ekleyebilir ve verileri daha fazla filtrelemek için XPaths kullanabilirsiniz. Ancak, verileri olabildiğince verimli ve olası alım ücretlerinden kaçınmak için aracıda XPaths ile filtrelemelisiniz.

Aşağıdaki örnek DCR aşağıdaki eylemleri gerçekleştirir:

  • Uyarı, Hata veya Kritik düzeyindeki Windows sistem ve uygulama olaylarını toplar.
  • Çalışma alanındaki Event tablosuna veri gönderir.
  • Gelen verilerde değişiklik yapmayan basit bir source dönüştürme kullanır.
{
    "location": "eastus",
    "properties": {
      "dataSources": {
        "windowsEventLogs": [
          {
            "name": "eventLogsDataSource",
            "streams": [
              "Microsoft-Event"
            ],
            "xPathQueries": [
              "System!*[System[(Level = 1 or Level = 2 or Level = 3)]]",
              "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]"
            ]
          }
        ]
    },
      "destinations": {
        "logAnalytics": [
          {
            "workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
            "name": "centralWorkspace"
          }
        ]
      },
      "dataFlows": [
        {
          "streams": [
            "Microsoft-Event"
          ],
          "destinations": [
            "centralWorkspace"
          ],
            "transformKql": "source",
            "outputStream": "Microsoft-Event"
        }
      ]
    }
  }

Syslog olayları

Syslog olayları için DCR'ler syslog veri kaynağını gelen Microsoft-Syslog akışla kullanır. Bu akışın şeması bilinir, bu nedenle dataSources bölümünde tanımlanması gerekmez. Toplanacak olaylar, facilityNames ve logLevels özelliklerinde belirtilmiştir. Diğer ayrıntılar için bkz . Azure İzleyici Aracısı ile Syslog olaylarını toplama. Başlamak için bu makaledeki kılavuzu kullanarak Azure portalını kullanarak bir DCR oluşturabilir ve ardından DCR tanımındaki yönergeleri kullanarak JSON'u inceleyebilirsiniz.

Ek işlevsellik ve verileri daha fazla filtrelemek için dataFlows özelliğine bir dönüşüm ekleyebilirsiniz, ancak olası alım ücretlerinden kaçınmak ve verimlilik sağlamak için mümkün olduğunca facilityNames ve logLevels kullanarak filtreleme yapmalısınız.

Aşağıdaki örnek DCR aşağıdaki eylemleri gerçekleştirir:

  • Tesisteki cron tüm olayları toplar.
  • syslog ve daemon tesislerinden Warning ve daha yüksek olayları toplar.
  • Çalışma alanında Syslog tablosuna veri gönderir.
  • Gelen verilerde değişiklik yapmayan basit bir source dönüştürme kullanır.
{
    "location": "eastus",
    "properties": {
      "dataSources": {
        "syslog": [
          {
            "name": "cronSyslog",
            "streams": [
              "Microsoft-Syslog"
            ],
            "facilityNames": [
              "cron"
            ],
            "logLevels": [
              "Debug",
              "Info",
              "Notice",
              "Warning",
              "Error",
              "Critical",
              "Alert",
              "Emergency"
            ]
          },
          {
            "name": "syslogBase",
            "streams": [
              "Microsoft-Syslog"
            ],
            "facilityNames": [
              "daemon",
              "syslog"
            ],
            "logLevels": [
              "Warning",
              "Error",
              "Critical",
              "Alert",
              "Emergency"
            ]
          }
        ]
      },
      "destinations": {
        "logAnalytics": [
          {
            "workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
            "name": "centralWorkspace"
          }
        ]
      },
      "dataFlows": [
        {
          "streams": [
            "Microsoft-Syslog"
          ],
          "destinations": [
            "centralWorkspace"
          ],
            "transformKql": "source",
            "outputStream": "Microsoft-Syslog"
        }
      ]
    }
  }

Performans sayaçları

Performans verileri için DCR'ler performanceCounters veri kaynağını gelen Microsoft-InsightsMetrics ve Microsoft-Perf akışlarla birlikte kullanır. Microsoft-InsightsMetrics Azure İzleyici Ölçümlerine veri göndermek için kullanılırken Microsoft-Perf , Log Analytics çalışma alanına veri göndermek için kullanılır. Performans verilerini her iki hedefe de gönderiyorsanız DCR'ye her iki veri kaynağını da ekleyebilirsiniz. Bu akışların şemaları bilindiğinden, dataSources bölümünde tanımlanmaları gerekmez.

Toplanacak performans sayaçları, counterSpecifiers özelliğinde belirtilir. Diğer ayrıntılar için bkz . Azure İzleyici Aracısı ile performans sayaçlarını toplama. Başlamak için bu makaledeki kılavuzu kullanarak Azure portalını kullanarak bir DCR oluşturabilir ve ardından DCR tanımındaki yönergeleri kullanarak JSON'u inceleyebilirsiniz.

Ek işlevsellik sağlamak ve verileri daha fazla filtrelemek amacıyla dataFlows özelliğine Microsoft-Perf bir dönüştürme ekleyebilirsiniz, ancak potansiyel veri işleme ücretlerinden kaçınmak için verimlilik için gereken counterSpecifiers sayaçlarını seçmelisiniz.

Aşağıdaki örnek DCR aşağıdaki eylemleri gerçekleştirir:

  • Her 60 saniyede bir performans sayaçları kümesini ve 30 saniyede bir başka bir kümeyi toplar.
  • Azure İzleyici Ölçümleri'ne ve Log Analytics çalışma alanına veri gönderir.
  • Gelen verilerde değişiklik yapmayan basit bir source dönüştürme kullanır.
{
    "location": "eastus",
    "properties": {
      "dataSources": {
        "performanceCounters": [
          {
            "name": "perfCounterDataSource60",
            "streams": [
              "Microsoft-Perf",
              "Microsoft-InsightsMetrics"
            ],
            "samplingFrequencyInSeconds": 60,
            "counterSpecifiers": [
              "\\Processor(_Total)\\% Processor Time",
              "\\Memory\\Committed Bytes",
              "\\LogicalDisk(_Total)\\Free Megabytes",
              "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length"
            ]
          },
          {
            "name": "perfCounterDataSource30",
            "streams": [
              "Microsoft-Perf"
            ],
            "samplingFrequencyInSeconds": 30,
            "counterSpecifiers": [
              "\\Process(_Total)\\Thread Count"
            ]
          }
        ]
      },
      "destinations": {
        "logAnalytics": [
          {
            "workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
            "name": "centralWorkspace"
          }
        ],
        "azureMonitorMetrics": 
        {
            "name": "azureMonitorMetrics-default"
        }
      },
      "dataFlows": [
        {
            "streams": [
                "Microsoft-Perf"
            ],
            "destinations": [
                "centralWorkspace"
            ],
            "transformKql": "source",
            "outputStream": "Microsoft-Perf"
        },
        {
            "streams": [
                "Microsoft-Perf"
            ],
            "destinations": [
                "azureMonitorMetrics-default"
            ],
            "outputStream": "Microsoft-InsightsMetrics"
        }
      ]
    }
}

Metin günlükleri

Metin günlükleri için DCR'ler, aracı tarafından toplanması gereken günlük dosyalarının ayrıntılarını içeren bir logfiles veri kaynağına sahiptir. Bu, içinde gelen verilerin sütunlarıyla tanımlanması streamDeclarations gereken bir akışın adını içerir. Bu liste şu anda Azure İzleyici Aracısı ile bir metin dosyasından günlükleri toplama bölümünde açıklandığı gibi ayarlanmış bir listedir.

Toplamak istemediğiniz kayıtları filtrelemek dataFlows ve verileri hedef tablonun şemasıyla eşleşecek şekilde biçimlendirmek için özelliğine bir dönüştürme ekleyin. Sık karşılaşılan bir senaryo, sınırlandırılmış günlük dosyalarını Sınırlandırılmış günlük dosyalarında açıklandığı gibi birden çok sütuna ayrıştırmaktır.

Aşağıdaki örnek DCR aşağıdaki eylemleri gerçekleştirir:

  • Aracı bilgisayarın c:\logs klasöründeki uzantısı .txt olan tüm dosyalardan girdileri toplar.
  • Gelen verileri virgül (,) sınırlayıcı temelinde sütunlara bölmek için dönüştürme kullanır. Bu dönüştürme, günlük dosyasının biçimine özgüdür ve diğer biçimlere sahip günlük dosyaları için ayarlanmalıdır.
  • Toplanan günlükleri adlı MyTable_CLözel bir tabloya gönderir. Bu tablonun zaten mevcut olması ve dönüşüm tarafından üretilen sütunlara sahip olması gerekir.
  • Gelen Akış bölümünde açıklandığı gibi, metin günlüğü için FilePath ve Computer ile değerlerini toplar. Bu sütunlar hedef tabloda da bulunmalıdır.
{
    "location": "eastus",
    "properties": {
        "dataCollectionEndpointId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.Insights/dataCollectionEndpoints/my-dce",
        "streamDeclarations": {
            "Custom-MyLogFileFormat": {
                "columns": [
                    {
                        "name": "TimeGenerated",
                        "type": "datetime"
                    },
                    {
                        "name": "RawData",
                        "type": "string"
                    },
                    {
                        "name": "FilePath",
                        "type": "string"
                    },
                    {
                        "name": "Computer",
                        "type": "string"
                    }
                ]
            }
        },
        "dataSources": {
            "logFiles": [
                {
                    "streams": [
                        "Custom-MyLogFileFormat"
                    ],
                    "filePatterns": [
                        "C:\\logs\\*.txt"
                    ],
                    "format": "text",
                    "settings": {
                        "text": {
                            "recordStartTimestampFormat": "ISO 8601"
                        }
                    },
                    "name": "myLogFileFormat-Windows"
                }
            ]
        },
        "destinations": {
            "logAnalytics": [
                {
                    "workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
                    "name": "MyDestination"
                }
            ]
        },
        "dataFlows": [
            {
                "streams": [
                    "Custom-MyLogFileFormat"
                ],
                "destinations": [
                    "MyDestination"
                ],
                "transformKql": "source | project d = split(RawData,\",\") | project TimeGenerated=todatetime(d[0]), Code=toint(d[1]), Severity=tostring(d[2]), Module=tostring(d[3]), Message=tostring(d[4])",
                "outputStream": "Custom-MyTable_CL"
            }
        ]
    }
}

Json günlükleri

Json günlükleri için DCR'ler, aracı tarafından toplanması gereken günlük dosyalarının ayrıntılarını içeren bir logfiles veri kaynağına sahiptir. Bu, içinde gelen verilerin sütunlarıyla tanımlanması streamDeclarations gereken bir akışın adını içerir. Diğer ayrıntılar için bkz . Azure İzleyici Aracısı ile JSON dosyasından günlükleri toplama.

Toplamak istemediğiniz kayıtları filtrelemek dataFlows ve verileri hedef tablonun şemasıyla eşleşecek şekilde biçimlendirmek için özelliğine bir dönüştürme ekleyin.

Aşağıdaki örnek DCR aşağıdaki eylemleri gerçekleştirir:

  • Aracı bilgisayarın c:\logs klasöründeki uzantısı .json olan tüm dosyalardan girdileri toplar. Dosyanın json biçiminde biçimlendirilmesi ve sütunların akış bildiriminde listelenmiş olması gerekir.
  • Toplanan günlükleri adlı MyTable_CLözel bir tabloya gönderir. Bu tablonun zaten mevcut olması ve gelen akışla aynı sütunlara sahip olması gerekir. Sütunlar eşleşmiyorsa, hedef tablo için verileri biçimlendirmek amacıyla, özellik içindeki transformKql dönüştürmeyi değiştirmeniz gerekecektir.
{
    "location": "eastus",
    "properties": {
        "dataCollectionEndpointId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.Insights/dataCollectionEndpoints/my-dce",
        "streamDeclarations": {
            "Custom-Json-stream": {
                "columns": [
                    {
                        "name": "TimeGenerated",
                        "type": "datetime"
                    },
                    {
                        "name": "FilePath",
                        "type": "string"
                    },
                    {
                        "name": "Code",
                        "type": "int"
                    },
                    {
                        "name": "Module",
                        "type": "string"
                    },
                    {
                        "name": "Message",
                        "type": "string"
                    }
                ]
            }
        },
        "dataSources": {
            "logFiles": [
                {
                    "streams": [
                        "Custom-Json-stream"
                    ],
                    "filePatterns": [
                        "C:\\logs\\*.json"
                    ],
                    "format": "json",
                    "name": "MyJsonFile"
                }
            ]
        },
        "destinations": {
            "logAnalytics": [
                {
                    "workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
                    "name": "MyDestination"
                }
            ]
        },
        "dataFlows": [
            {
                "streams": [
                    "Custom-Json-stream"
                ],
                "destinations": [
                    "MyDestination"
                ],
                "transformKql": "source",
                "outputStream": "Custom-MyTable_CL"
            }
        ]
    }
}

Event Hubs veya Depolama'ya veri gönderin

Olay hub'larına veya depolama hesaplarına veri gönderen DCR'ler, Azure İzleyici aracısı (AMA) ile veri toplayan diğer DCR'lerle aynı veri kaynaklarını kullanır, ancak aşağıdaki hedeflerden birine veya daha fazlasına sahiptir. Daha fazla ayrıntı için Event Hubs ve Depolama'ya veri gönderme (Önizleme) bölümüne bakın.

  • eventHubsDirect
  • storageBlobsDirect
  • storageTablesDirect

Uyarı

Olay hub'larına veya depolama hesaplarına veri gönderen DCR'lerin sahip olması gerekir "kind": "AgentDirectToStore"

Aşağıdaki örnek DCR aşağıdaki eylemleri gerçekleştirir:

  • Azure İzleyici aracısı (AMA) ile Windows makinelerinden performans sayaçlarını ve Windows olaylarını toplar.
  • Verileri etkinlik hub'ına, blob depolama birimine ve tablo depolamaya gönderir.
{
    "location": "eastus",
    "kind": "AgentDirectToStore",
    "properties": {
        "dataSources": {
            "performanceCounters": [
                {
                "streams": [
                    "Microsoft-Perf"
                ],
                "samplingFrequencyInSeconds": 10,
                "counterSpecifiers": [
                    "\\Process(_Total)\\Working Set - Private",
                    "\\Memory\\% Committed Bytes In Use",
                    "\\LogicalDisk(_Total)\\% Free Space",
                    "\\Network Interface(*)\\Bytes Total/sec"
                ],
                "name": "perfCounterDataSource"
                }
            ],
            "windowsEventLogs": [
                {
                "streams": [
                    "Microsoft-Event"
                ],
                "xPathQueries": [
                    "Application!*[System[(Level=2)]]",
                    "System!*[System[(Level=2)]]"
                ],
                "name": "eventLogsDataSource"
                }
            ]
        },
        "destinations": {
            "eventHubsDirect": [
                {
                "eventHubResourceId": "/subscriptions/71b36fb6-4fe4-4664-9a7b-245dc62f2930/resourceGroups/my-resource-group/providers/Microsoft.EventHub/namespaces/my-eventhub-namespace/eventhubs/my-eventhub",
                "name": "myEh"
                }
            ],
            "storageBlobsDirect": [
                {
                "storageAccountResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group/providers/Microsoft.Storage/storageAccounts/mystorageaccount",
                "containerName": "myperfblob",
                "name": "PerfBlob"
                },
                {
                "storageAccountResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group/providers/Microsoft.Storage/storageAccounts/mystorageaccount",
                "containerName": "myeventblob",
                "name": "EventBlob"
                }
            ],
            "storageTablesDirect": [
                {
                "storageAccountResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group/providers/Microsoft.Storage/storageAccounts/mystorageaccount",
                "containerName": "myperftable",
                "name": "PerfTable"
                },
                {
                "storageAccountResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group/providers/Microsoft.Storage/storageAccounts/mystorageaccount",
                "containerName": "mymyeventtable",
                "name": "EventTable"
                }
            ]
        },
        "dataFlows": [
            {
                "streams": [
                "Microsoft-Perf"
                ],
                "destinations": [
                "myEh",
                "PerfBlob",
                "PerfTable"
                ]
            },
            {
                "streams": [
                "Microsoft-Event"
                ],
                "destinations": [
                "myEh",
                "EventBlob",
                "EventTable"
                ]
            },
        ]
    }
}

Kayıtlar Alımı API'si

Günlük alımı API'sinin DCR'leri, DCR tanımının streamDeclarations bölümünde gelen akışın şemasını tanımlamalıdır. Gelen veriler JSON'da bu tanımdaki sütunlarla eşleşen bir şemayla biçimlendirilmelidir. Bu şema hedef tablonun şemasıyla eşleşiyorsa dönüştürme gerekmez. Şemalar eşleşmiyorsa, verileri biçimlendirmek için özelliğine dataFlows bir dönüştürme eklemeniz gerekir. Daha fazla ayrıntı için Azure İzleyici'de Günlük Alımı API'si bölümüne bakın.

Aşağıdaki örnek DCR'de aşağıdaki ayrıntılar yer almaktadır:

  • my-workspace adlı çalışma alanında MyTable_CL adlı bir tabloya veri gönderir. Bu DCR'yi yüklemeden önce aşağıdaki sütunlarla tabloyu oluşturmanız gerekir:
    • TimeGenerated
    • Bilgisayar
    • Ek Bağlam
    • ExtendedColumn (dönüşümde tanımlanmış)
  • Hedef tablo için verileri biçimlendirmek amacıyla gelen verilere bir dönüştürme uygular.

Önemli

Bu örnek, DCR oluşturulduğunda otomatik olarak yaratıldığı için dataCollectionEndpointId özelliğini içermez. Uygulamanın veri göndereceği URL olduğundan bu özelliğin değerine ihtiyacınız vardır. Bu özelliğin oluşturulabilmesi için kind:Direct DCR'nin bulunması gerekir. Diğer ayrıntılar için bkz . Özellikler .

{
    "location": "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/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
                    "name": "LogAnalyticsDest"
                }
            ]
        },
        "dataFlows": [
            {
                "streams": [
                    "Custom-MyTable"
                ],
                "destinations": [
                    "LogAnalyticsDest"
                ],
                "transformKql": "source | extend jsonContext = parse_json(AdditionalContext) | project TimeGenerated = Time, Computer, AdditionalContext = jsonContext, ExtendedColumn=tostring(jsonContext.CounterName)",
                "outputStream": "Custom-MyTable_CL"
            }
        ]
    }
}

Çalışma alanı dönüşümü DCR

Dönüştürmeler çalışma alanında desteklenen tablolara gönderilen tüm verilere uygulandığından, çalışma alanı dönüştürme DCR'leri boş datasources bir bölüme sahiptir. workspaceResourceId için bir ve yalnızca bir giriş ve dönüşüm içeren her tablo için dataFlows'de bir giriş içermelidir. Ayrıca "kind": "WorkspaceTransforms"'e sahip olmalıdır.

Aşağıdaki örnek DCR'de aşağıdaki ayrıntılar yer almaktadır:

  • Tablo için LAQueryLogs dönüştürme, tablonun kendi sorgularını filtreler ve çalışma alanı adına sahip bir sütun ekler.
  • Bilgi olaylarını filtreleyen ve ParameterXml sütununu kaldıran Event tablosu için dönüştürme. Bu, Çalışma Alanı Dönüştürme DCR’de açıklandığı gibi, yalnızca kullanım dışı Günlük Analitiği aracısından gelen veriler için geçerlidir ve Azure İzleyici Aracısı için geçerli değildir.
{
    "kind": "WorkspaceTransforms",
    "location": "eastus",
    "properties": {
        "dataSources": {},
        "destinations": {
            "logAnalytics": [
                {
                    "workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
                    "name": "clv2ws1"
                }
            ]
        },
        "dataFlows": [
            {
                "streams": [
                    "Microsoft-Table-LAQueryLogs"
                ],
                "destinations": [
                    "clv2ws1"
                ],
                "transformKql": "source | where QueryText !contains 'LAQueryLogs' | extend Context = parse_json(RequestContext) | extend Workspace_CF = tostring(Context['workspaces'][0]) | project-away RequestContext, Context"
            },
            {
                "streams": [
                    "Microsoft-Table-Event"
                ],
                "destinations": [
                    "clv2ws1"
                ],
                "transformKql": "source | where EventLevelName in ('Error', 'Critical', 'Warning') | project-away ParameterXml"
            }
        ]
    }
}

Birden çok tabloya veri gönderme

Aynı Log Analytics çalışma alanında bulunan birden çok tabloya tek bir veri kaynağından veri göndermek istemenin birden çok nedeni vardır:

  • Zaman zaman sorun giderme için kullanılan kayıtları temel günlükler tablosuna göndererek veri alımı maliyetlerinden tasarruf edin.
  • Hassas verileri olan kayıtları veya sütunları farklı izinlere veya bekletme ayarlarına sahip bir tabloya gönderin.

Tek bir veri kaynağından birden çok tabloya veri göndermek için, aşağıdaki diyagramda gösterildiği gibi DCR'de benzersiz bir dönüştürme sorgusu ve çıkış tablosuyla birden çok veri akışı oluşturun.

Önemli

Şu anda DCR'deki tabloların aynı Log Analytics çalışma alanında olması gerekir. Tek bir veri kaynağından birden çok çalışma alanına göndermek için birden çok DCR kullanın ve uygulamanızı her birine veri gönderecek şekilde yapılandırın.

Verileri birden çok tabloya gönderen dönüştürmeyi gösteren diyagram.

Aşağıdaki örnek, Azure İzleyici aracısı tarafından Olay tablosuna gönderilen kayıtları filtreler. Olay tablosuna yalnızca uyarı ve hata olayları gönderilir. Diğer olaylar, temel günlükler için yapılandırılmış Event_CL adlı olay tablosunun bir kopyasına gönderilir.

Uyarı

Bu örnek, aynı çalışma alanında oluşturulan Olay tablosunun Event_CL adlı bir kopyasını gerektirir.

{
    "location": "eastus",
    "properties": {
        "dataSources": {
            "windowsEventLogs": [
              {
                "name": "eventLogsDataSource",
                "streams": [
                  "Microsoft-Event"
                ],
                "xPathQueries": [
                  "System!*[System[(Level = 1 or Level = 2 or Level = 3)]]",
                  "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]"
                ]
              }
            ]
        },
        "destinations": {
            "logAnalytics": [
                {
                    "workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
                    "name": "MyDestination"
                }
            ]
        },
        "dataFlows": [
            {
                "streams": [
                    "Microsoft-Event"
                ],
                "destinations": [
                    "MyDestination"
                ],
                "transformKql": "source | where EventLevelName in ('Error', 'Warning')",
                "outputStream": "Microsoft-Event"
            },
            {
                "streams": [
                    "Microsoft-Event"
                ],
                "destinations": [
                    "MyDestination"
                ],
                "transformKql": "source | where EventLevelName !in ('Error', 'Warning')",
                "outputStream": "Custom-Event_CL"
            }
        ]
    }
}

Sonraki Adımlar