Prerequisites
- Create an Axiom account.
- Create a dataset in Axiom where you send your data.
- Create an API token in Axiom with permissions to ingest data to the dataset you have created.
Architecture overview
The integration uses the following components:- Microsoft Entra ID generates audit and sign-in logs
- Azure Event Hub receives logs from Entra ID diagnostic settings
- Filebeat with Azure Event Hub input reads from Event Hub and sends to Axiom
Prerequisites
Before you begin, ensure you have:- An active Azure subscription with Microsoft Entra ID
- Permissions to configure diagnostic settings in Entra ID
- An Azure Event Hub namespace and Event Hub
- An Azure Storage Account for Filebeat checkpointing
- Filebeat installed on a server or container
Step 1: Create Azure Event Hub
- In the Azure Portal, go to Event Hubs.
- Click Create to create a new Event Hub namespace.
- Fill in the required details:
- Subscription: Select your subscription
- Resource group: Create or select a resource group
- Namespace name: Choose a unique name
- Location: Select your preferred region
- Pricing tier: Select appropriate tier (Basic, Standard, or Premium)
- Click Review + create, then Create.
- Once the namespace is created, go to the namespace and click + Event Hub to create a new Event Hub.
- Name your Event Hub (for example,
entra-logs) and click Create.
Step 2: Create shared access policy
- In your Event Hub namespace, go to Shared access policies.
- Click + Add to create a new policy.
- Name the policy (for example,
filebeat-policy). - Select the Listen permission.
- Click Create.
- Click on the newly created policy and copy the Connection string-primary key. You’ll need this for Filebeat configuration.
Step 3: Create Azure Storage Account
Filebeat requires an Azure Storage Account to store checkpoints, ensuring it doesn’t re-read events after a restart.- In the Azure Portal, go to Storage accounts.
- Click Create and fill in the required details:
- Storage account name: Choose a unique name
- Region: Same as your Event Hub
- Performance: Standard
- Redundancy: Select appropriate option (LRS is sufficient for checkpointing)
- Click Review + create, then Create.
- Once created, go to Access keys and copy the Storage account name and Key.
Step 4: Configure Entra ID diagnostic settings
- In the Azure Portal, go to Microsoft Entra ID.
- In the left menu, click Diagnostic settings.
- Click + Add diagnostic setting.
- Configure the setting:
- Name: Give it a descriptive name (for example,
send-to-event-hub) - Logs: Select the log categories you want to send:
- AuditLogs: Administrative activities
- SignInLogs: User sign-in activities
- NonInteractiveUserSignInLogs: Service principal sign-ins
- ServicePrincipalSignInLogs: Managed identity sign-ins
- Destination details: Check Stream to an event hub
- Event hub namespace: Select your Event Hub namespace
- Event hub name: Select your Event Hub
- Event hub policy name: Select the policy you created
- Name: Give it a descriptive name (for example,
- Click Save.
Step 5: Configure Filebeat
Create or edit yourfilebeat.yml configuration file:
Replace
AXIOM_DOMAIN with api.axiom.co if your organization uses the US region. For more information, see Regions.Replace API_TOKEN with the Axiom API token you have generated. For added security, store the API token in an environment variable.Replace DATASET_NAME with the name of the Axiom dataset where you send your data.Replace the following placeholders:YOUR_NAMESPACE: Your Event Hub namespace nameYOUR_POLICY: Your shared access policy nameYOUR_KEY: Your shared access policy keyYOUR_STORAGE_ACCOUNT_NAME: Your storage account nameYOUR_STORAGE_ACCOUNT_KEY: Your storage account key
Step 6: Start Filebeat
Start Filebeat to begin collecting logs:Verify data in Axiom
- Go to the Axiom app and navigate to the Datasets tab.
- Select your dataset.
- You should see Microsoft Entra ID logs appearing with fields such as:
operationName: The operation performedcategory: Log category (AuditLogs, SignInLogs, etc.)identity: User or service principal identityproperties: Detailed log propertiestime: Timestamp of the event
Alternative: Using Vector
You can also use Vector instead of Filebeat. Here’s a sample Vector configuration:Replace
API_TOKEN with the Axiom API token you have generated. For added security, store the API token in an environment variable.Replace DATASET_NAME with the name of the Axiom dataset where you send your data.Troubleshooting
No logs appearing in Axiom
- Verify that diagnostic settings are enabled in Entra ID
- Check that the Event Hub is receiving events in the Azure Portal
- Ensure Filebeat is running without errors (
filebeat -e -c filebeat.yml) - Verify the connection string and storage account credentials are correct
Filebeat checkpoint errors
- Ensure the storage account container exists (Filebeat creates it automatically if it has permissions)
- Verify the storage account key is correct
- Check that the storage account is in the same region as the Event Hub for better performance
High latency
- Microsoft Entra ID diagnostic settings can have a delay of 5-15 minutes before logs appear in Event Hub
- Consider using a higher Event Hub tier for better throughput
- Ensure Filebeat has sufficient resources (CPU and memory)
Cost considerations
- Event Hub: Charged based on throughput units and message ingestion
- Storage Account: Minimal cost for checkpoint storage
- Data transfer: Egress charges may apply depending on your Azure region