![]() |
VOOZH | about |
Logs
Use Observability Pipelines’ Microsoft Sentinel destination to send logs to Microsoft Sentinel. See Logs Ingestion API for API call limits in Microsoft Sentinel.
To set up the Microsoft Sentinel destination, you need to create a Workspace in Azure if you haven’t already. In that workspace:
In the streamDeclarations property, you must list all log fields you want mapped to the corresponding Azure table column. See Stream declarations for more information.
In the transformKql property, you must list all fields on the log that are dropped and not mapped to the table. See Data flow properties for more information.
Note: Each log field must be listed in one of these properties: either streamDeclarations or transformKql; otherwise the log is dropped. See Monitor DCR data collection in Azure Monitor on how to set up an alert when logs are dropped.
For example, this JSON file (dcr-commonsecuritylog.json) adds the log fields to be mapped to the CommonSecurityLog table:
{
"location": "eastus",
"kind": "Direct",
"properties": {
"dataCollectionEndpointId": "<DCE_RESOURCE_ID>",
"streamDeclarations": {
"Custom-CommonSecurityLog": {
"columns": [
{ "name": "TimeGenerated", "type": "datetime" },
{ "name": "DeviceVendor", "type": "string" },
{ "name": "DeviceProduct", "type": "string" },
{ "name": "DeviceVersion", "type": "string" },
{ "name": "DeviceEventClassID", "type": "string" },
{ "name": "Activity", "type": "string" },
{ "name": "LogSeverity", "type": "string" },
{ "name": "SourceIP", "type": "string" },
{ "name": "DestinationIP", "type": "string" },
{ "name": "Message", "type": "string" },
{ "name": "source_type", "type": "string" },
{ "name": "path", "type": "string" },
{ "name": "timestamp", "type": "string" }
]
}
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "<WORKSPACE_RESOURCE_ID>",
"name": "LogAnalyticsDest"
}
]
},
"dataFlows": [
{
"streams": ["Custom-CommonSecurityLog"],
"destinations": ["LogAnalyticsDest"],
"transformKql": "source | project-away source_type, path, timestamp",
"outputStream": "Microsoft-CommonSecurityLog"
}
]
}
```
Replace the placeholders:
<DCE_RESOURCE_ID> with the ID of the DCE resource you created in step 2. Run the az monitor data-collection endpoint show command to get the DCE resource ID. For example:az monitor data-collection endpoint show \
--name "<DCE_NAME>" \
--resource-group <RESOURCE_GROUP> \
--subscription <SUBSCRIPTION_ID> \
--query "id"
<WORKSPACE_RESOURCE_ID> with the ID of the Logs Analytics Workspace you created in step 3. Run the az monitor log-analytics workspace show command to get the Workspace resource ID. For example:az monitor log-analytics workspace show \
--workspace-name "<DCE_NAME>" \
--resource-group <RESOURCE_GROUP> \
--subscription <SUBSCRIPTION_ID> \
--query "id"
See CommonSecurityLog Columns for a full list of commonsecuritylog table columns.
az monitor data-collection rule create Azure CLI command to create a DCR with the JSON file you created in the previous step. For example, with the dcr-commonsecuritylog.json example file:az monitor data-collection rule create \
--resource-group "myResourceGroup" \
--location "eastus" \
--name "myCollectionRule" \
--subscription "mysubscription" \
--rule-file "\path\to\json\dcr-commonsecuritylog.json"
MyOPWLogs).Custom- and suffix _CL are automatically appended to the table name. For example, if you defined the table name in Azure to be MyOPWLogs, the full table name is stored as Custom-MyOPWLogs_CL. You must use the full table name when you set up the Observability Pipelines Microsoft Sentinel destination.streamDeclarations.TimeGenerated is required:{
"TimeGenerated": "2024-07-22T11:47:51Z",
"event": {}
}
The table below summarizes the Azure and Microsoft Sentinel information you need when you set up the Observability Pipelines Microsoft Sentinel destination:
| Name | Description |
|---|---|
| Application (client) ID | The Azure Active Directory (AD) application’s client ID. See Register an application in Microsoft Entra ID for more information. Example: 550e8400-e29b-41d4-a716-446655440000 |
| Directory (tenant) ID | The Azure AD tenant ID. See Register an application in Microsoft Entra ID for more information. Example: 72f988bf-86f1-41af-91ab-2d7cd011db47 |
| Table (Stream) Name | The name of the stream which matches the table chosen when configuring the Data Collection Rule (DCR). Note: The full table name can be found in the resource JSON of the DCR under streamDeclarations.Example: Custom-MyOPWLogs_CL |
| Data Collection Rule (DCR) immutable ID | This is the immutable ID of the DCR where logging routes are defined. It is the Immutable ID shown on the DCR Overview page. Note: Ensure the Monitoring Metrics Publisher role is assigned in the DCR IAM settings. Example: dcr-000a00a000a00000a000000aa000a0aaSee Data collection rules (DCRs) in Azure Monitor to learn more about creating or viewing DCRs. |
Set up the Microsoft Sentinel destination when you set up a pipeline. You can set up a pipeline in the UI, using the API, or with Terraform. The steps in this section are configured in the UI.
DD_OP_. For example, if you entered PASSWORD_1 for a password identifier, the environment variable for that password is DD_OP_PASSWORD_1.After you select the Microsoft Sentinel destination in the pipeline UI:
550e8400-e29b-41d4-a716-446655440000.72f988bf-86f1-41af-91ab-2d7cd011db47. This is the Azure AD tenant ID.Custom-MyOPWLogs_CL.dcr-000a00a000a00000a000000aa000a0aa.Toggle the switch to enable Buffering Options. Enable a configurable buffer on your destination to ensure intermittent latency or an outage at the destination doesn’t create immediate backpressure, and allow events to continue to be ingested from your source. Disk buffers can also increase pipeline durability by writing data to disk, ensuring buffered data persists through a Worker restart. See Destination buffers for more information.
These are the defaults used for secret identifiers and environment variables.
https://<DCE-ID>.ingest.monitor.azure.com.DESTINATION_MICROSOFT_SENTINEL_CLIENT_SECRET.550e8400-e29b-41d4-a716-446655440000.DESTINATION_MICROSOFT_SENTINEL_DCE_URI.https://<DCE-ID>.ingest.monitor.azure.com.DD_OP_DESTINATION_MICROSOFT_SENTINEL_DCE_URI550e8400-e29b-41d4-a716-446655440000.DD_OP_DESTINATION_MICROSOFT_SENTINEL_CLIENT_SECRETA batch of events is flushed when one of these parameters is met. See event batching for more information.
| Maximum Events | Maximum Size (MB) | Timeout (seconds) |
|---|---|---|
| None | 10 | 1 |
| |