|
1 | 1 | <mxfile host="app.diagrams.net" modified="2026-05-05" agent="azurelocal-scom-mp" version="24.0.0"> |
2 | 2 | <diagram id="azure-monitor-entity-graph" name="Azure Monitor Entity Graph"> |
3 | | - <!-- |
4 | | - STUB — Azure Local Azure Monitor Health Model Entity Graph |
5 | | - =========================================================== |
6 | | - Design intent (from PLAN.md): |
7 | | - Root Entity (Generic — Azure Local Workload) |
8 | | - → Cluster Entity (Generic) |
9 | | - → Node 1..N (Azure Resource) |
10 | | - → VM 1..N (Azure Resource) |
11 | | - → Storage Pool (Azure Resource) |
12 | | - → Volume 1..N (Azure Resource) |
13 | | - → Network Intent (Generic) |
14 | | - → NIC / RDMA Adapter 1..N (Generic) |
15 | | - → Arc Agent (Azure Resource) |
16 | | - |
17 | | - Entity types: |
18 | | - Root: blue diamond (#0078D4) |
19 | | - Generic entity: blue rect (#004B8D) |
20 | | - Azure resource: grey rect (#F0F0F0) |
21 | | - |
22 | | - Signal types: |
23 | | - Azure Resource metrics (CPU, memory, disk, storage health) |
24 | | - Log Analytics KQL (Arc heartbeat, NIC RDMA state) |
25 | | - |
26 | | - Health state colours: |
27 | | - Healthy: #107C41 |
28 | | - Degraded: #FFB900 |
29 | | - Unhealthy: #D13438 |
30 | | - Unknown: #8A8886 |
31 | | - |
32 | | - See diagrams/mermaid/azure-monitor-entity-graph.md for the Mermaid version. |
33 | | - Open this file in draw.io (app.diagrams.net) to build the full diagram. |
34 | | - --> |
| 3 | + <mxGraphModel dx="1422" dy="762" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1654" pageHeight="1169" math="0" shadow="0"> |
| 4 | + <root> |
| 5 | + <mxCell id="0" /> |
| 6 | + <mxCell id="1" parent="0" /> |
| 7 | + |
| 8 | + <!-- ===== LEGEND ===== --> |
| 9 | + <mxCell id="leg0" value="LEGEND" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontStyle=1;fontSize=10;" vertex="1" parent="1"><mxGeometry x="20" y="20" width="80" height="20" as="geometry" /></mxCell> |
| 10 | + <mxCell id="leg1" value="L1 Entity (Generic)" style="rounded=1;whiteSpace=wrap;fillColor=#004B8D;strokeColor=none;fontColor=#ffffff;fontSize=9;" vertex="1" parent="1"><mxGeometry x="20" y="46" width="140" height="24" as="geometry" /></mxCell> |
| 11 | + <mxCell id="leg2" value="L2 Entity (Azure Resource)" style="rounded=1;whiteSpace=wrap;fillColor=#0072C6;strokeColor=none;fontColor=#ffffff;fontSize=9;" vertex="1" parent="1"><mxGeometry x="170" y="46" width="170" height="24" as="geometry" /></mxCell> |
| 12 | + <mxCell id="leg3" value="L2 Entity (Generic)" style="rounded=1;whiteSpace=wrap;fillColor=#0E6B37;strokeColor=none;fontColor=#ffffff;fontSize=9;" vertex="1" parent="1"><mxGeometry x="350" y="46" width="140" height="24" as="geometry" /></mxCell> |
| 13 | + <mxCell id="leg4" value="L3 Entity (Azure Resource)" style="rounded=1;whiteSpace=wrap;fillColor=#7719AA;strokeColor=none;fontColor=#ffffff;fontSize=9;" vertex="1" parent="1"><mxGeometry x="500" y="46" width="170" height="24" as="geometry" /></mxCell> |
| 14 | + |
| 15 | + <!-- ===== ROW 0: Service Group ===== --> |
| 16 | + <mxCell id="sg" value="Azure Local Service Group" style="rounded=1;whiteSpace=wrap;fillColor=#0078D4;strokeColor=#005A9E;fontColor=#ffffff;fontStyle=1;fontSize=12;" vertex="1" parent="1"><mxGeometry x="627" y="100" width="300" height="55" as="geometry" /></mxCell> |
| 17 | + |
| 18 | + <!-- ===== ROW 1: L1 Cluster ===== --> |
| 19 | + <mxCell id="cl" value="AzureLocal.Cluster
Generic — microsoft.azurestackhci/clusters" style="rounded=1;whiteSpace=wrap;fillColor=#004B8D;strokeColor=#003771;fontColor=#ffffff;fontStyle=1;fontSize=10;" vertex="1" parent="1"><mxGeometry x="577" y="230" width="300" height="55" as="geometry" /></mxCell> |
| 20 | + <mxCell id="e0" style="edgeStyle=orthogonalEdgeStyle;" edge="1" source="sg" target="cl" parent="1"><mxGeometry relative="1" as="geometry" /></mxCell> |
| 21 | + |
| 22 | + <!-- ===== ROW 2: L2 Entities ===== --> |
| 23 | + <mxCell id="nd" value="AzureLocal.Node
Azure Resource
.azurestackhci/clusters/nodes" style="rounded=1;whiteSpace=wrap;fillColor=#0072C6;strokeColor=#005A9E;fontColor=#ffffff;fontSize=9;" vertex="1" parent="1"><mxGeometry x="60" y="380" width="170" height="56" as="geometry" /></mxCell> |
| 24 | + <mxCell id="sp" value="AzureLocal.StoragePool
Generic
PowerShell-sourced" style="rounded=1;whiteSpace=wrap;fillColor=#0E6B37;strokeColor=#0B5730;fontColor=#ffffff;fontSize=9;" vertex="1" parent="1"><mxGeometry x="250" y="380" width="160" height="56" as="geometry" /></mxCell> |
| 25 | + <mxCell id="ni" value="AzureLocal.NetworkIntent
Generic
PowerShell-sourced" style="rounded=1;whiteSpace=wrap;fillColor=#0E6B37;strokeColor=#0B5730;fontColor=#ffffff;fontSize=9;" vertex="1" parent="1"><mxGeometry x="430" y="380" width="160" height="56" as="geometry" /></mxCell> |
| 26 | + <mxCell id="ust" value="AzureLocal.UpdateState
Generic
.azurestackhci/clusters/updates" style="rounded=1;whiteSpace=wrap;fillColor=#0E6B37;strokeColor=#0B5730;fontColor=#ffffff;fontSize=9;" vertex="1" parent="1"><mxGeometry x="610" y="380" width="160" height="56" as="geometry" /></mxCell> |
| 27 | + <mxCell id="rbr" value="AzureLocal.ResourceBridge
Azure Resource
microsoft.resourceconnector/appliances" style="rounded=1;whiteSpace=wrap;fillColor=#0072C6;strokeColor=#005A9E;fontColor=#ffffff;fontSize=9;" vertex="1" parent="1"><mxGeometry x="790" y="380" width="170" height="56" as="geometry" /></mxCell> |
| 28 | + <mxCell id="dcma" value="AzureLocal.DCMA
Azure Resource
VM extension" style="rounded=1;whiteSpace=wrap;fillColor=#0072C6;strokeColor=#005A9E;fontColor=#ffffff;fontSize=9;" vertex="1" parent="1"><mxGeometry x="970" y="380" width="150" height="56" as="geometry" /></mxCell> |
| 29 | + <mxCell id="hcir" value="AzureLocal.HCIRegistration
Azure Resource
Arc registration" style="rounded=1;whiteSpace=wrap;fillColor=#0072C6;strokeColor=#005A9E;fontColor=#ffffff;fontSize=9;" vertex="1" parent="1"><mxGeometry x="1130" y="380" width="160" height="56" as="geometry" /></mxCell> |
| 30 | + |
| 31 | + <!-- Cluster → L2 edges --> |
| 32 | + <mxCell id="e1" style="edgeStyle=orthogonalEdgeStyle;" edge="1" source="cl" target="nd" parent="1"><mxGeometry relative="1" as="geometry" /></mxCell> |
| 33 | + <mxCell id="e2" style="edgeStyle=orthogonalEdgeStyle;" edge="1" source="cl" target="sp" parent="1"><mxGeometry relative="1" as="geometry" /></mxCell> |
| 34 | + <mxCell id="e3" style="edgeStyle=orthogonalEdgeStyle;" edge="1" source="cl" target="ni" parent="1"><mxGeometry relative="1" as="geometry" /></mxCell> |
| 35 | + <mxCell id="e4" style="edgeStyle=orthogonalEdgeStyle;" edge="1" source="cl" target="ust" parent="1"><mxGeometry relative="1" as="geometry" /></mxCell> |
| 36 | + <mxCell id="e5" style="edgeStyle=orthogonalEdgeStyle;" edge="1" source="cl" target="rbr" parent="1"><mxGeometry relative="1" as="geometry" /></mxCell> |
| 37 | + <mxCell id="e6" style="edgeStyle=orthogonalEdgeStyle;" edge="1" source="cl" target="dcma" parent="1"><mxGeometry relative="1" as="geometry" /></mxCell> |
| 38 | + <mxCell id="e7" style="edgeStyle=orthogonalEdgeStyle;" edge="1" source="cl" target="hcir" parent="1"><mxGeometry relative="1" as="geometry" /></mxCell> |
| 39 | + |
| 40 | + <!-- ===== StoragePool children ===== --> |
| 41 | + <mxCell id="vol" value="AzureLocal.Volume
Generic — vol metrics" style="rounded=1;whiteSpace=wrap;fillColor=#0E6B37;strokeColor=#0B5730;fontColor=#ffffff;fontSize=9;" vertex="1" parent="1"><mxGeometry x="180" y="520" width="150" height="44" as="geometry" /></mxCell> |
| 42 | + <mxCell id="stier" value="AzureLocal.StorageTier
Generic — tier health" style="rounded=1;whiteSpace=wrap;fillColor=#0E6B37;strokeColor=#0B5730;fontColor=#ffffff;fontSize=9;" vertex="1" parent="1"><mxGeometry x="340" y="520" width="150" height="44" as="geometry" /></mxCell> |
| 43 | + <mxCell id="srep" value="AzureLocal.StorageReplica
Generic — replication" style="rounded=1;whiteSpace=wrap;fillColor=#0E6B37;strokeColor=#0B5730;fontColor=#ffffff;fontSize=9;" vertex="1" parent="1"><mxGeometry x="500" y="520" width="150" height="44" as="geometry" /></mxCell> |
| 44 | + <mxCell id="e8" style="edgeStyle=orthogonalEdgeStyle;" edge="1" source="sp" target="vol" parent="1"><mxGeometry relative="1" as="geometry" /></mxCell> |
| 45 | + <mxCell id="e9" style="edgeStyle=orthogonalEdgeStyle;" edge="1" source="sp" target="stier" parent="1"><mxGeometry relative="1" as="geometry" /></mxCell> |
| 46 | + <mxCell id="e10" style="edgeStyle=orthogonalEdgeStyle;" edge="1" source="sp" target="srep" parent="1"><mxGeometry relative="1" as="geometry" /></mxCell> |
| 47 | + |
| 48 | + <!-- ===== L3 Azure entities (from Cluster reference) ===== --> |
| 49 | + <mxCell id="l3hci" value="AzureLocal.Azure.HCICluster
Azure Resource
Arc registration" style="rounded=1;whiteSpace=wrap;fillColor=#7719AA;strokeColor=#5C138E;fontColor=#ffffff;fontSize=9;" vertex="1" parent="1"><mxGeometry x="700" y="520" width="180" height="44" as="geometry" /></mxCell> |
| 50 | + <mxCell id="l3kv" value="AzureLocal.Azure.KeyVault
Azure Resource
microsoft.keyvault/vaults" style="rounded=1;whiteSpace=wrap;fillColor=#7719AA;strokeColor=#5C138E;fontColor=#ffffff;fontSize=9;" vertex="1" parent="1"><mxGeometry x="890" y="520" width="180" height="44" as="geometry" /></mxCell> |
| 51 | + <mxCell id="l3sa" value="AzureLocal.Azure.StorageAccount
Azure Resource" style="rounded=1;whiteSpace=wrap;fillColor=#7719AA;strokeColor=#5C138E;fontColor=#ffffff;fontSize=9;" vertex="1" parent="1"><mxGeometry x="1080" y="520" width="180" height="44" as="geometry" /></mxCell> |
| 52 | + <mxCell id="l3rb" value="AzureLocal.Azure.RBAC
Generic — role assignment state" style="rounded=1;whiteSpace=wrap;fillColor=#7719AA;strokeColor=#5C138E;fontColor=#ffffff;fontSize=9;" vertex="1" parent="1"><mxGeometry x="1270" y="520" width="180" height="44" as="geometry" /></mxCell> |
| 53 | + <mxCell id="l3am" value="AzureLocal.Azure.ArcMachine
Azure Resource
microsoft.hybridcompute/machines" style="rounded=1;whiteSpace=wrap;fillColor=#7719AA;strokeColor=#5C138E;fontColor=#ffffff;fontSize=9;" vertex="1" parent="1"><mxGeometry x="60" y="520" width="180" height="44" as="geometry" /></mxCell> |
| 54 | + |
| 55 | + <mxCell id="e11" style="edgeStyle=orthogonalEdgeStyle;" edge="1" source="cl" target="l3hci" parent="1"><mxGeometry relative="1" as="geometry" /></mxCell> |
| 56 | + <mxCell id="e12" style="edgeStyle=orthogonalEdgeStyle;" edge="1" source="cl" target="l3kv" parent="1"><mxGeometry relative="1" as="geometry" /></mxCell> |
| 57 | + <mxCell id="e13" style="edgeStyle=orthogonalEdgeStyle;" edge="1" source="cl" target="l3sa" parent="1"><mxGeometry relative="1" as="geometry" /></mxCell> |
| 58 | + <mxCell id="e14" style="edgeStyle=orthogonalEdgeStyle;" edge="1" source="cl" target="l3rb" parent="1"><mxGeometry relative="1" as="geometry" /></mxCell> |
| 59 | + <mxCell id="e15" style="edgeStyle=orthogonalEdgeStyle;" edge="1" source="nd" target="l3am" parent="1"><mxGeometry relative="1" as="geometry" /></mxCell> |
| 60 | + |
| 61 | + </root> |
| 62 | + </mxGraphModel> |
| 63 | + </diagram> |
| 64 | +</mxfile> |
| 65 | + |
35 | 66 | <mxCell id="0" /> |
36 | 67 | <mxCell id="1" parent="0" /> |
37 | 68 | <mxCell id="2" value="STUB: Build Azure Monitor entity graph here.
See PLAN.md → draw.io Diagrams for design spec." style="text;html=1;strokeColor=none;fillColor=#dae8fc;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=1;fontSize=14;" vertex="1" parent="1"> |
|
0 commit comments