Skip to content

A collection of Azure functions to collect data and send to Sumo Logic cloud service

License

Notifications You must be signed in to change notification settings

SumoLogic/sumologic-azure-function

Repository files navigation

Sumo Logic Azure Functions Build Status

Introduction

This repository contains a collection of Azure functions to collect data and send to Sumo Logic cloud service, and a library called sumo-function-utils for these functions.

Following integrations are present. For more info look at their respective ReadMe files.

FunctionName Description Collection Use Cases Setup Documentation
Sumo Logic Azure Event Hub Integration for Metrics This solution creates a data pipeline for collecting metrics from Eventhub. Azure SQL App Collect Metrics from Azure Monitor
Sumo Logic Azure Event Hub Integration for Logs This solution creates a data pipeline for collecting logs from Eventhub. This solution is deprecated, use Azure Event Hubs Source for Logs
Sumo Logic Azure Blob Storage Integration (block blobs) This solution event-based pipeline for shipping monitoring data from Azure Blob Storage (stored as block blobs) to an HTTP source on Sumo Logic. This is used for apps which do not support exporting to Eventhub and are stored as block blob type. Azure Network Watcher Collect Logs from Azure Blob Storage (Block Blobs)
Sumo Logic Azure Blob Storage Integration (append blobs) This solution event-based pipeline for shipping monitoring data from Azure Blob Storage (stored as append blobs) to an HTTP source on Sumo Logic. This is used for apps which do not support exporting to Eventhub and are stored as append blob type, for example custom application logs Collect Logs from Azure Blob Storage (Append Blobs)

For Developers

Each integration is structured in three folders

  • src/ - contains actual source files
  • target/ - directory used by azure's github integration to fetch source code
  • tests/ - contains integration tests

Important Points

  • WEBSITE_CONTENTAZUREFILECONNECTIONSTRING is required for Consumption and Elastic Premium plan apps running on both Windows and Linux. Although we have included it dedicated plan as well in case users want to switch the plan. docs
  • All the functions use Windows based plans because Linux based plans do not support source control. docs
  • When using WEBSITE_RUN_FROM_PACKAGE = , Function apps running on Windows experience a slight increase in cold start time and you must also manually sync triggers after you publish an updated package. docs
  • When running your functions from a zip package file in Azure, only zip files are currently supported and files become read-only in the Azure portal, so update & rebuild them (using create_zip.sh) before deploying. docs
  • Currently the zip files contains all the packages, and Kudu assumes by default that deployments from zip files are ready to run and do not require additional build steps during deployment, such as npm install. This can be overridden by setting the SCM_DO_BUILD_DURING_DEPLOYMENT deployment setting to true. docs
  • You can scale dedicated plans and apps by changing the capacity and numberOfWorkers setting. docs
  • Function apps running on Version 1.x of the Azure Functions runtime will reach the end of life (EOL) for extended support on September 14, 2026.

Release

Releasing appdev package

The new zip package gets released automatically after the tags are pushed using Github actions(Refer tagged-release in https://github.com/marvinpinto/action-automatic-releases).

Run below commands to create and push tags

 git tag -a v<major.minor.patch> <commit_id>

 git push origin v<major.minor.patch>

TLS 1.2 Requirement

Sumo Logic only accepts connections from clients using TLS version 1.2 or greater. To utilize the content of this repo, ensure that it's running in an execution environment that is configured to use TLS 1.2 or greater.