Automation toolkit for integrating Cribl Stream with Microsoft Azure services. This repository provides PowerShell automation and testing environments for data collection, infrastructure provisioning, and configuration management.
PowerShell automation for Azure Data Collection Rules
- Automated DCR creation for 50+ native Azure tables and custom tables
- Automatic Cribl Stream destination configuration export
- Supports Direct DCRs (30-char limit) and DCE-based DCRs (64-char limit)
- Interactive menu interface with non-interactive CI/CD mode
- Name abbreviation intelligence for Azure limits
- Quick Start Guide
Pre-built ARM templates for manual deployment
- 100+ ready-to-deploy ARM templates for Sentinel native tables
- DCE and non-DCE configurations
- SecurityEvent, CommonSecurityLog, DeviceEvents, ASim tables, and more
Lab environment for Azure Flow Log testing and development
- VNet with dual-level flow logging (vNet-level + subnet-level)
- VPN Gateway for site-to-site VPN connectivity
- Test VM deployment with auto-shutdown schedules
- Automatic Cribl collector configuration generation
Lookup tables and enrichment data for Cribl Stream
- Static lookup tables for data enrichment
- Dynamic lookups with Active Directory integration (Python-based LDAP)
- Reference data for log processing workflows
cd Azure/CustomDeploymentTemplates/DCR-Automation
.\Run-DCRAutomation.ps1See DCR-Automation Quick Start
Browse templates in Azure/CustomDeploymentTemplates/DCR-Templates/
cd Azure/Labs/AzureFlowLogLab
.\Run-AzureFlowLogLab.ps1- Azure subscription with Log Analytics workspace
- PowerShell 5.1+ with Azure modules (Az.Accounts, Az.Resources, Az.OperationalInsights)
- Cribl Stream instance (4.14+ for Direct DCRs)
- Azure AD app registration (for Cribl authentication)
- Automated DCR Creation: PowerShell scripts to simplify DCR deployments
- Cribl Integration: Auto-generates Cribl Stream source and destination configurations
- Template Library: Pre-built ARM templates for common scenarios
- Multi-Mode Support: Direct DCRs (simple) or DCE-based (advanced routing)
- Testing Environments: Lab environments for development and testing
- Menu-Driven Interfaces: Interactive menus with non-interactive CI/CD modes
- Configuration-Driven: JSON-based configuration files separate from code
All major components follow consistent design patterns:
- Interactive Menu Pattern:
Run-*.ps1main entry points with menu interfaces - Configuration-Driven Design: Separate
azure-parameters.jsonandoperation-parameters.jsonfiles - Template-Based Generation: Automated generation of ARM templates and Cribl configurations
- Modular Script Design: Helper functions and reusable components
- Documentation-First Approach: Comprehensive README, Quick Start, and Architecture guides
- DCR-Automation README - Detailed DCR automation
- Cribl Destinations Guide - Cribl configuration details
- Custom Tables Guide - Creating custom table schemas
- Active Directory Lookups Guide - Dynamic AD lookup integration
- Azure Monitor Migration - Migration guidance
- Private Link Configuration - Detailed Private Link setup
- O365 App Registration - Office 365 app setup
- CLAUDE.md - Comprehensive project guidance and architecture (for AI assistants)
- PROJECT_REVIEW_2025-10-27.md - Detailed project review
PowerShell: 5.1+
- Az.Accounts, Az.Resources, Az.OperationalInsights, Az.EventHub, Az.Monitor
Infrastructure-as-Code:
- ARM Templates (Azure)
Cloud Platform:
- Microsoft Azure
Integrations:
- Cribl Stream 4.14+
- Microsoft Sentinel
- Azure Log Analytics
- Azure Event Hub
- Azure Data Explorer
- Active Directory (LDAP)
- Azure AD credentials managed via app registrations
- Role-based access control (RBAC) for all cloud resources
- Secure credential storage recommendations in documentation
- Never commit real credentials to version control
- Support for Cribl secrets management
The main branch is protected - all changes must come through pull requests.
feature/- New features or enhancementsfix/- Bug fixesdocs/- Documentation updatesrefactor/- Code refactoringtest/- Test additions or updates
- Use present tense verbs ("Add" not "Added")
- Keep first line under 50 characters
- Be descriptive and specific
See CONTRIBUTORS.md for contribution guidelines.
Before submitting changes:
- Test thoroughly in lab/development environments first
- Test with both Direct and DCE-based configurations (for Azure DCR changes)
- Verify configuration files are valid JSON
- Update documentation for new features
- Follow existing architecture patterns
MIT License - see LICENSE file.
- Documentation: Start with Quick Start guides for each component
- Issues: Create an issue in the repository
- Questions: Check component-specific README files for troubleshooting sections
Getting Started?
- For Azure Log Analytics ingestion: DCR-Automation Quick Start
- For testing and development: Azure Flow Log Lab