Cortex

Grafana

Prometheus Instances

Grafana

Querier

Prometheus Instances

Dsitributer

Ingester

Ingester

Ingester

Store

Grafana

Global Prometheus

Prometheus instances

Exporters

Exporters

Prometheus instances

Grafana

Exporters

Exporters

2 Prometheus Instances

Node Exporters

LB

Cortex Nodes

Object store > Minnio

Mimic the GCS,S3 Object Store

the Ingress that passes all things to Cortex

will be scraping and pushing data to cortex

Ring
Ring organize how samples gets ditributed on ingesters

Grafana

ingesters

we are running with replication factor of 3 which means that for a sample that is recieved it gets sent to all 3 all 3 cortex instances

if go to the cortex ring interface we can see that all cortex nodes are running and shares equal amount of data as we have set the replicaSet to 3 in our yaml file

we are running 2 prometheus replicas which means we are HA but cortex also allow to deReplicate which means when running 2 replicas ar erunning we can choose to only use one of 2 replicas and this is where consul is used
consul is only used for the HA
lets one promtheus to be scraped only when one of them is running
so for Common cluster it selects one of the replicas 8