Skip to content

Commit c7e6aa0

Browse files
committed
add diagrams
1 parent 2c55063 commit c7e6aa0

File tree

1 file changed

+96
-0
lines changed

1 file changed

+96
-0
lines changed

README.md

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ The Metrics Operator is a powerful tool designed to monitor and provide insights
77
## Table of Contents
88

99
- [Key Features](#key-features)
10+
- [Architecture Overview](#architecture-overview)
1011
- [Installation](#installation)
1112
- [Usage](#usage)
1213
- [RBAC Configuration](#rbac-configuration)
@@ -23,6 +24,101 @@ The Metrics Operator is a powerful tool designed to monitor and provide insights
2324
- **Strategic Decision Support**: Offers data-backed insights to guide product evolution.
2425
- **Customizable Alerting System**: Allows defining alerts based on specific metric thresholds, enabling proactive response to potential issues or significant changes in system state.
2526

27+
## Architecture Overview
28+
29+
The Metrics Operator provides four main resource types for monitoring Kubernetes objects. Each type serves different use cases:
30+
31+
### Metric Resource Flow
32+
33+
```mermaid
34+
graph LR
35+
M[Metric] -->|targets via GroupVersionKind| K8S[Kubernetes Objects<br/>Pods, Services, etc.]
36+
M -.->|optional| RCA[RemoteClusterAccess]
37+
RCA -->|accesses remote cluster| K8S
38+
M -->|sends data to| DS[Data Sink<br/>Dynatrace, etc.]
39+
40+
classDef metricType fill:#e1f5fe,stroke:#01579b,stroke-width:2px
41+
classDef accessType fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
42+
classDef targetType fill:#e8f5e8,stroke:#1b5e20,stroke-width:2px
43+
classDef dataType fill:#fff3e0,stroke:#e65100,stroke-width:2px
44+
45+
class M metricType
46+
class RCA accessType
47+
class K8S targetType
48+
class DS dataType
49+
```
50+
51+
### ManagedMetric Resource Flow
52+
53+
```mermaid
54+
graph LR
55+
MM[ManagedMetric] -->|targets managed resources| MR[Managed Resources<br/>with 'crossplane' & 'managed' categories]
56+
MM -.->|optional| RCA[RemoteClusterAccess]
57+
RCA -->|accesses remote cluster| MR
58+
MM -->|sends data to| DS[Data Sink<br/>Dynatrace, etc.]
59+
60+
classDef metricType fill:#e1f5fe,stroke:#01579b,stroke-width:2px
61+
classDef accessType fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
62+
classDef targetType fill:#e8f5e8,stroke:#1b5e20,stroke-width:2px
63+
classDef dataType fill:#fff3e0,stroke:#e65100,stroke-width:2px
64+
65+
class MM metricType
66+
class RCA accessType
67+
class MR targetType
68+
class DS dataType
69+
```
70+
71+
### FederatedMetric Resource Flow
72+
73+
```mermaid
74+
graph LR
75+
FM[FederatedMetric] -->|requires| FCA[FederatedClusterAccess]
76+
FCA -->|discovers clusters via| CP[ControlPlane Resources]
77+
FCA -->|provides access to| MC[Multiple Clusters]
78+
FM -->|targets across clusters| K8S[Kubernetes Objects<br/>across federated clusters]
79+
FM -->|aggregates & sends to| DS[Data Sink<br/>Dynatrace, etc.]
80+
81+
classDef metricType fill:#e1f5fe,stroke:#01579b,stroke-width:2px
82+
classDef accessType fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
83+
classDef targetType fill:#e8f5e8,stroke:#1b5e20,stroke-width:2px
84+
classDef dataType fill:#fff3e0,stroke:#e65100,stroke-width:2px
85+
86+
class FM metricType
87+
class FCA accessType
88+
class CP,MC,K8S targetType
89+
class DS dataType
90+
```
91+
92+
### FederatedManagedMetric Resource Flow
93+
94+
```mermaid
95+
graph LR
96+
FMM[FederatedManagedMetric] -->|requires| FCA[FederatedClusterAccess]
97+
FCA -->|discovers clusters via| CP[ControlPlane Resources]
98+
FCA -->|provides access to| MC[Multiple Clusters]
99+
FMM -->|targets managed resources<br/>across clusters| MR[Managed Resources<br/>with 'crossplane' & 'managed' categories]
100+
FMM -->|aggregates & sends to| DS[Data Sink<br/>Dynatrace, etc.]
101+
102+
classDef metricType fill:#e1f5fe,stroke:#01579b,stroke-width:2px
103+
classDef accessType fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
104+
classDef targetType fill:#e8f5e8,stroke:#1b5e20,stroke-width:2px
105+
classDef dataType fill:#fff3e0,stroke:#e65100,stroke-width:2px
106+
107+
class FMM metricType
108+
class FCA accessType
109+
class CP,MC,MR targetType
110+
class DS dataType
111+
```
112+
113+
### Resource Type Descriptions:
114+
115+
- **Metric**: Monitors specific Kubernetes resources in the local or remote clusters using GroupVersionKind targeting
116+
- **ManagedMetric**: Specialized for monitoring Crossplane managed resources (resources with "crossplane" and "managed" categories)
117+
- **FederatedMetric**: Monitors resources across multiple clusters, aggregating data from federated sources
118+
- **FederatedManagedMetric**: Monitors Crossplane managed resources across multiple clusters
119+
- **RemoteClusterAccess**: Provides access configuration for monitoring resources in remote clusters
120+
- **FederatedClusterAccess**: Discovers and provides access to multiple clusters for federated monitoring
121+
26122
## Installation
27123

28124
### Prerequisites

0 commit comments

Comments
 (0)