Commit Graph

4 Commits (786145e914cf1412202f134b4e8209dbd2c75ae6)

Author SHA1 Message Date
Dustin 227ce8cfcf collectd: Bind-mount journal log socket
*collectd* logs to syslog, so its output is lost when it's running in a
container.  We can capture messages from it by mounting the journald
syslog socket into the container.
2024-01-18 20:35:22 -06:00
Dustin f1a55e3d5c collectd: Fix / bind mount directive 2024-01-18 20:27:25 -06:00
Dustin 714df85183 collectd: Bind mount / into container
Even with *collectd* configured to report filesystem usage by device, it
still only reports filesystems that are mounted (in its namespace).
Thus, in order for it to report filesystems like `/boot`, these need to
be mounted in the container.
2024-01-18 19:58:11 -06:00
Dustin 51aaccc861 collectd: Deploy collectd in a container
I keep going back-and-forth on whether or not collectd should run in a
container on Fedora CoreOS machines.  On the one hand, running it
directly on the host allows it to monitor filesystem usage by mount
point, which is consistent with how non-FCOS machines are monitored.
On the other hand, installing packages on FCOS with `rpm-ostree` is a
nightmare.  It's _incredibly_ slow.  There's also occasionally issues
installing packages if the base layer has not been updated in a while
and the new packages require an existing package to be updated.

For the NUT server specifically, I have changed my mind again: the
*collectd-nut* package depends on *nut-client*, which in turn depends on
Python.  I definitely want to avoid installing Python on the host, but I
do not want to lose the ability to monitor the UPSs via collectd.  Using
a container, I can strip out the unnecessary bits of *nut-client* and
avoid installing Python at all.  I think that's worth having to monitor
filesystem usage by device instead of by mount point.
2024-01-17 17:35:21 -06:00