Dela via


Skicka klientdata för virtuella datorer till Event Hubs och Storage (förhandsversion)

Samla in data från en virtuell datorklient med Azure Monitor beskriver hur du samlar in data från virtuella datorer med Azure Monitor. Den här artikeln beskriver hur du skickar dessa data som beskrivs till Azure Storage och Event Hubs. Den här funktionen är för närvarande i offentlig förhandsversion.

Tips/Råd

Som ett alternativ till lagring bör du skapa en tabell med hjälpplanen på Log Analytics-arbetsytan för kostnadseffektiv loggning.

I följande tabell visas de datakällor som stöds av den här funktionen.

Datatyper som stöds

Datatyperna i följande tabell stöds av den här funktionen. Var och en har en länk till en artikel som beskriver informationen om den källan.

Datakälla Operativsystem Destinationer som stöds
Windows-händelseloggar Windows Eventhub
Förvaring
Syslog Linux Eventhub
Förvaring
Prestandaräknare Windows
Linux
Eventhub
Förvaring
IIS-loggar Windows
Linux
Storage Blob
Textloggar Windows
Linux
Storage Blob

Följande loggar stöds inte:

  • ETW-Loggar. Detta planeras för senare lansering.
  • Windows Kraschdumpar. Azure Monitoring Agent är avsedd för telemetriloggar och inte för stora filtyper.
  • Programloggar. Dessa samlas in av Application Insights, som inte använder DCR.
  • .NET-händelsekällans loggar

Anmärkning

Den här funktionen stöds endast för virtuella Azure-datorer. Arc-aktiverade virtuella datorer stöds inte.

Behörigheter

Den virtuella agentdatorn måste ha systemtilldelad hanterad identitet aktiverad eller en användartilldelad hanterad identitet kopplad till den. Användartilldelad hanterad identitet rekommenderas för bättre skalbarhet och prestanda. Agenten måste konfigureras för att använda den hanterade identiteten för autentisering enligt beskrivningen i Azure Monitor-agentkraven.

Följande RBAC-roller måste tilldelas till den hanterade identiteten beroende på vilka datamål du använder.

Resmål RBAC-roll
Lagringstabell Storage Table Data Contributor
Lagringsblob Storage Blob Data Contributor
Event Hub Azure Event Hubs Data Sender

Skapa en datainsamlingsregel

Det finns för närvarande ingen användargränssnittsupplevelse för att skapa en datainsamlingsregel (DCR) som skickar data till Event Hubs eller lagring. I följande process beskrivs stegen för att skapa en DCR med hjälp av en ARM-mall i Azure-portalen. Du kan också använda dcr-exemplet här för att skapa en ny DCR med andra metoder.

Varning

Redigera inte en befintlig DCR som du skapade med hjälp av Samla in data från en virtuell datorklient med Azure Monitor för att lägga till Event Hubs eller lagring. Dessa destinationer kräver en DCR med en kind av AgentDirectToStore. Skapa i stället flera DCR:er med samma datakällor som skickas till olika destinationer.

  1. I sökrutan för Azure Portal skriver du in mallen och väljer sedan Distribuera en anpassad mall. Välj alternativet för att skapa din egen mall i redigeringsprogrammet.

    Skärmbild som visar Azure Portal med mallen angiven i sökrutan och Distribuera en anpassad mall markerad i sökresultaten.

  2. Klistra in följande malldefinition i redigeraren:

    {
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "location": {
        "type": "string",
        "defaultValue": "[resourceGroup().location]",
        "metadata": {
            "description": "Location for all resources."
        }
        },
        "dataCollectionRulesName": {
        "defaultValue": "[concat(resourceGroup().name, 'DCR')]",
        "type": "String"
        },
        "storageAccountName": {
        "defaultValue": "[concat(resourceGroup().name, 'sa')]",
        "type": "String"
        },
        "eventHubNamespaceName": {
        "defaultValue": "[concat(resourceGroup().name, 'eh')]",
        "type": "String"
        },
        "eventHubInstanceName": {
        "defaultValue": "[concat(resourceGroup().name, 'ehins')]",
        "type": "String"
        }
    },
    "resources": [
        {
        "type": "Microsoft.Insights/dataCollectionRules",
        "apiVersion": "2022-06-01",
        "name": "[parameters('dataCollectionRulesName')]",
        "location": "[parameters('location')]",
        "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": "perfCounterDataSource10"
                    }
                ],
                "windowsEventLogs": [
                    {
                    "streams": [
                        "Microsoft-Event"
                    ],
                    "xPathQueries": [
                        "Application!*[System[(Level=2)]]",
                        "System!*[System[(Level=2)]]"
                    ],
                    "name": "eventLogsDataSource"
                    }
                ],
                "iisLogs": [
                    {
                    "streams": [
                        "Microsoft-W3CIISLog"
                    ],
                    "logDirectories": [
                        "C:\\inetpub\\logs\\LogFiles\\W3SVC1\\"
                    ],
                    "name": "myIisLogsDataSource"
                    }
                ],
                "logFiles": [
                    {
                    "streams": [
                        "Custom-Text-logs"
                    ],
                    "filePatterns": [
                        "C:\\JavaLogs\\*.log"
                    ],
                    "format": "text",
                    "settings": {
                        "text": {
                        "recordStartTimestampFormat": "ISO 8601"
                        }
                    },
                    "name": "myTextLogs"
                    }
                ]
            },
            "destinations": {
            "eventHubsDirect": [
                {
                "eventHubResourceId": "[resourceId('Microsoft.EventHub/namespaces/eventhubs', parameters('eventHubNamespaceName'), parameters('eventHubInstanceName'))]",
                "name": "myEh1"
                }
            ],
            "storageBlobsDirect": [
                {
                "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]",
                "name": "blobNamedPerf",
                "containerName": "PerfBlob"
                },
                {
                "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]",
                "name": "blobNamedWin",
                "containerName": "WinEventBlob"
                },
                {
                "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]",
                "name": "blobNamedIIS",
                "containerName": "IISBlob"
                },
                {
                "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]",
                "name": "blobNamedTextLogs",
                "containerName": "TxtLogBlob"
                }
            ],
            "storageTablesDirect": [
                {
                "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]",
                "name": "tableNamedPerf",
                "tableName": "PerfTable"
                },
                {
                "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]",
                "name": "tableNamedWin",
                "tableName": "WinTable"
                },
                {
                "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]",
                "name": "tableUnnamed"
                }
            ]
            },
            "dataFlows": [
            {
                "streams": [
                    "Microsoft-Perf"
                ],
                "destinations": [
                    "myEh1",
                    "blobNamedPerf",
                    "tableNamedPerf",
                    "tableUnnamed"
                ]
            },
            {
                "streams": [
                    "Microsoft-Event"
                ],
                "destinations": [
                    "myEh1",
                    "blobNamedWin",
                    "tableNamedWin",
                    "tableUnnamed"
                ]
            },
            {
                "streams": [
                    "Microsoft-W3CIISLog"
                ],
                "destinations": [
                    "blobNamedIIS"
                ]
            },
            {
                "streams": [
                    "Custom-Text-logs"
                ],
                "destinations": [
                    "blobNamedTextLogs"
                ]
            }
            ]
        }
        }
    ]
    }
    
  3. Redigera mallen enligt dina krav med hjälp av information om DCR-avsnitten i följande tabell. Mallen använder parametrar för att acceptera namnen på lagringskontot och händelsehubben, så du kan ange dessa när du sparar mallen eller i en parameterfil beroende på hur du distribuerar mallen. Mer information om DCR-strukturen finns i Strukturen för en datainsamlingsregel (DCR) i Azure Monitor .

    Värde Beskrivning
    dataSources Inlägg för varje datakälla som samlas in av DCR. Exempelmallen innehåller definitioner för loggar och prestandaräknare. Mer information om hur du konfigurerar dessa datakällor och andra som du kan lägga till i mallen finns i Exempel på datainsamlingsregel (DCR) i Azure Monitor .
    destinations Enkel post för varje destination.

    Event Hubs
    Använd eventHubsDirect för direktuppladdning till händelsehubben. eventHubResourceId innehåller resurs-ID för händelsehubbens instans.

    Lagringsblob
    Använd storageBlobsDirect för direktuppladdning till bloblagring. storageAccountResourceId innehåller resurs-ID för lagringskontot. containerName innehåller namnet på containern.

    Lagringstabell
    Används storageTablesDirect för direktuppladdning till tabelllagring. storageAccountResourceId innehåller resurs-ID för lagringskontot. tableName innehåller ett valfritt namn på tabellen.
    dataFlows A dataflow för att matcha varje inkommande ström med minst en destination. Data från den källan skickas till varje mål i dataflödet.
  4. Välj Spara och ange värden för de obligatoriska parametrarna.

Skapa DCR-association och distribuera Azure Monitor Agent

För att använda DCR måste den ha en association med en datainsamlingsregel (DCRA) för en eller flera virtuella datorer där Azure Monitor-agenten (AMA) är installerad. Se Installera och hantera Azure Monitor-agenten för olika alternativ för att installera agenten och Hantera regelassociationer för datainsamling i Azure Monitor för olika alternativ för att skapa DCRA.

Följande ARM-mall kan användas för att distribuera Azure Monitor-agenten och skapa DCRA för en viss virtuell dator. Mallen använder en användartilldelad hanterad identitet (UAI) för autentisering. UAI måste skapas innan du distribuerar mallen. Du kan också använda en systemtilldelad hanterad identitet, men detta rekommenderas inte för produktionsarbetsbelastningar.

Använd processen ovan eller någon annan giltig metod för att distribuera den här mallen. Den innehåller parametrar för nödvändiga värden för att identifiera den virtuella datorn och DCR, så du behöver inte ändra själva mallen.

{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
    "vmName": {
    "defaultValue": "[concat(resourceGroup().name, 'vm')]",
    "type": "String"
    },
    "location": {
    "type": "string",
    "defaultValue": "[resourceGroup().location]",
    "metadata": {
        "description": "Location for all resources."
    }
    },
    "dataCollectionRulesName": {
    "defaultValue": "[concat(resourceGroup().name, 'DCR')]",
    "type": "String",
    "metadata": {
        "description": "Data Collection Rule Name"
    }
    },
    "dcraName": {
    "type": "string",
    "defaultValue": "[concat(uniquestring(resourceGroup().id), 'DCRLink')]",
    "metadata": {
        "description": "Name of the association."
    }
    },
    "identityName": {
    "type": "string",
    "defaultValue": "[concat(resourceGroup().name, 'UAI')]",
    "metadata": {
        "description": "Managed Identity"
    }
    }
},
"resources": [
    {
    "type": "Microsoft.Compute/virtualMachines/providers/dataCollectionRuleAssociations",
    "name": "[concat(parameters('vmName'),'/microsoft.insights/', parameters('dcraName'))]",
    "apiVersion": "2021-04-01",
    "properties": {
        "description": "Association of data collection rule. Deleting this association will break the data collection for this virtual machine.",
        "dataCollectionRuleId": "[resourceID('Microsoft.Insights/dataCollectionRules',parameters('dataCollectionRulesName'))]"
    }
    },
    {
    "type": "Microsoft.Compute/virtualMachines/extensions",
    "name": "[concat(parameters('vmName'), '/AMAExtension')]",
    "apiVersion": "2020-06-01",
    "location": "[parameters('location')]",
    "dependsOn": [
        "[resourceId('Microsoft.Compute/virtualMachines/providers/dataCollectionRuleAssociations', parameters('vmName'), 'Microsoft.Insights', parameters('dcraName'))]"
    ],
    "properties": {
        "publisher": "Microsoft.Azure.Monitor",
        "type": "AzureMonitorWindowsAgent",
        "typeHandlerVersion": "1.0",
        "autoUpgradeMinorVersion": true,
        "settings": {
        "authentication": {
            "managedIdentity": {
            "identifier-name": "mi_res_id",
            "identifier-value": "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',parameters('identityName'))]"
            }
        }
        }
    }
    }
]
}

Migrering från Azure Diagnostic Extensions för Linux och Windows (LAD/WAD)

Azure Diagnostics-tillägget skickar för närvarande data till Event Hubs och lagring men kommer att bli inaktuell den 31 mars 2026. Efter det här datumet kommer Microsoft inte längre att tillhandahålla stöd för Azure Diagnostics-tillägget. Endast säkerhetskorrigeringar tillhandahålls. Azure Monitor Agent (AMA) är ett mer effektivt och flexibelt sätt att samla in klientdata från virtuella datorer.

  • Om du vill kontrollera vilka tillägg som är installerade på den virtuella datorn väljer du Tillägg + program under Inställningar på den virtuella datorn.
  • Ta bort LAD eller WAD när du har konfigurerat Azure Monitor Agent för att samla in samma data till Event Hubs eller Azure Storage för att undvika dubbletter av data.

Felsöka

Om data inte skickas till Event Hubs eller lagring kontrollerar du följande:

  • Lämplig inbyggd roll som anges i Behörigheter tilldelas med hanterad identitet på lagringskontot eller händelsehubben.
  • Hanterad identitet tilldelas till den virtuella datorn.
  • AMA-inställningarna har en hanterad identitetsparameter.

Se även