QubesOS System Monitoring Tools

What are the best system monitoring tools for QubesOS?

I have come across:

  • Task Manager
  • ftrace
  • SystemTap

Has anybody installied the last two and gotten them to work?

I wasn’t able to discover dom0 kernel ftrace support, or a package for SystemTap

for dom0.

Some other utilities are:

  • virsh
    (error: cannot use direct socket mode if no URI is set)
    (error: this function is not supported by the connection driver:
    virDomainGetMemoryParameters)

  • virt-top (no QubesOS installation candidate)

  • nmon (no QubesOS installation candidate)

  • virt-manager (no QubesOS installation candidate)

*no dom0 installation candidate

1 Like

i use xentop, maybe not the best, but works for me.

1 Like

that’s a good one also.

1 Like

I feel like there should be a system-monitoring python package in the

Qubes repos for the dom0 VM. All of the aforementioned tools could be

included.

1 Like

The idea is meant to be that dom0 doesn’t actually have any of this stuff installed in it. It’s more or less meant to be the “facilitator” VM. The one that handles inter-qube requests, check the policies, and either grants them of denies them.

Under this framework, it isn’t supposed to contain any addition things like logging/monitoring. But it can be set up so that the raw data can be passed to another VM containing the logging/monitoring software for processing.

This is why dom0 has its own qubes package repo that is different from the VMs. Much more stripped-down package selections, more daemon-heavy, a few versions back, backports galore, and minimal reliance on networking.

This should explain it more clearly than I have, and why it’s much more flexible to do so:


This also paves the way for extremely cool things like clustering Qubes OS machines, shared LVM pools, Qubes Air, remote management add-ons (for example, corporate environments), and a bunch of other cool nerdy things that would be fun to tinker with.

There are also guides on the forum (and probably some Salt pillars out there too) for setting up logging and monitoring qubes that you might find useful.

Hope this helps :slight_smile:

2 Likes

I’m curious if anybody has created a loggingVM? Are you aware of this?

Are you aware of any Saltstack modules.

They do have modules for logstash, and libvert events.

2 Likes

How do you actually interact with the Admin API? How do you access

the API calls.

1 Like

Personally, I use these scripts with Conky, which already provides a lot of information about the system:

For the frequency and usage of your CPUs, I use xenpm in a Conky with the command for the percentage: xenpm start 2 | grep C0
and the command for the frequency: xenpm start 2 | grep "Avg freq"

I also made a smalls scripst for formatting in another Conky, but it all depends on the number of CPUs and cores in your system, and I’m not sure that everything works for all systems. It requires a bit of tinkering. Here are the ideas you can explore.

2 Likes

I’ve been tinkering on my own task manager-esque tool for watching system resource usage in Qubes based on xentop. It’s a bit of a mess and is incomplete but it already shows a large amount of what I think we all want. You have to run it from dom0 and you need to install glfw in dom0 as well via qubes-dom0-update.

PS: hopefully I don’t trigger some kind of anti-spam, this is my first post :sweat_smile:

5 Likes

I was able to get conky running. Do you need to copy the git repo to customize?

Trying to get more detailed info on memory allocation and

specific function libraries allocated to specific memory regions.

What does the qubes-conky script do that is different from conky.

It looks like a useful script but its going into dom0 so have to be careful.

1 Like
  • download the zip via github
  • move it in dom0
  • unzip it and go in folder
  • open a terminal and type chmod +x startConky
  • Lauch it with ./startConky
    That’s it.
    To customize it, make modifications as you want in the .conf files.
2 Likes

they have memory mapping mods?

1 Like

What memory mappings are you trying to see?

It’s scriptable, so you can do whatever you’d like. There are many native capabilities but I don’t think many people have a use-case for monitoring memory mappings, so you’ll be on your own

1 Like

It is shell script language.

I want to map the memory regions for kernel, application, daemon, CPU cache

pointer. The starting and end points of the memory regions for those

programs.

1 Like

i discovered this conky script some days ago. tried to make it transparent and make it look a bit more fancy.
turned out, it didn’t worked, search the issue,… then i found a conky script in the internet and tried it testwise.
turns out, this qubes conky script got in the years and conky is prefering now a new script layout.
i was able to fix the conky_head.conf but didn’t got enough time for now to fix the perf.conf etc. since i’m not that much into unixporn.

one day i want to get a similiar de like renehoj :smiley:
but sadly it’s lua scripted, so i have to take a look how to get this in shell

1 Like

His de is the most enviable, for sure! I gave up chasing it, too.

2 Likes

where is this script in the qubes-conky github repo.

1 Like

what do you mean?
you posted it already.
if you mean renehoj’s one it’s just there:

but you can also see how’s he’s de looks like here:

1 Like