Objekte und Zeitreihen zählen
Die Werkzeugfrage hängt an zwei Zahlen: wie viele Objekte du überwachen willst und wie viele Zeitreihen daraus entstehen. Beides misst du, statt es zu schätzen.
# Gesamtzahl der ausgelieferten Zeitreihen
curl -s http://localhost:9100/metrics | grep -c '^[a-zA-Z]'
# Verteilung auf die einzelnen Collectors
curl -s http://localhost:9100/metrics | grep '^[a-zA-Z]' \
| cut -d'{' -f1 | cut -d' ' -f1 | sort | uniq -c | sort -rn | head -20Der zweite Befehl zeigt dir, welche Collectors den Löwenanteil ausmachen. Ein Host mit vielen Mountpoints, Netzwerkkarten oder systemd-Units liefert ein Vielfaches eines Standardservers, und genau diese Hosts bestimmen deine Dimensionierung.
# Faustformel aus der Prometheus-Dokumentation:
# Plattenbedarf = Aufbewahrungsdauer(s) x Samples/s x Bytes pro Sample
# Nach Kompression liegt ein Sample bei etwa 1 bis 2 Byte.
# Beispiel: 300 Hosts, 900 Serien je Host, Scrape alle 15 s, 180 Tage
python3 -c 'print(round(180*86400 * (300*900/15) * 2 / 1024**3), "GiB")'
# Am laufenden System nachmessen statt schätzen
promtool tsdb analyze /var/lib/prometheus/data | head -30Die Rechnung ist die Obergrenze mit zwei Byte je Sample. Wichtiger als das Ergebnis ist die Erkenntnis, welcher Faktor dich umbringt: Halbierst du das Scrape-Intervall, verdoppelt sich der Bedarf, und ein einziges schlecht gewähltes Label kann alle drei Faktoren gleichzeitig sprengen.
Was die Werkzeuge im Kern unterscheidet
| Werkzeug | Datenmodell | Erfassung | Discovery | Passt, wenn |
|---|---|---|---|---|
| Prometheus | Zeitreihen mit Labels | Pull über HTTP | Kubernetes, Consul, Dateien, Cloud-APIs | Workloads kommen und gehen, du willst Kennzahlen und PromQL |
| Zabbix | Items je Host, relationale Datenbank | Agent, SNMP, IPMI, agentenlos | Netzwerk- und Low-Level-Discovery | Server, Switches und USV gehören ins selbe Werkzeug |
| Checkmk | Services je Host | Agent, SNMP, Spezial-Agents | automatische Service-Discovery je Host | viele gleichartige Hosts, wenig Betriebspersonal |
| Icinga 2 | Hosts und Services, Nagios-Plugin-API | Plugins lokal, per Agent oder über SSH | regelbasiert über Apply-Rules | vorhandene Nagios-Checks sollen weiterlaufen |
| Grafana Loki | Logzeilen mit Labels | Push über Alloy oder Promtail | keine eigene | Ergänzung für Logs, kein Ersatz für Metriken |