Giter VIP home page Giter VIP logo

Comments (11)

aravindavk avatar aravindavk commented on June 1, 2024 4

To start with we can start with the following metrics. Metric exporter will run in all Pods as container or as shared process within the container in case accessing required resource is challenge.

  • Storage utilization(Size and inodes) csi-provisioner will have mounts of all Kadalu Storage Volumes(Hosting Volumes), so it is the best candidate to export all the utilization metrics(kadalu_storage_count, kadalu_storage_health, kadalu_storage_capacity_bytes, kadalu_storage_capacity_used_bytes, kadalu_storage_capacity_free_bytes, kadalu_storage_inodes_count, kadalu_storage_inodes_used_count, kadalu_storage_inodes_free_count etc)
  • PV utilization Simple Quota Crawler is anyways doing the crawl and collecting the stat of each subvols/Pvs, This can export the metrics related to the PVs(kadalu_pv_count, kadalu_pv_capacity_bytes, kadalu_pv_capacity_used_bytes, kadalu_pv_capacity_free_bytes, kadalu_pv_inodes_count, kadalu_pv_inodes_used_count, kadalu_pv_inodes_free_count etc).
  • Memory, CPU, Uptime and other metrics Export these metrics for all the processes in Kadalu managed Containers.
  • Heal related metrics CSI Provisioner or Operator can run glfsheal command and export the heal metrics.

Two options to export these metrics to Prometheus:

  • Expose single /metrics endpoint from Operator. When Prometheus requests the metrics then internally collect from other pods using kubectl exec.
  • Expose metrics from respective containers itself. Prometheus Server(Prometheus Operator) can collect metrics from these individual exporters by using Pod/Container label.

Bonus: kubectl kadalu storage-health CLI can be created by consuming these metrics. So that Admins can get the realtime status without using Prometheus or Grafana.

Let us know if any other metrics required other than the ones listed above?

from kadalu.

stale avatar stale commented on June 1, 2024

Thank you for your contributions.
We are marking this issue as stale because it has not had recent activity. It will be closed in 2 weeks if no further activity occurs.

from kadalu.

amarts avatar amarts commented on June 1, 2024

Still needed.

from kadalu.

stale avatar stale commented on June 1, 2024

Thank you for your contributions.
Noticed that this issue is idle since 180 days! There is a possibility that this issue is already fixed in later releases. Please upgrade and check! If I don't hear any update in this issue in next 2 weeks, will be closing the issue.
That doesn't mean one can't re-open the issue! Just comment on the issue, and click 'Reopen', if you still have the issue.

from kadalu.

aravindavk avatar aravindavk commented on June 1, 2024

still needed.

from kadalu.

sputnik13 avatar sputnik13 commented on June 1, 2024

like the storage-health command idea, not always convenient to bring up grafana for viewing health status

from kadalu.

aravindavk avatar aravindavk commented on June 1, 2024

Expose single /metrics endpoint from Operator. When Prometheus requests the metrics then internally collect from other pods using kubectl exec.

Little change to this approach. Each containers exposes ReST APIs and Operator will collect from all these containers and exposes a single API.

Operator(GET /metrics) -> Collect metrics from all the containers in Kadalu namespace by calling respective ReST APIs(internal APIs).

Advantages:

  • Easy to integrate with internal or externally hosted Prometheus server.
  • Easily avoid collecting duplicate metrics. Operator can intelligently pick any one storage pod to get the metrics.

Additionally expose GET /metrics.json for all non-Prometheus purposes.

This approach is very similar to Gluster Metrics Exporter project.

from kadalu.

leelavg avatar leelavg commented on June 1, 2024

@aravindavk can this issue be closed?

from kadalu.

leelavg avatar leelavg commented on June 1, 2024

ping @aravindavk ^^, can this be closed?

from kadalu.

stale avatar stale commented on June 1, 2024

Thank you for your contributions.
Noticed that this issue is idle since 180 days! There is a possibility that this issue is already fixed in later releases. Please upgrade and check! If I don't hear any update in this issue in next 2 weeks, will be closing the issue.
That doesn't mean one can't re-open the issue! Just comment on the issue, and click 'Reopen', if you still have the issue.

from kadalu.

patama8 avatar patama8 commented on June 1, 2024

from kadalu.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.