Strata Logging Service
Forward Logs to Microsoft Sentinel
Table of Contents
Expand All
|
Collapse All
Strata Logging Service Docs
Forward Logs to Microsoft Sentinel
Learn how to forward logs from Strata Logging Service to a Microsoft Sentinel
(Log Ingestion API).
| Where Can I Use This? | What Do I Need? |
|---|---|
| One of these:
|
Configure Strata Logging Service to forward logs to Microsoft Sentinel using
the Azure Monitor Log Ingestion API. This method replaces the legacy Data Collector
API.
- To authenticate SLS API calls to Azure, you must provision a service principal. Reference the Microsoft documentation to Create an Azure Entra ID Service Principal and obtain a client secret.The App Registration requires permissions to push data into Azure Monitor. You can apply this role to the Data Collection Rule (DCR) or at the Resource Group level. Reference the Microsoft documentation to Assign Azure roles using the Azure portal.The Data Collection Endpoint (DCE) serves as the ingestion URL for incoming logs. You can use the default DCE provided by the DCR or create a custom endpoint. Reference: Data collection endpoints in Azure Monitor.Create the Custom Log Analytics Table: When integrating with Azure Log Analytics, you must account for naming restrictions. Azure Log Analytics tables do not support hyphens in column names. To ensure successful data ingestion:
- Define the Schema: Use underscores instead of hyphens when defining your table (for example, use X_Forwarded_ForIP instead of X-Forwarded-ForIP).Map the Data: Use a KQL transform to map the incoming field from the log forwarder to the supported table column.Example KQL Transform:source | extend X_Forwarded_ForIP = ['X-Forwarded-ForIP'] | project-away ['X-Forwarded-ForIP']Create a Data Collection Rule: The Data Collection Rule (DCR) processes the pipeline by mapping incoming JSON data to the Sentinel table.Configure Schema and Transformation: Apply transformations to incoming traffic before the data is stored in the tables.Example Transformation:"source | extend TimeGenerated = todatetime(TimeGenerated) | extend TimeReceived = todatetime(TimeReceived) | extend X_Forwarded_ForIP = tostring(['X-Forwarded-ForIP']) | extend SessionID = tostring(SessionID) | extend SourcePort = tostring(SourcePort) | extend DestinationPort = tostring(DestinationPort)", "outputStream": "Custom-PaloAltoTraffic_CL"Configure the Log Forwarding Profile: In the Strata Logging Service console, map the Azure credentials as follows:
SLS Field Azure Value URL (Destination) https://<DCE-Name>.<Region>.ingest.monitor.azure.com/dataCollectionRules/<DCR-Immutable-ID>/streams/<target_table>?api-version=2023-01-01 MS Tenant ID App Registration Directory ID Client Request ID App Registration Application ID Client Secret App Registration Secret Value Token Endpoint https://login.microsoftonline.com/<TENANT_ID>/oauth2/v2.0/token Scope https://monitor.azure.com/.default Migrate from Data Collector API (Legacy)
The Azure Monitor HTTP Data Collector API retires September 14, 2026. If you use the legacy data sink, you must update your authorization to use DCRs.For more reference, please see the migration guide from Microsoft.If you have an existing custom table:- Migrate the table to ingest data into the same table using the Log Ingestion API.Create a new table to ingest data using the Log Ingestion API and delete the legacy table after verification.
Technical Considerations - Case Sensitivity — Column names must exactly match the defined schema.
- Required Fields — The TimeGenerated field (datetime) is mandatory for all tables.
- Schema Enforcement — Azure drops any fields not explicitly declared in the table schema.
- Ingestion Confirmation — An HTTP 204 response from the DCE confirms receipt of data but does not guarantee successful ingestion into the table.
- Data Types — Format boolean fields as JSON true or false. Define hexadecimal strings (e.g., Flags, ActionFlags) as strings.
Palo Alto Field Type Examples Azure Data Type Notes Time/Date receive_time, time_generateddatetime Identifiers/IPs src, dst, rule, sessionidstring Counts/Bytes bytes, packets, repeatcntlong Recommended for high-volume traffic. Ports sport, dportint