Open source, horizontally scalable Prometheus as a service
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:
Developing
To build & test, install minikube, and run:
eval $(minikube docker-env)
make
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
Experimental Bazel builds
We also have early support for Bazel builds. Once you have installed
bazel, try these commands:
make bazel-test
make bazel
This will require Bazel 0.5.4 or later.
Bazel can be useful for running fast, local, incremental builds and tests.
Currently bazel does not support cross-compiling
so it is not used to produce the final binaries and docker container images.
Vendoring
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
Further reading
To learn more about Cortex, consult the following documents / talks:
Getting Help
If you have any questions regarding Cortex, or on using Prometheus with Weave Cloud:
Your feedback is always welcome.