Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Long term storage solution #23

Closed
etsauer opened this issue Nov 18, 2019 · 14 comments · Fixed by #77
Closed

Long term storage solution #23

etsauer opened this issue Nov 18, 2019 · 14 comments · Fixed by #77
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature.
Milestone

Comments

@etsauer
Copy link
Collaborator

etsauer commented Nov 18, 2019

By default prometheus only stores 2 weeks worth of data. In order for MDT tooling to be valuable, we need to store at least 6 months to a year's worth of History. We need to do some research into a long term data store for the stack.

@etsauer
Copy link
Collaborator Author

etsauer commented Nov 18, 2019

Here's one blog post that suggests a solution, but there may be more.

https://blog.openshift.com/thanos-long-term-storage-for-your-prometheus-metrics-on-openshift/

Also, looking at the Prometheus Storage docs, there's nothing that explicitly says that it should only be used for short-term storage, but it does point out that promehteus itself doesn't do much in the way of operationalizing its storage, and references some thrid-party storage integrations.

https://prometheus.io/docs/prometheus/latest/storage/

@ramius345
Copy link
Contributor

I will start taking a look at this tomorrow. Thanks.

@garethahealy
Copy link
Contributor

@ramius345
Copy link
Contributor

I'll have a look, thanks!

@etsauer etsauer added this to To do in Pelorus Roadmap via automation Nov 26, 2019
@etsauer etsauer added this to the v1.2 milestone Nov 27, 2019
@etsauer etsauer added the kind/feature Categorizes issue or PR as related to a new feature. label Nov 27, 2019
@ramius345 ramius345 moved this from To do to In progress in Pelorus Roadmap Dec 9, 2019
@ramius345 ramius345 moved this from In progress to To do in Pelorus Roadmap Dec 9, 2019
@ramius345
Copy link
Contributor

I have a working solution on this using nooba for Openshift 4. However, when I try this on the CI CASL cluster, nooba is having issues installing with PV provisioning. Using version 2.0.9 of noobaa, I am able to create a backing store, but I am not able to get noobaa to finish its installation, it gets stuck waiting for something. Looking at the logs, its looking for AWS and Ceph provisioners.

We should be able to use the rest of the solution with any s3 compatible bucket provider. It might be time to start looking at Ceph or to just suggest straight up AWS s3.

@bbeaudoin
Copy link

Nooba aggregates S3 API providers, Ceph API and S3 are the default backing types, this cannot be block so if CI CASL doesn't support S3 API compatible storage you'll need something other than Nooba. Thanos is a good fit but the storage needs to be worked out.

@etsauer
Copy link
Collaborator Author

etsauer commented Apr 13, 2020

@bbeaudoin ok, I misunderstood what Noobaa was then. @ramius345 I think the default option for this project should be to use MinIO instead.

@sbailleu
Copy link
Collaborator

Functional code ready (iteration 1), code needs to be merged. Documentation to be completed.

@etsauer etsauer linked a pull request Apr 27, 2020 that will close this issue
@etsauer etsauer removed a link to a pull request Apr 27, 2020
@etsauer
Copy link
Collaborator Author

etsauer commented Apr 28, 2020

@tolarewaju3 now that @ramius345 work has been merged, here's what I think it left TODO:

  • Come up with an opinionated installation method for MinIO that we can document, that at a minimum includes a TLS config
  • Refactor the helm chart to allow the user to configure any Object Store provider for thanos
  • Update documentation

@etsauer
Copy link
Collaborator Author

etsauer commented Apr 28, 2020

Oh, and one more:

  • Repoint grafana to the thanos instance instead of directly to prometheus

@tolarewaju3 tolarewaju3 moved this from To do to In progress in Pelorus Roadmap May 1, 2020
@tolarewaju3
Copy link
Contributor

Going to write documentation recommending minio helm chart. The current operator install doesn't work out of the box because of these two issues:

  1. rbac issue with latest minio/operator#91
  2. minioinstances.miniocontroller.min.io vs. minioinstances.miniooperator.min.io minio/operator#94

We can update the guide in the future when those are in master

@tolarewaju3 tolarewaju3 linked a pull request May 15, 2020 that will close this issue
@tolarewaju3
Copy link
Contributor

Test PR is up. Still needs work on documentation & this task:

  • Refactor the helm chart to allow the user to configure any Object Store provider for thanos

@themoosman
Copy link
Collaborator

Here are my testing steps:

  1. Deployed the stack per the directions into a single namespace pelorus.
  2. Deployed the exporters and loaded some data into Prometheus.
  3. Verified the data appeared in the dashboard and via PromQL query
  4. Delete the 2 Prometheus and checked for data. Neither the dashboard or a PromQL query returned any results.
  5. Created a route for the MinIO instance to verify data was being written to MinIO. Minio shows no data in the buckets.

It appears that no data is being written to MinIO.

@tolarewaju3
Copy link
Contributor

@themoosman Hmm. Ok. I will re-test this when I get some time. When I ran it, it took a bit to populate in minio. But it sounds like you already saw data in pelorus

Pelorus Roadmap automation moved this from In progress to Done Jun 3, 2020
themoosman pushed a commit that referenced this issue Jun 3, 2020
* added skeleton for long term storage docs

* force using signed ssl certs

* update docs to include recreate mode

* updated master installation doc to include storage

* updated format of install guide

* updated install guide formatting

* updated docs with correct tls cert name

* added scc documentation

* added scc

* reformatted docs

* added namespace callout to docs

* updated docs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature.
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

7 participants