Opstrace is a secure, horizontally-scalable, open source observability platform installed in your cloud account.
Highlights:
- Horizontally scalable.
- Inexpensive long-term retention of observability data.
- Rigoriously tested end-to-end.
- Easy and reliable upgrades.
- Secure by default with TLS and authenticated endpoints.
- Easy to configure with GUIs and APIs.
We walk on the shoulders of giants; Opstrace uses open source projects you know and love:
- Cortex
- Loki
- Grafana
- Hasura
- Kubernetes
- Prometheus
- Prometheus Operator
- and many more
Both installation and upgrades are initiated by a simple CLI command. In this example, you can see an abbreviated installation and upgrade cycle:
$ cat << EOF > config.yaml
tenants:
- staging
- prod
EOF
$ ./opstrace create aws tracy -c config.yaml
...
info: create operation finished: tracy (aws)
info: Log in here: https://tracy.opstrace.io
A week later...
$ curl -L https://go.opstrace.com/cli-latest-release-macos | tar xjf -
$ ./opstrace upgrade aws tracy -c config.yaml
...
info: upgrade operation finished for tracy (aws)
Alertmanager can be difficult to configure, especially for Cortex when multiple tenants are used. Opstrace configures a horizontally scalable Ruler and Alertmanager out of the box to support reliable alerts. It also deploys a Grafana instance for each tenant, which can be now used to manage Cortex/Loki alerts thanks now to Grafana 8's Unified Alerting feature. Before, you'd have to manage each of these components independently, keeping them in sync manually.
The Opstrace UI allows for dynamic tenant creation and deletion:
Tenants provide isolation for logically separate entities. For example, they can be used to represent different teams. The Opstrace UI also allows for setting per-tenant configuration, which can be used for example to set write/read rate limits on a per-tenant basis.
Install Opstrace in your own cloud account with our quick start. The Opstrace CLI uses your local credentials to setup the necessary cloud resources (e.g., a EKS or GKE cluster) and then deploys the Opstrace controller which orchestrates all of the app-level deployments. For example:
opstrace create aws <choose_a_name> <<EOF
tenants:
- dev
- staging
- prod
env_label: try_opstrace
cert_issuer: letsencrypt-prod
EOF
In addition to AWS we also support GCP.
See our configuration reference for details: docs/references/configuration.md.
Don't forget to clean up if you're done kicking the tires:
opstrace destroy aws <choose_a_name>
Note: add the --region
flag to ensure the CLI can locate any dangling resources, should you run into any sort of trouble cleaning up on AWS (for example, after a failed install).
Authentic collaboration in a community setting is important to us. Please join us to learn more, get support, or contribute to the project.
- Join our Slack Community
- Ask a question in our GitHub Discussions
- Contribute a proposal or a bug report
- Or just send us an email at [email protected]
You can find out more on our community page, including shoutouts to some of the main open source projects that we're building with.
You can find the Opstrace documentation in /docs. We invite you to improve these docs together with us, and have a corresponding guide for that.
We ❤️ working on open source projects, and we hope you do too. Please join us and make some contributions, however big or small.
- Start by reading the Contributing guide to become familiar with the process.
- Then review our Development guide to learn how to set up your environment and build the code.
- If you'd like to find a place to start and get your feet wet, just reach out and ask in our community Slack. (It's also a good idea to try out our quick start.)
Take a look at our high-level roadmap to see where we're heading, and feel free to get in touch with us regarding questions and suggestions.
IMPORTANT NOTE: We welcome contributions from developers of all backgrounds. We encode that in a Contributor Code of Conduct. By participating in this project, you agree to abide by its terms.
At Opstrace, we host a service that automatically provisions subdomains like <my_name>.opstrace.io
.
This makes it easy and clean to use the URLs for both humans and machines.
To accomplish this safely, we require login via Auth0 subject to our privacy poicy.
Get in touch with us to discuss support for custom domains!
We take security seriously. If you believe you have found a security issue in our project or any related projects, please email us at [email protected] to responsibly disclose the issue.