Skip to content

Latest commit

 

History

History
40 lines (30 loc) · 2.23 KB

observabilityArchitecture.md

File metadata and controls

40 lines (30 loc) · 2.23 KB

Observability

The Observability architecture of ZAC is based on OpenTelemetry and is illustrated in the following diagram:

C4Component
    title ZAC Observability Components diagram

    Person(Ops, "Operations", "An operations employee")

    Enterprise_Boundary(b0, "ZAC context") {
        System_Boundary(Observ, "Observability") {
            System(Grafana, "Grafana")
            System(Tempo, "Tempo")
            System(OTC, "OTEL Collector")
        }
        System_Boundary(ZAC, "ZAC components") {
            System(ZAC, "ZAC")
        }
    }
    UpdateElementStyle(Grafana, $bgColor="green", $borderColor="black")
    UpdateElementStyle(Tempo, $bgColor="green", $borderColor="black")
    UpdateElementStyle(OTC, $bgColor="green", $borderColor="black")

    Rel(ZAC, OTC, "Push", "Telemetry Data")
    Rel(OTC, Tempo, "Store", "Trace Data")
    Rel(Grafana, Tempo, "Query", "Trace Data")
    Rel(Ops, Grafana, "Monitor", "Dashboard")

Loading

The following components are part of the ZAC Observability architecture:

Component Description ZAC usage
Grafana Grafana monitoring dashboards for visualising monitored data. Used to visualise and track performance, usage and working of the ZAC application.
Tempo Tempo object database for traces. Used to store the trace data coming from the ZAC application.
OTEL Collector OTEL Collector receives, processes and exports telemetry data. The ZAC application pushes it's telemetry data to the OTEL Collector, that then stores it into the Tempo database.