Sorry if this has been posted before but couldn’t found it in my searches. (It’s from September 25)

The new systemd-report collects system facts and runtime metrics into unified, timestamped JSON reports for monitoring and fleet management.

systemd is getting a new reporting subsystem designed to collect both static system information and dynamic runtime metrics in one place.

Called systemd-report, the new tool gathers data from multiple metric provider services via a generic Varlink interface and combines it into a single timestamped JSON report. The work targets system and fleet management, where administrators need a consistent view of many machines.

The collected information is split into two groups. The first covers relatively static system “facts,” such as CPU architecture, hostname, kernel version, OS identification, installed RAM, CPU count, virtualization technology, TPM information, and other hardware or platform details.

The second covers changing runtime metrics like CPU and memory use, load averages, disk I/O, swap usage, system pressure, cgroup statistics, network interface states, systemd unit states, restart counters, queued jobs, and high-priority journal messages.

According to Lennart Poettering, the underlying metrics service was initially contributed by Meta with a focus on dynamic runtime information. The same interface was later extended to handle more static system facts as well, something Amutable is using for areas such as operating system deployment management.

Once gathered, systemd-report compiles all of this information into a consistent snapshot representing the state of the machine at a particular point in time.

The subsystem is designed for remote fleet management. Reports can be uploaded directly to an HTTPS server using PUT requests, letting organizations send system information to a central control plane. The setup includes periodic uploads via a systemd timer and reports triggered by events like system boot, reboot, or shutdown.

For security, reports can be cryptographically signed before being sent, and systemd currently provides three signing methods.

The simplest uses a software-generated asymmetric key stored locally. Systems with TPM hardware can produce a TPM quote covering platform measurements and the report data. A third option supports confidential-computing environments by generating a CPU TSM quote that ties the report to measurements of the secure virtual machine.

This makes systemd-report different from traditional monitoring tools like Prometheus and its node_exporter. While both expose similar information, systemd obtains data directly from lower-level OS components instead of relying on a separate scraping model.

More importantly, systemd-report focuses on complete, signed, timestamped snapshots rather than independent streams of metrics. Poettering notes that the two approaches are not mutually exclusive, and the new infrastructure could eventually provide the basis for integration between them.

The architecture is also intentionally extensible. Third-party projects can provide additional metrics or signing mechanisms simply by exposing the appropriate Varlink socket. These providers can be written in any programming language and only need to implement a small interface.

In other words, systemd-report is not just another command for displaying system information. It is shaping up as a broader reporting framework built directly into systemd, combining system facts, runtime metrics, secure signing, and remote reporting in a format suitable for managing everything from individual Linux machines to large server fleets.

For additional details, see Poettering’s announcement.

  • plant@lemmy.stinky.rip
    link
    fedilink
    English
    arrow-up
    2
    ·
    5 hours ago

    Does the announcement or article specify if this something that will be able to be used in-lieu of prometheus node_exporter? It’d be nice to have a built-in way to ship logs and metrics without having to deploy additional tooling on every server.

  • frongt@lemmy.zip
    link
    fedilink
    arrow-up
    65
    ·
    1 day ago

    systemd is my favorite operating system, or as I like to call it, systemd+linux

    • mmmm@sopuli.xyz
      link
      fedilink
      arrow-up
      19
      ·
      1 day ago

      They could have it named systemd-reportd and somehow they didn’t.

      You could name it systemd-linuxd and yet you didn’t.

      My disappointment is immeasurable and my day is systemd-ruined.

      • Victor@lemmy.world
        link
        fedilink
        arrow-up
        10
        ·
        edit-2
        16 hours ago

        As someone without an opinion on the matter, I’m curious: what do you like about systemd? 🙂

        • milk@discuss.tchncs.de
          link
          fedilink
          arrow-up
          2
          ·
          10 hours ago

          For me it’s that it just works. If I want to do almost anything, systemd can probably already do it without me adding another daemon, and then it’s integrated into the rest of my os. I dont have to worry about integrating it and I know it’s tested

        • HappyFrog@lemmy.blahaj.zone
          link
          fedilink
          arrow-up
          5
          ·
          1 day ago

          I like that it’s declarative, that it’s cohesive across different things, like I define a mount point the same way I define a quadlet or a service.

          • Victor@lemmy.world
            link
            fedilink
            arrow-up
            4
            ·
            1 day ago

            I don’t understand what’s easier than other systems. On Arch I just go paru and I’m done.

            • [object Object]@lemmy.ca
              link
              fedilink
              arrow-up
              2
              ·
              23 hours ago

              For me it’s that:

              • there’s no documentation for systemd that is a decent QuickStart. Even as a more experienced user I can’t figure out what docs to read.
              • managing the permissions is confusing and you kinda just get that with nix
              • daemon reload and start just feels like it naturally gets superseded by nixos switch. There’s just too much state to manage and forget.

              I get that none of this goes away with nix, but the state full stuff is 100x clearer.

              • Victor@lemmy.world
                link
                fedilink
                arrow-up
                1
                ·
                19 hours ago

                none of this goes away with nix

                So none of the reasons you listed are actually easier with NixOS? I’m confused.

                Did you mean to say “upgrade systems” or “upgrade systemd” in your previous comment?

                • [object Object]@lemmy.ca
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  13 hours ago

                  Nix improves the ergonomics, it doesn’t magically make it dead simple. It removes the parts I find annoying because nix switch basically supersedes them.

              • Victor@lemmy.world
                link
                fedilink
                arrow-up
                1
                ·
                1 day ago

                What I’m saying is, why does using NixOS/nix make upgrading systemd easier than just issuing paru? I can’t imagine anything easier or faster. It takes literally less than 1 second(!) to open a terminal and type it by hand if I try hard enough. Or what am missing with their comment?

  • eleijeep@piefed.social
    link
    fedilink
    English
    arrow-up
    36
    arrow-down
    10
    ·
    1 day ago

    Oh right it’s like Windows telemetry if it wasn’t being sent to Microsoft.

    Let’s have a betting pool on who will be first to configure systemd-report to phone home out of the box: Canonical or Red Hat?

    • thingsiplay@lemmy.ml
      link
      fedilink
      arrow-up
      2
      ·
      14 hours ago

      The difference is, you decide to send to who, its not automatically done. And the data is open, so you can read and look through what’s being sent. This is not what we call spyware in Windows, if its transparent and in your control.

    • Ricky Rigatoni@piefed.zip
      link
      fedilink
      English
      arrow-up
      23
      arrow-down
      1
      ·
      1 day ago

      It looks like it’s meant to be configured to send reports where you want so it would make sense for an enterprise distro like RHEL to utilize this to help with contractual tech support.

    • j5y7@sh.itjust.works
      link
      fedilink
      arrow-up
      16
      ·
      1 day ago

      I guess all reports on what’s happening in a system are by default bad because somebody might send them somewhere.

  • esc@piefed.social
    link
    fedilink
    English
    arrow-up
    7
    ·
    1 day ago

    Very nice, interesting part about it being extensible. Unified monitoring interface that can be used by other systems, and can be extended. systemd delivers!