Cortex is a Weaveworks project that forms the monitoring backend of Weave Cloud.
It provides horizontally scalable, long term storage for Prometheus metrics when used as a remote write destination, and a horizontally scalable, Prometheus-compatible query API.
To use Cortex, sign up for Weave Cloud and follow the instructions there.
Additional help can also be found in the Weave Cloud documentation:
- Installing the Weave Cloud Agents
- Prometheus Monitoring in Weave Cloud
- Instrumenting Your App: Best Practises
To build (requires Docker):
make
To run the test suite:
make test
To checkout Cortex in minikube:
kubectl create -f ./k8s
Cortex will sit behind an nginx instance exposed on port 30080. A job is deployed to scrape it itself. Try it:
http://192.168.99.100:30080/api/prom/api/v1/query?query=up
We use dep
to vendor dependencies. To fetch a new dependency, run:
make update-vendor
To update dependencies, run
dep ensure --update && make update-vendor
To learn more about Cortex, consult the following documents / talks:
- Original design document for Project Frankenstein
- PromCon 2016 Talk: "Project Frankenstein: Multitenant, Scale-Out Prometheus": video, slides
- KubeCon Prometheus Day talk "Weave Cortex: Multi-tenant, horizontally scalable Prometheus as a Service" slides
If you have any questions regarding Cortex, or on using Prometheus with Weave Cloud:
- Ask a question on the #weave-community Slack channel. To invite yourself to the Weave Community Slack channel, visit https://weaveworks.github.io/community-slack/.
- Join the Weave User Group and get invited to online talks, hands-on training and meetups in your area.
- Send an email to weave-users@weave.works
- File an issue.
Your feedback is always welcome.