Project
FAQ
Resources, data, platforms, agent security, sign-in, configuration, and extending kogut.
Memory use
See the measurements. Use depends on what you monitor and how you use the panel.
Database choice
SQLite needs no database server. kogut uses one writer with group commits and rolls raw data into summaries. Backups run without stopping the server. See Backups and restore.
Data location
The install script and the NixOS module use /var/lib/kogut. Docker uses /data in the
kogut-data volume. The directory holds kogut.db, its write-ahead log, configuration,
and the setup token until the first account exists. Change the paths with
environment variables. See
What to back up.
Supported platforms
The release binaries are for Linux on x86_64 and aarch64. On Windows or macOS, run the server in Docker. The agent monitors Linux hosts only; checks can monitor other machines from outside.
Agent security
The agent only connects out and opens no port. It requires HTTPS, except for loopback and Tailscale addresses or when you allow plain HTTP. The server can assign it checks, such as HTTP or ping, and ask for recent log lines of a service. It cannot make the agent run a program or a command: the agent runs only what is built in or set on the host, such as the command checks in its own file.
Each host has its own token. The panel shows it once, the server stores only its SHA-256 hash, and you can replace it at any time. The agent keeps unsent data on disk for up to one hour or 20 MiB, then drops the oldest. The server acknowledges a batch only after storing it and its sequence number, so a batch sent twice counts once.
See Agents and service isolation and Agent permissions for Docker socket access.
Scripted or browser checks
kogut has no script, browser, or remote command checks, and will not add them: code a server sends to its probes becomes remote code execution on every host once someone takes over the server. See No code from the server and Checks.
For what only a script on a host can see, such as replication lag or the age of the last backup, write a command check on that host. The server never sees or changes the command.
Telemetry
kogut does not count installations or check for updates. See Outbound connections for the requests it makes.
Licence
MIT. There is no paid edition.
Two-factor sign-in
kogut has no one-time codes or passkeys of its own. Use your identity provider’s through OpenID Connect or forward auth, then turn passwords off so the password form cannot skip the second factor.
Team isolation
One instance serves one team, with admins and viewers. Separate customers need separate instances.
Configuration in git
kogut.toml holds services, checks, heartbeats,
notification channels, and branding. kogut reloads it and shows its objects read-only in
the panel. Objects made in the panel stay in the database: kogut export
prints them as kogut.toml, and the file takes each one over with its history. A file
object with the name of a panel object but another definition rejects the file.
Plugins and custom metrics
kogut has no plugins, custom dashboards, or arbitrary metric series. Instead:
- Accept the checks the panel suggests for what the agent discovered.
- Edit
kogut.toml, by hand or with an assistant that proposes the text. - Connect from outside: heartbeats, webhook channels, deploys and changes, the HTTP API, and MCP.
- For what only a script on a host can see, write a command check. Its number belongs to a check with a state, because incidents name likely causes only from signals whose meaning kogut knows.
- Propose a new check type or notification channel in a pull request; see Contributing.
Self-monitoring
kogut can monitor its own server, but cannot notify you while that server is down. Run it on another machine or set up an external watchdog.
Moving from another tool
kogut does not import other tools’ settings. The guides under Coming from map them
to kogut.toml, and agent discovery finds services on your
hosts.
Bug reports
Report bugs in the issue tracker with your version, what you did, and what you expected. Report vulnerabilities privately, as Security describes.