Bagikan melalui


Sampel aturan pengumpulan data (DCR) di Azure Monitor

Artikel ini menyertakan sampel aturan pengumpulan data (DCR) untuk skenario pengumpulan data umum di Azure Monitor. Anda dapat mengubah definisi DCR ini sesuai kebutuhan untuk lingkungan Anda dan membuat DCR menggunakan panduan dalam Membuat atau mengedit aturan pengumpulan data. Anda juga dapat menggunakan dan menggabungkan strategi dasar dalam sampel ini untuk membuat DCR untuk skenario lain.

Sampel ini memerlukan pengetahuan tentang struktur DCR seperti yang dijelaskan dalam Struktur aturan pengumpulan data di Azure Monitor. Beberapa dapat dikonfigurasi menggunakan portal Azure tanpa pengetahuan terperinci tentang struktur DCR. Gunakan sampel ini saat Anda perlu bekerja dengan definisi DCR itu sendiri untuk melakukan konfigurasi yang lebih canggih atau untuk mengotomatiskan pembuatan DCR.

Masing-masing sampel ini berfokus pada sumber data tertentu, meskipun Anda dapat menggabungkan beberapa sumber data dari berbagai jenis dalam satu DCR. Sertakan aliran data untuk masing-masing untuk mengirim data ke tujuan yang sesuai. Tidak ada perbedaan fungsional antara menggabungkan beberapa sumber data dalam satu DCR atau membuat DCR terpisah untuk setiap sumber data. Pilihannya tergantung pada kebutuhan Anda untuk mengelola dan memantau pengumpulan data.

Catatan

Sampel ini ditampilkan dalam artikel ini menyediakan JSON sumber yang diperlukan untuk membuat DCR. Setelah pembuatan, DCR akan memiliki properti tambahan seperti yang dijelaskan dalam Struktur aturan pengumpulan data di Azure Monitor.

DCR untuk agen Azure Monitor

Agen Azure Monitor berjalan pada komputer virtual, set skala komputer virtual, dan kluster Kubernetes. Ini mendukung wawasan VM dan wawasan kontainer dan mendukung berbagai skenario pengumpulan data untuk VM yang dijelaskan dalam pengumpulan data agen Azure Monitor.

Sampel berikut menunjukkan DCR untuk mengumpulkan berbagai jenis data menggunakan agen Azure Monitor.

Aktivitas Windows

DCR untuk peristiwa Windows menggunakan windowsEventLogs sumber data dengan Microsoft-Event aliran masuk. Skema aliran ini diketahui, sehingga tidak perlu didefinisikan di bagian .dataSources Peristiwa yang akan dikumpulkan ditentukan dalam xPathQueries properti . Lihat Mengumpulkan peristiwa Windows dengan Agen Azure Monitor untuk detail lebih lanjut tentang menggunakan XPaths untuk memfilter data tertentu yang ingin Anda kumpulkan. Untuk memulai, Anda dapat menggunakan panduan dalam artikel tersebut untuk membuat DCR menggunakan portal Azure lalu memeriksa JSON menggunakan panduan pada definisi DCR.

Anda dapat menambahkan transformasi ke dataFlows properti untuk kolom terhitung dan untuk memfilter data lebih lanjut, tetapi Anda harus menggunakan XPaths untuk memfilter data di agen sebanyak mungkin untuk efisiensi dan untuk menghindari potensi biaya penyerapan.

Contoh DCR berikut melakukan tindakan berikut:

  • Mengumpulkan aplikasi Windows dan peristiwa sistem dengan tingkat kesalahan Peringatan, Kesalahan, atau Kritis.
  • Mengirim data ke tabel Peristiwa di ruang kerja.
  • Menggunakan transformasi sederhana yang source tidak membuat perubahan pada data masuk.
{
    "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"
        }
      ]
    }
  }

Peristiwa Syslog

DCR untuk peristiwa Syslog menggunakan syslog sumber data dengan aliran masuk Microsoft-Syslog . Skema aliran ini diketahui, sehingga tidak perlu didefinisikan di bagian .dataSources Peristiwa yang akan dikumpulkan ditentukan dalam facilityNames properti dan logLevels . Lihat Mengumpulkan peristiwa Syslog dengan Agen Azure Monitor untuk detail lebih lanjut. Untuk memulai, Anda dapat menggunakan panduan dalam artikel tersebut untuk membuat DCR menggunakan portal Azure lalu memeriksa JSON menggunakan panduan pada definisi DCR.

Anda dapat menambahkan transformasi ke dataFlows properti untuk fungsionalitas tambahan dan untuk memfilter data lebih lanjut, tetapi Anda harus menggunakan facilityNames dan logLevels untuk memfilter sebanyak mungkin untuk efisiensi untuk menghindari potensi biaya penyerapan.

Contoh DCR berikut melakukan tindakan berikut:

  • Mengumpulkan semua peristiwa dari cron fasilitas.
  • Mengumpulkan dan acara yang Warning lebih tinggi dari syslog fasilitas dan daemon .
    • Mengirim data ke tabel Syslog di ruang kerja.
    • Menggunakan transformasi sederhana yang source tidak membuat perubahan pada data masuk.
{
    "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"
        }
      ]
    }
  }

Penghitung kinerja

DCR untuk data performa menggunakan performanceCounters sumber data dengan aliran dan Microsoft-Perf masukMicrosoft-InsightsMetrics. Microsoft-InsightsMetrics digunakan untuk mengirim data ke Metrik Azure Monitor, sementara Microsoft-Perf digunakan untuk mengirim data ke ruang kerja Analitik Log. Anda dapat menyertakan kedua sumber data dalam DCR jika Anda mengirim data performa ke kedua tujuan. Skema aliran ini diketahui, sehingga tidak perlu didefinisikan di bagian .dataSources

Penghitung kinerja yang akan dikumpulkan ditentukan dalam counterSpecifiers properti . Lihat Mengumpulkan penghitung kinerja dengan Agen Azure Monitor untuk detail lebih lanjut. Untuk memulai, Anda dapat menggunakan panduan dalam artikel tersebut untuk membuat DCR menggunakan portal Azure lalu memeriksa JSON menggunakan panduan pada definisi DCR.

Anda dapat menambahkan transformasi ke dataFlows properti untuk Microsoft-Perf fungsionalitas tambahan dan untuk memfilter data lebih lanjut, tetapi Anda hanya harus memilih penghitung yang Anda butuhkan counterSpecifiers untuk efisiensi untuk menghindari potensi biaya penyerapan.

Contoh DCR berikut melakukan tindakan berikut:

  • Mengumpulkan serangkaian penghitung kinerja setiap 60 detik dan set lain setiap 30 detik.
  • Mengirim data ke Metrik Azure Monitor dan ruang kerja Analitik Log.
  • Menggunakan transformasi sederhana yang source tidak membuat perubahan pada data masuk.
{
    "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"
        }
      ]
    }
}

Log teks

DCR untuk log teks memiliki logfiles sumber data yang memiliki detail untuk file log yang harus dikumpulkan oleh agen. Ini termasuk nama aliran yang harus ditentukan dengan streamDeclarations kolom data masuk. Ini saat ini adalah daftar yang ditetapkan seperti yang dijelaskan dalam Mengumpulkan log dari file teks dengan Agen Azure Monitor.

Tambahkan transformasi ke dataFlows properti untuk memfilter rekaman yang tidak ingin Anda kumpulkan dan untuk memformat data agar sesuai dengan skema tabel tujuan. Skenario umumnya adalah mengurai file log yang dibatasi ke dalam beberapa kolom seperti yang dijelaskan dalam File log yang dibatasi.

Contoh DCR berikut melakukan tindakan berikut:

  • Mengumpulkan entri dari semua file dengan ekstensi .txt dalam c:\logs folder komputer agen.
  • Menggunakan transformasi untuk membagi data masuk menjadi kolom berdasarkan pemisah koma (,). Transformasi ini khusus untuk format file log dan harus disesuaikan untuk file log dengan format lain.
  • Mengirim log yang dikumpulkan ke tabel kustom yang disebut MyTable_CL. Tabel ini harus sudah ada dan memiliki output kolom berdasarkan transformasi.
  • Mengumpulkan dan Computer untuk log teks seperti yang FilePath dijelaskan dalam Aliran masuk. Kolom ini juga harus ada di tabel tujuan.
{
    "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"
            }
        ]
    }
}

Log Json

DCR untuk log Json memiliki logfiles sumber data yang memiliki detail untuk file log yang harus dikumpulkan oleh agen. Ini termasuk nama aliran yang harus ditentukan dengan streamDeclarations kolom data masuk. Lihat Mengumpulkan log dari file JSON dengan Agen Azure Monitor untuk detail lebih lanjut.

Tambahkan transformasi ke dataFlows properti untuk memfilter rekaman yang tidak ingin Anda kumpulkan dan untuk memformat data agar sesuai dengan skema tabel tujuan.

Contoh DCR berikut melakukan tindakan berikut:

  • Mengumpulkan entri dari semua file dengan ekstensi .json dalam c:\logs folder komputer agen. File harus diformat dalam json dan memiliki kolom yang tercantum dalam deklarasi aliran.
  • Mengirim log yang dikumpulkan ke tabel kustom yang disebut MyTable_CL. Tabel ini harus sudah ada dan memiliki kolom yang sama dengan aliran masuk. Jika kolom tidak cocok, Anda harus mengubah transformasi dalam transformKql properti untuk memformat data untuk tabel target.
{
    "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"
            }
        ]
    }
}

Mengirim data ke Azure Event Hubs atau Storage

DCR yang mengirim data ke hub peristiwa atau akun penyimpanan menggunakan sumber data yang sama dengan DCR lain yang mengumpulkan data dengan agen Azure Monitor (AMA), tetapi memiliki satu atau beberapa tujuan berikut. Lihat Mengirim data ke Azure Event Hubs dan Storage (Pratinjau) untuk detail selengkapnya.

  • eventHubsDirect
  • storageBlobsDirect
  • storageTablesDirect

Catatan

DCR yang mengirim data ke hub peristiwa atau akun penyimpanan harus memiliki "kind": "AgentDirectToStore"

Contoh DCR berikut melakukan tindakan berikut:

  • Mengumpulkan penghitung kinerja dan peristiwa Windows dari komputer Windows dengan agen Azure Monitor (AMA).
  • Mengirim data ke hub peristiwa, penyimpanan blob, dan penyimpanan tabel.
{
    "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"
                ]
            },
        ]
    }
}

API penyerapan log

DCR untuk API penyerapan Log harus menentukan skema aliran masuk di bagian streamDeclarations definisi DCR. Data masuk harus diformat di JSON dengan skema yang cocok dengan kolom dalam definisi ini. Tidak diperlukan transformasi jika skema ini cocok dengan skema tabel target. Jika skema tidak cocok, Maka Anda harus menambahkan transformasi ke dataFlows properti untuk memformat data. Lihat API Penyerapan Log di Azure Monitor untuk detail selengkapnya.

Contoh DCR di bawah ini memiliki detail berikut:

  • Mengirim data ke tabel yang disebut MyTable_CL di ruang kerja yang disebut my-workspace. Sebelum menginstal DCR ini, Anda harus membuat tabel dengan kolom berikut:
    • TimeGenerated
    • Komputer
    • AdditionalContext
    • ExtendedColumn (ditentukan dalam transformasi)
  • Menerapkan transformasi ke data masuk untuk memformat data untuk tabel target.

Penting

Sampel ini tidak menyertakan properti karena dataCollectionEndpointId ini dibuat secara otomatis saat DCR dibuat. Anda memerlukan nilai properti ini karena ini adalah URL tempat aplikasi akan mengirim data. DCR harus memiliki kind:Direct agar properti ini dibuat. Lihat Properti untuk detail selengkapnya.

{
    "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/cefingestion/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"
            }
        ]
    }
}

DCR transformasi ruang kerja

DCR transformasi ruang kerja memiliki bagian kosong datasources karena transformasi diterapkan ke data apa pun yang dikirim ke tabel yang didukung di ruang kerja. Ini harus mencakup satu dan hanya entri untuk workspaceResourceId dan entri di dataFlows untuk setiap tabel dengan transformasi. Ini juga harus memiliki "kind": "WorkspaceTransforms".

Contoh DCR di bawah ini memiliki detail berikut:

  • Transformasi untuk LAQueryLogs tabel yang memfilter kueri tabel itu sendiri dan menambahkan kolom dengan nama ruang kerja.
  • Transformasi untuk Event tabel yang memfilter peristiwa Informasi dan menghapus ParameterXml kolom. Ini hanya akan berlaku untuk data yang berasal dari agen Log Analytics yang tidak digunakan lagi dan bukan agen Azure Monitor seperti yang dijelaskan dalam DCR transformasi Ruang Kerja.
{
    "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"
            }
        ]
    }
}

Mengirim data ke beberapa tabel

Ada beberapa alasan mengapa Anda mungkin ingin mengirim data dari satu sumber data ke beberapa tabel di ruang kerja Analitik Log yang sama, termasuk yang berikut ini:

  • Hemat biaya penyerapan dengan mengirim rekaman yang digunakan untuk pemecahan masalah sesekali ke tabel log dasar.
  • Kirim rekaman atau kolom dengan data sensitif ke tabel dengan izin atau pengaturan retensi yang berbeda.

Untuk mengirim data dari satu sumber data ke beberapa tabel, buat beberapa aliran data di DCR dengan kueri transformasi unik dan tabel output untuk masing-masing seperti yang diperlihatkan dalam diagram berikut.

Penting

Saat ini, tabel di DCR harus berada di ruang kerja Analitik Log yang sama. Untuk mengirim ke beberapa ruang kerja dari satu sumber data, gunakan beberapa DCR dan konfigurasikan aplikasi Anda untuk mengirim data ke masing-masing.

Diagram yang memperlihatkan transformasi mengirim data ke beberapa tabel.

Sampel berikut memfilter rekaman yang dikirim ke tabel Peristiwa oleh agen Azure Monitor. Hanya peristiwa peringatan dan kesalahan yang dikirim ke tabel Peristiwa. Peristiwa lain dikirim ke salinan tabel peristiwa bernama Event_CL yang dikonfigurasi untuk log dasar.

Catatan

Sampel ini memerlukan salinan tabel Peristiwa yang dibuat di ruang kerja yang sama bernama Event_CL.

{
    "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"
            }
        ]
    }
}

Langkah berikutnya