Blob Storage To OTel: Microsoft Azure Resource Manager (ARM)
Coralogix provides a seamless integration with Azure cloud, allowing you to send your logs from anywhere and parse them according to your needs.
The Azure Blob Storage To OTel integration allows parsing of Azure Blobs, triggered by an EventHub subscription, and sending the data to OTel endpoint. This function serves as a solution for the limitation of azureblobreceiver in OpenTelemetry Collector, as it can't process non-JSON logs (see this issue).
Notes:
-
This integration only supports whole log processing. It does not support tail functionality.
-
It does not monitor for changes to log files.
Prerequisites
-
Azure account with an active subscription
-
Storage account where logs are stored with event notifications configured with EventHub as a destination.
-
An OTel collector endpoint (available for the function app to reach).
-
[Optional] vNet network with a subnet for the function app if you are using a Premium App Service Plan.
Azure Resource Manager Template Deployment
Sign into your Azure account and deploy the Blob Storage via Event Grid trigger integration by clicking here.
Fields
Required
Field | Description |
---|---|
OTel Endpoint | The OTLP endpoint URL (example: https://my-api-endpoint:443) |
Event Hub Namespace | The name of the Event Hub namespace |
Event Hub Name | The name of the Event Hub to be used as a trigger for the function app |
Event Hub Resource Group | The resource group name of the Event Hub namespace |
Storage Account Name | The name of the storage account containing the logs to be monitored |
Storage Account Resource Group | The resource group name of the storage account containing the Blob container to be monitored |
Optional
Field | Description |
---|---|
Coralogix Direct Mode | Whether to use Coralogix as an OTLP endpoint (default: false) |
Coralogix API Key | Your Coralogix Send Your Data - API Key. Used in case of using Coralogix as an OTLP endpoint |
Coralogix Application | The name of the Application in Coralogix |
Coralogix Subsystem | The name of the Subsystem in Coralogix |
Newline Pattern | The newline pattern expected within the blob storage documents |
Prefix Filter | The prefix filter to apply to the blob container. Use 'NoFilter' to not filter by prefix. Wildcards are not allowed. Use the following format /subfolder1/subfolder2/ |
Suffix Filter | The suffix filter to apply to the blob container. Use 'NoFilter' to not filter by suffix. Wildcards are not allowed. Use the following format .log |
Function App Service Plan Type | The type of the Function App Service Plan. Choose Premium if you need vNet Support |
Virtual Network Name | The name of the Virtual Network to integrate with (leave empty if VNet integration is not needed) |
Subnet Name | The name of the subnet to integrate with (leave empty if VNet integration is not needed) |
Virtual Network Resource Group | The resource group name of the Virtual Network (leave empty if VNet integration is not needed) |
vNet Integration Notes
- The function app will be deployed to a Premium plan and will be integrated with the specified vNet.
- The subnet must be delegated to
Microsoft.Web/serverFarms
. Here is an example of how to delegate a subnet:
az network vnet subnet update --name <subnet-name> --vnet-name <vnet-name> --resource-group <resource-group-name> --delegations Microsoft.Web/serverFarms
UI workflow:
Additional Resources
Github | Blob Storage Documentation |
Microsoft Azure Functions | Event Hub Queue Storage |
Support
Need help?
Our world-class customer success team is available 24/7 to walk you through your setup and answer any questions that may come up.
Feel free to reach out to us via our in-app chat or by sending us an email at [email protected].