capitalize headings
This commit is contained in:
16 files changed
+65
-65
No files matched your search
@@ -10,7 +10,7 @@
|
||||
| **Metrics** | Push-based `remote_write`, not pull-based scraping |
|
||||
| **Coverage** | All fleet hosts, confirmed live |
|
||||
|
||||
## Why push instead of pull — the actual reasoning
|
||||
## Why Push Instead Of Pull — The Actual Eeasoning
|
||||
|
||||
A pull-based model (Prometheus scraping every host directly) is the more common default, and it was rejected for a specific reason tied directly to [`docs/firewall-and-network.md`](firewall-and-network.md): scraping means the monitoring host needs inbound network access to every single host it monitors, which means punching a hole through the zero-blanket-allow firewall model for every host, every metrics port. A push model inverts that — only the monitoring host needs to accept inbound writes, and every other host only ever *initiates* outbound connections, which fits the existing "explicit outbound rule, default-deny inbound" posture instead of fighting it. The tradeoff is real: push-based metrics are slightly harder to reason about for ad-hoc debugging (no simple `curl` against a target to see what it'd report), but it was the right call given the network model already in place.
|
||||
|
||||
@@ -18,7 +18,7 @@ A pull-based model (Prometheus scraping every host directly) is the more common
|
||||
|
||||

|
||||
|
||||
## Agent install: deliberate, not default
|
||||
## Agent Install: deliberate, not default
|
||||
|
||||
> [!TIP]
|
||||
> The agent binary is downloaded directly from upstream releases and run under a hand-written systemd unit — not installed from a package repo or the vendor's own packaged service file. That's a real maintenance cost (manual version bumps instead of `apt upgrade` handling it), accepted because it keeps the exact version pinned and reproducible across the fleet through the same tag-driven Ansible model described in [`docs/iac-pipeline.md`](iac-pipeline.md), rather than whatever version a package repo happens to serve on a given day. Before install, a preflight check fails the run if the host doesn't run systemd, or if the root filesystem has too little free space for journald's own headroom, and configures/waits for time-sync confirmation (skipped on container-based hosts, where the clock can't be locally adjusted anyway).
|
||||
|
||||
Reference in new issue
Block a user