A comprehensive web-based tool for migrating System Center Operations Manager (SCOM) Management Packs to Azure Monitor. Upload your SCOM MP XML files and get instant analysis, migration recommendations, and deployable ARM templates.
No installation required - just upload your Management Pack XML and get results instantly.
We'd love to hear from you! This is a community-driven project.
- π‘ Share Ideas & Feedback - Join the discussion
- π Report Issues - Bug reports and feature requests
- β Star the Repo - Show your support!
| Feature | Description |
|---|---|
| π Instant Analysis | Upload SCOM MP XML files and get migration readiness scores |
| π― Smart Recommendations | Intelligent mapping of SCOM components to Azure Monitor equivalents |
| π ARM Templates | Auto-generate deployable Azure Resource Manager templates |
| π KQL Queries | Generate Log Analytics queries for your monitoring scenarios |
| π₯ Multiple Exports | Download ARM templates, DCR templates, or CSV reports |
| π Secure | Files processed in Azure Functions, no data stored |
- Go to https://icy-wave-02c4e6b03.2.azurestaticapps.net
- Drag & drop your SCOM Management Pack XML file
- Review the migration analysis and recommendations
- Download ARM templates and deploy to Azure
# Install
pip install -e .
# Analyze a Management Pack
scom-migrator analyze your-management-pack.xml --format markdown
# Generate ARM templates
scom-migrator generate your-management-pack.xml --output-dir ./migration| SCOM Component | Azure Monitor Equivalent |
|---|---|
| Unit Monitors | Log Analytics Scheduled Query Alerts |
| Performance Rules | Data Collection Rules (DCR) + Perf counters |
| Event Rules | DCR + Windows Event collection |
| Service Monitors | Event ID 7036 alerts (Service Control Manager) |
| Script Monitors | Azure Functions / Automation Runbooks |
| Discoveries | Azure Resource Graph / VM Insights |
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β SCOM MP XML β βββΆ β Parser/Mapper β βββΆ β ARM Templates β
β (Upload) β β (Analysis) β β (Download) β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β Recommendations β
β + KQL Queries β
βββββββββββββββββββ
Tech Stack:
- Frontend: HTML5, Bootstrap 5, Vanilla JavaScript
- Backend: Python 3.10+, Flask, Azure Functions
- Hosting: Azure Static Web Apps
- Security: defusedxml (XXE protection), XSS escaping
After downloading the ARM templates:
- Go to Azure Portal β Deploy a custom template
- Click "Build your own template in the editor"
- Paste the downloaded ARM template
- Fill in parameters and deploy
az deployment group create \
--resource-group YourResourceGroup \
--template-file azuredeploy.json \
--parameters workspaceName=your-workspace actionGroupEmail=alerts@company.comNew-AzResourceGroupDeployment `
-ResourceGroupName "YourResourceGroup" `
-TemplateFile "azuredeploy.json" `
-workspaceName "your-workspace"# Clone the repo
git clone https://github.com/osalzberg/scom-migrator.git
cd scom-migrator
# Create virtual environment
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# Install dependencies
pip install -e ".[dev]"
# Run the web server locally
python run_web.pyscom-migrator/
βββ frontend/ # Web UI (HTML/JS/CSS)
β βββ index.html # Main migration tool
β βββ portfolio.html # Project showcase
βββ api/ # Azure Functions API
β βββ scom_migrator/ # Core Python package
βββ src/ # CLI version
βββ samples/ # Sample MP files for testing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- SCOM MP Builder - Create SCOM Management Packs without XML knowledge
- Azure Monitor Documentation
Oren Salzberg
- GitHub: @osalzberg
- Project Portfolio: View All Tools
Built with β€οΈ for the Azure & SCOM community