diff --git a/docs/_static/solution-diagram.mmd b/docs/_static/solution-diagram.mmd new file mode 100644 index 0000000..4ee2151 --- /dev/null +++ b/docs/_static/solution-diagram.mmd @@ -0,0 +1,68 @@ +flowchart LR + +Z[Zulip] +A[Alerta] +StatsD[StatsD] +Swift[OpenStack Swift] +Graphite[GraphiteDB] +M[Metric Processor] +Grafana[Grafana Dashboard] +DB1[(SQL Database)] +DB2[(SQL Database)] +DB3[(SQL Database)] +SD[Status Dashboard] + + +subgraph CloudMon plugin ApiMon + SCH[Scheduler] + EX[Executor\n X,Y,..] + subgraph Ansible + style Ansible stroke:#333,stroke-width:3px; + P[Playbook] + SDK[Openstack SDK] + end +end + +subgraph CloudMon plugin EpMon + E[Endpoint Monitor] + +end + +C[CloudMon\n plugin X,Y,..] + + +subgraph Backend + A + Z + StatsD + Graphite + M + DB1 + Swift +end + + +subgraph Representation layer + Grafana + DB2 + SD + DB3 +end + +P --> |Ansible Module| SDK +A --> Z +StatsD --> Graphite +SCH --> EX +Graphite --> M +M --> SD +EX --> |stats| DB1 +EX --> |Logs| Swift +EX --> P +C & SDK & E --> |metrics| StatsD +E & SCH & EX --> A +DB1 & Graphite --> Grafana +Grafana x--x DB2 +SD x--x DB3 + + + diff --git a/docs/_static/solution-diagram.svg b/docs/_static/solution-diagram.svg new file mode 100755 index 0000000..8a24d33 --- /dev/null +++ b/docs/_static/solution-diagram.svg @@ -0,0 +1 @@ +
Representation layer
Backend
CloudMon plugin EpMon
CloudMon plugin ApiMon
Ansible
Ansible Module
stats
Logs
metrics
metrics
metrics
Grafana Dashboard
SQL Database
Status Dashboard
SQL Database
Alerta
Zulip
StatsD
GraphiteDB
Metric Processor
SQL Database
OpenStack Swift
Endpoint Monitor
Scheduler
Executor
X,Y,..
Playbook
Openstack SDK
CloudMon
plugin X,Y,..
\ No newline at end of file diff --git a/docs/index.md b/docs/index.md index 2edda4b..333ed39 100644 --- a/docs/index.md +++ b/docs/index.md @@ -29,72 +29,7 @@ what platform operator is also verifying. StackMon is not trying to reimplement the wheel, but instead combines existing and time proven tools using sometimes non standard ways of doing usual things. - -```mermaid -flowchart LR - -Z[Zulip] -A[Alerta] -StatsD[StatsD] -Swift[OpenStack Swift] -Graphite[GraphiteDB] -M[Metric Processor] -Grafana[Grafana Dashboard] -DB1[(SQL Database)] -DB2[(SQL Database)] -DB3[(SQL Database)] -SD[Status Dashboard] - - -subgraph CloudMon plugin ApiMon - SCH[Scheduler] - EX[Executor\n X,Y,..] - subgraph Ansible - style Ansible stroke:#333,stroke-width:3px; - P[Playbook] - SDK[Openstack SDK] - end -end - -subgraph CloudMon plugin EpMon - E[Endpoint Monitor] - -end - -C[CloudMon\n plugin X,Y,..] - -subgraph Backend - A - Z - StatsD - Graphite - M - DB1 - Swift -end - -subgraph Representation layer - Grafana - DB2 - SD - DB3 -end - -P --> |Ansible Module| SDK -A --> Z -StatsD --> Graphite -SCH --> EX -Graphite --> M -M --> SD -EX --> |stats| DB1 -EX --> |Logs| Swift -EX --> P -C & SDK & E --> |metrics| StatsD -E & SCH & EX --> A -DB1 & Graphite --> Grafana -Grafana x--x DB2 -SD x--x DB3 -``` +![Solution diagram](_static/solution-diagram.svg)