This repository contains the Python code and instructions to ship logs from your Azure services to Logz.io using an Azure Function. After completing the setup, your Azure Function will forward logs from an Azure Event Hub to your Logz.io account.
Setting up Log Shipping from Azure 1. Deploy the Logz.io Python Template👇This deployment will create the following services:
Use these settings when configuring the template:
Parameter Description Resource group* Create a new resource group or select an existing one. Region* Select the region closest to your Azure services. LogzioURL* Use the listener URL specific to your Logz.io account region. LogzioToken* Your Logz.io logs shipping token. ThreadCount Number of threads for the Function App (default: 4). bufferSize Maximum number of messages to accumulate before sending (default: 100). intervalTime Interval time for sending logs in milliseconds (default: 10000). maxTries The maximum number of retries for the backoff mechanism (default: 3). logType The type of the logs being processed (default: eventHub).*Required fields.
After setting the parameters, click Review + Create, and then Create to deploy.
3. Stream Azure Service DataConfigure your Azure services to stream logs to the newly created Event Hub. For each service:
For more details, see Microsoft's documentation.
4. Verify Data Reception in Logz.ioAllow some time for data to flow from Azure to Logz.io, then check your Logz.io account. You should see logs of the type eventHub
in Logz.io.
The deployment includes a backup mechanism for logs that fail to ship to Logz.io. By default, these logs are stored in the failedlogbackup blob container, but this can be customized to a different container name of your choice during the setup process.
Post-Deployment ConfigurationTo modify configuration after deployment, visit your Function App's Configuration tab. You can adjust settings such as LogzioURL
, LogzioToken
, bufferSize
, and more.
As an alternative to the Azure Template, you can use Terraform to set up your log shipping environment. The Terraform configuration files are located in the deployments folder of this repository. Follow the instructions below to deploy this integration using Terraform.
Obtain the Terraform Configuration: Use curl to download only the azuredeploylogs.tf and variables.tf files from the GitHub repository.
curl -O https://raw.githubusercontent.com/logzio/azure-serverless/master/deployments/azuredeploylogs.tf \ && curl -O https://raw.githubusercontent.com/logzio/azure-serverless/master/deployments/variables.tf
Create a .tfvars
File: Create a terraform.tfvars
file in the same folder to specify your configurations, such as your Logz.io token.
logzio_url = "https://<<LISTENER-HOST>>:8071" logzio_token = "<<LOG-SHIPPING-TOKEN>>" thread_count = 4 buffer_size = 100 interval_time = 10000 max_tries = 3 log_type = "eventHub"
Initialize Terraform: Run the Terraform initialization to install the necessary plugins.
Apply Terraform Configuration: Deploy the infrastructure using terraform apply
. You will be prompted to review the proposed changes before applying the configuration.
Type yes when prompted to confirm the deployment.
Verify Deployment: After successful application of the Terraform configuration, your Azure services will be set up and ready for log shipping.
ENV_FUNCTION_VERSION
parameter for dynamic versioning in ARM template and Terraform.RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4