Partage via


Exemples de demande d’API pour la création de règles de collecte de données (DCR)

Cet article présente quelques exemples de demandes et de réponses d’API pour la création de règles de collecte de données (DCRs) et d’associations de DCR (DCRA) à utiliser avec l’agent Azure Monitor (AMA).

Syslog/CEF

Les exemples suivants sont destinés aux contrôleurs de domaine utilisant l’AMA pour collecter des messages Syslog et CEF.

Syslog/CEF DCR

Ces exemples sont la requête et la réponse de l’API pour la création d’une DCR.

URL et en-tête de la demande de création syslog/CEF

Exemple :

PUT https://management.azure.com/subscriptions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/resourceGroups/ContosoRG/providers/Microsoft.Insights/dataCollectionRules/Contoso-DCR-01?api-version=2022-06-01

Corps de la demande de création syslog/CEF DCR

Voici un exemple de demande de création de DCR. Pour chaque flux de source de données, vous pouvez avoir plusieurs dans une DCR, ajouter une nouvelle sous-section sous "syslog" la "dataSources" section et définir la valeur du champ en fonction de "streams" la source des messages que vous souhaitez ingérer :

Source de journal Valeur de champ "streams"
Syslog "Microsoft-Syslog"
CEF "Microsoft-CommonSecurityLog"
Cisco ASA "Microsoft-CiscoAsa"

Consultez l’exemple de plusieurs sections de flux dans l’exemple de code suivant :

{
  "location": "centralus",
  "kind": "Linux",
  "properties": {
    "dataSources": {
      "syslog": [
        {
          "name": "localsSyslog",
          "streams": [
            "Microsoft-Syslog"
          ],
          "facilityNames": [
            "auth",
            "local0",
            "local1",
            "local2",
            "local3",
            "syslog"
          ],
          "logLevels": [
            "Critical",
            "Alert",
            "Emergency"
          ]
        },
        {
          "name": "authprivSyslog",
          "streams": [
            "Microsoft-Syslog"
          ],
          "facilityNames": [
            "authpriv"
          ],
          "logLevels": [
            "Error",
            "Alert",
            "Critical",
            "Emergency"
          ]
        }
      ]
    },
    "destinations": {
      "logAnalytics": [
        {
          "workspaceResourceId": "/subscriptions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/resourceGroups/ContosoRG/providers/Microsoft.OperationalInsights/workspaces/Contoso",
          "workspaceId": "11111111-2222-3333-4444-555555555555",
          "name": "DataCollectionEvent"
        }
      ]
    },
    "dataFlows": [
      {
        "streams": [
          "Microsoft-Syslog"
        ],
        "destinations": [
          "DataCollectionEvent"
        ]
      }
    ]
  }
}

Réponse de création syslog/CEF DCR

Voici la réponse que vous devez recevoir en fonction de l’exemple de requête ci-dessus :

  {
    "properties": {
      "immutableId": "dcr-0123456789abcdef0123456789abcdef",
      "dataSources": {
        "syslog": [
          {
            "streams": [
              "Microsoft-Syslog"
            ],
            "facilityNames": [
              "auth",
              "local0",
              "local1",
              "local2",
              "local3",
              "syslog"
            ],
            "logLevels": [
              "Critical",
              "Alert",
              "Emergency"
            ],
            "name": "localsSyslog"
          },
          {
            "streams": [
              "Microsoft-Syslog"
            ],
            "facilityNames": [
              "authpriv"
            ],
            "logLevels": [
              "Error",
              "Alert",
              "Critical",
              "Emergency"
            ],
            "name": "authprivSyslog"
          }
        ]
      },
      "destinations": {
        "logAnalytics": [
          {
            "workspaceResourceId": "/subscriptions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/resourceGroups/ContosoRG/providers/Microsoft.OperationalInsights/workspaces/Contoso",
            "workspaceId": "11111111-2222-3333-4444-555555555555",
            "name": "DataCollectionEvent"
          }
        ]
      },
      "dataFlows": [
        {
          "streams": [
            "Microsoft-Syslog"
          ],
          "destinations": [
            "DataCollectionEvent"
          ]
        }
      ],
      "provisioningState": "Succeeded"
    },
    "location": "centralus",
    "kind": "Linux",
    "id": "/subscriptions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/resourceGroups/ContosoRG/providers/Microsoft.Insights/dataCollectionRules/Contoso-DCR-01",
    "name": "Contoso-DCR-01",
    "type": "Microsoft.Insights/dataCollectionRules",
    "etag": "\"00000000-0000-0000-0000-000000000000\"",
    "systemData": {
    }
  }

Syslog/CEF DCRA

URL et en-tête de la demande de création Syslog/CEF DCRA

PUT 
https://management.azure.com/subscriptions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/resourceGroups/ContosoRG/providers/Microsoft.Compute/virtualMachines/LogForwarder-VM-1/providers/Microsoft.Insights/dataCollectionRuleAssociations/contoso-dcr-assoc?api-version=2022-06-01

Corps de la demande de création syslog/CEF DCRA

{
  "properties": {
    "dataCollectionRuleId": "/subscriptions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/resourceGroups/ContosoRG/providers/Microsoft.Insights/dataCollectionRules/Contoso-DCR-01"
  }
}

Réponse de création syslog/CEF DCRA

{
    "properties": {
      "dataCollectionRuleId": "/subscriptions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/resourceGroups/ContosoRG/providers/Microsoft.Insights/dataCollectionRules/Contoso-DCR-01"
    },
    "id": "/subscriptions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/resourceGroups/ContosoRG/providers/Microsoft.Compute/virtualMachines/LogForwarder-VM-1/providers/Microsoft.Insights/dataCollectionRuleAssociations/contoso-dcr-assoc",
    "name": "contoso-dcr-assoc",
    "type": "Microsoft.Insights/dataCollectionRuleAssociations",
    "etag": "\"00000000-0000-0000-0000-000000000000\"",
    "systemData": {
    }
  }

Journaux personnalisés à partir de fichiers texte

Les exemples suivants sont destinés aux contrôleurs de domaine utilisant l’AMA pour collecter des journaux personnalisés à partir de fichiers texte.

Journaux de texte personnalisés DCR

Ces exemples sont la demande d’API pour la création d’une DCR.

Corps de la demande de création DCR des journaux de texte personnalisés

Voici un exemple de demande de création de DCR pour un fichier texte de journal personnalisé. Remplacez par {PLACEHOLDER_VALUES} des valeurs réelles.

Le outputStream paramètre est obligatoire uniquement si la transformation modifie le schéma du flux.

{
    "type": "Microsoft.Insights/dataCollectionRules",
    "name": "{DCR_NAME}",
    "location": "{WORKSPACE_LOCATION}",
    "apiVersion": "2022-06-01",
    "properties": {
        "streamDeclarations": {
            "Custom-Text-{TABLE_NAME}": {
                "columns": [
                    {
                        "name": "TimeGenerated",
                        "type": "datetime"
                    },
                    {
                        "name": "RawData",
                        "type": "string"
                    },
                ]
            }
        },
        "dataSources": {
            "logFiles": [
                {
                    "streams": [ 
                        "Custom-Text-{TABLE_NAME}" 
                    ],
                    "filePatterns": [ 
                        "{LOCAL_PATH_FILE_1}","{LOCAL_PATH_FILE_2}" 
                    ],
                    "format": "text",
                    "name": "Custom-Text-{TABLE_NAME}"
                }
            ],
        },
        "destinations": {
            "logAnalytics": [
                {
                    "workspaceResourceId": "{WORKSPACE_RESOURCE_PATH}",
                    "workspaceId": "{WORKSPACE_ID}",
                    "name": "DataCollectionEvent"
                }
            ],
        },
        "dataFlows": [
            {
                "streams": [
                    "Custom-Text-{TABLE_NAME}" 
                ],
                "destinations": [ 
                    "DataCollectionEvent" 
                ],
                "transformKql": "source",
                "outputStream": "Custom-{TABLE_NAME}"
            }
        ]
    }
}

Réponse de création DCR des journaux de texte personnalisés

{
    "properties": {
        "immutableId": "dcr-00112233445566778899aabbccddeeff",
        "dataCollectionEndpointId": "/subscriptions/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb/resourceGroups/Contoso-RG-1/providers/Microsoft.Insights/dataCollectionEndpoints/Microsoft-Sentinel-aaaabbbbccccddddeeeefff",
        "streamDeclarations": {
            "Custom-Text-ApacheHTTPServer_CL": {
                "columns": [
                    {
                        "name": "TimeGenerated",
                        "type": "datetime"
                    },
                    {
                        "name": "RawData",
                        "type": "string"
                    }
                ]
            }
        },
        "dataSources": {
            "logFiles": [
                {
                    "streams": [
                        "Custom-Text-ApacheHTTPServer_CL"
                    ],
                    "filePatterns": [
                        "C:\\Server\\bin\\log\\Apache24\\logs\\*.log"
                    ],
                    "format": "text",
                    "settings": {
                        "text": {
                            "recordStartTimestampFormat": "ISO 8601"
                        }
                    },
                    "name": "Custom-Text-ApacheHTTPServer_CL"
                }
            ]
        },
        "destinations": {
            "logAnalytics": [
                {
                    "workspaceResourceId": "/subscriptions/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb/resourceGroups/contoso-rg-1/providers/Microsoft.OperationalInsights/workspaces/CyberSOC",
                    "workspaceId": "cccccccc-3333-4444-5555-dddddddddddd",
                    "name": "DataCollectionEvent"
                }
            ]
        },
        "dataFlows": [
            {
                "streams": [
                    "Custom-Text-ApacheHTTPServer_CL"
                ],
                "destinations": [
                    "DataCollectionEvent"
                ],
                "transformKql": "source",
                "outputStream": "Custom-ApacheHTTPServer_CL"
            }
        ],
        "provisioningState": "Succeeded"
    },
    "location": "centralus",
    "tags": {
        "createdBy": "Sentinel"
    },
    "id": "/subscriptions/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb/resourceGroups/Contoso-RG-1/providers/Microsoft.Insights/dataCollectionRules/DCR-CustomLogs-01",
    "name": "DCR-CustomLogs-01",
    "type": "Microsoft.Insights/dataCollectionRules",
    "etag": "\"00000000-1111-2222-3333-444444444444\"",
    "systemData": {
        "createdBy": "gbarnes@contoso.com",
        "createdByType": "User",
        "createdAt": "2024-08-12T09:29:15.1083961Z",
        "lastModifiedBy": "gbarnes@contoso.com",
        "lastModifiedByType": "User",
        "lastModifiedAt": "2024-08-12T09:29:15.1083961Z"
    }
}