XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Gather CPU utilization of host as variable for prometheus exporter

    Scheduled Pinned Locked Moved Compute
    11 Posts 3 Posters 2.8k Views 4 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • olivierlambertO Online
      olivierlambert Vates 🪐 Co-Founder CEO
      last edited by

      https://github.com/johnprather/xapi_exporter

      But ideally, I'd prefer to:

      • short term: do that via XO API/plugin
      • long term: replace the current XAPI RRDs mess with directly available Prometheus metrics
      P 1 Reply Last reply Reply Quote 0
      • P Offline
        petr.bena @olivierlambert
        last edited by

        @olivierlambert but does that really export CPU utilization? From what I saw it only shows memory utilization. Also how does orchestra get these metrics? There must be some low level way to accomplish this, or is xsconsole also using the API for that?

        1 Reply Last reply Reply Quote 0
        • olivierlambertO Online
          olivierlambert Vates 🪐 Co-Founder CEO
          last edited by

          Everything is already exported via RRDs (see https://wiki.xenproject.org/wiki/XAPI_RRDs). That's what we use in XO.

          But this is far from being nice because:

          • Those RRDs are encapsulated in XML, which is costly to parse
          • XAPI itself is hammering Xen with requests every 5 secs

          So ideally, doing a metrics redesign from Xen to XAPI first, will be better.

          1 Reply Last reply Reply Quote 0
          • P Offline
            petr.bena
            last edited by

            how does API get these metrics?

            1 Reply Last reply Reply Quote 0
            • olivierlambertO Online
              olivierlambert Vates 🪐 Co-Founder CEO
              last edited by

              You mean how XAPI is fetching these metrics?

              P 1 Reply Last reply Reply Quote 0
              • P Offline
                petr.bena @olivierlambert
                last edited by

                @olivierlambert yes

                1 Reply Last reply Reply Quote 0
                • P Offline
                  petr.bena
                  last edited by

                  there must be some low level way to do that from dom0

                  1 Reply Last reply Reply Quote 0
                  • olivierlambertO Online
                    olivierlambert Vates 🪐 Co-Founder CEO
                    last edited by

                    That's the plan, yes, there's some Xen stats backend, but it requires some work to modify Xen for a better system.

                    1 Reply Last reply Reply Quote 0
                    • M Offline
                      MikeDombo
                      last edited by

                      I just installed XCP-ng on a new server and wanted Prometheus metrics too, so I wrote this: https://github.com/MikeDombo/xen-exporter.

                      It is a simple Python script (which can run in Docker) that collects the metrics from XCP-ng's RRD API. These are the same metrics that you'd see in Xen Orchestra or in the XenServer Console application. In addition to the exporter, I've also created a Grafana dashboard to visualize these metrics too.

                      Example dashboard

                      1 Reply Last reply Reply Quote 0
                      • olivierlambertO Online
                        olivierlambert Vates 🪐 Co-Founder CEO
                        last edited by

                        Ah nice!

                        Ideally, we'd like to avoid to use the complicated XAPI RRD + XML system. See https://xcp-ng.org/blog/2022/05/25/fetching-metrics-in-xen-why-the-method-matters/

                        Thanks a lot to bring this, I'll promote it!

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post