Enable Logic Apps Logging in Azure
Monitoring needs only the Azure REST API, but Logging Logic Apps and failed-run monitoring need Azure to stream each run's events to the Nodinite Azure Logic Apps Logging and Monitoring Agent. That stream is three pieces you set up in Azure: a Diagnostic setting on every Logic App, an Event Hub that carries the events, and a Storage Container where the agent keeps its read position. Get them right once, and every new Logic App only needs its Diagnostic setting. This page is part of the Prerequisites; the roles the agent needs on these resources are in Azure Access and Roles.
What to set up
To log to Nodinite from your Logic Apps, set up the following in the Azure portal, or script it with the ARM Template in your build and deployment process.
- Diagnostic setting on each Logic App (see Supported Logic App types for where), with the
WorkflowRuntimelog category and an Event Hub as destination. LeaveAllMetricsdisabled. - Event Hub that receives the diagnostics. The agent can read many Event Hubs at the same time.
- Storage Container for the checkpoint, the agent's read position in the Event Hub stream. Event Hubs only support client-side checkpointing.
Important
Use one unique Storage Container per Event Hub. Two Event Hubs sharing a container overwrite each other's checkpoint, and Logging stops working correctly.
Event Hub Entity
The Event Hub is the destination of the Logic Apps Diagnostic settings. Match every Event Hub that a Diagnostic setting sends to with an entry in the agent's Event Hubs tab.
- Use one or more dedicated Event Hubs for Logic Apps diagnostics.
Important
If you also use diagnostic logging for other Azure resources, such as API Management, use different Event Hubs for each type of resource.
- The Event Hub must be in the same region as the Logic Apps that send to it (Microsoft: Diagnostic settings destinations).
- The Event Hub can be in a different subscription than your Logic Apps; map it in Configure Event Hubs.
- Keep the number of Event Hubs small: many Diagnostic settings can share one Event Hub.
- Use at least 2 partitions.
Important
For high volume solutions (more than 2,000,000 events per day), you might need to re-create the Event Hub with 4 or more partitions.
- Set the retention to cover your longest expected agent outage; Configure Event Hubs covers tiers and cost.

Example of an Azure Event Hub entity used for Azure Logic Apps Logging.

Details about the Azure Event Hub entity.

The Event Hub properties show that data arrives regularly.
Additional comments about the Event Hub
Logic Apps diagnostics need their own Event Hubs:
with Serilog Logging"] --- C1("Serilog Event Hub Sink") A["Azure API Management Service API
with Policy"] --- A1("Policy") B["Azure Logic App
with the diagnostic setting"] end subgraph "Event Hub" A1 -->|"1. Nodinite JSON Log Event"| AA("EH1") C1 -->|"1. Nodinite JSON Log Event"| AA C1 -.- CC("EH2") B -->|"2. Azure Diagnostics log"| BB("EH3") end
Diagram: (1) Logging from Azure Functions and API Management can share an Event Hub when the content is a Nodinite JSON Log Event, read by the Pickup Log Events Service Logging Agent. (2) Logic Apps diagnostics use another format and need their own Event Hubs.
Tip
Use separate Event Hubs per purpose. A shared Event Hub saves administration, but can cost performance and complicates pricing, scaling, retention, and partitions; see Azure Costs for Blob Storage and Event Hub.