Wenn die Überwachungsrechnung die Serverrechnung schlägt
Wie man die Kosten für Beobachtbarkeit senkt, ohne blind zu fliegen.
Wie man die Kosten für Beobachtbarkeit senkt, ohne blind zu fliegen.

Es gibt einen Moment, an dem viele Unternehmen ankommen: jemand in der Finanzwelt fragt, warum die Beobachtungsrechnung größer ist als die Rechenrechnung für die beobachteten Systeme. Es klingt absurd, aber es passiert oft. Die Kosten für die Beobachtungsfähigkeit sind in vielen Infrastrukturbudgets leise zu einem der größten Posten geworden.
Die meisten dieser Daten werden nicht wirklich verwendet. Es zu verhindern bedeutet nicht, dass man aus den Augen verliert, was passiert. Es bedeutet, wählerisch zu sein, was man behält.
user_id, request_id oder vollständige URLs erstellt für jeden eindeutigen Wert eine separate Zeitreihe. Millionen Serien, jede mit Rechnung.Bevor Sie etwas schneiden, messen Sie:
Sie werden fast immer feststellen, dass eine Handvoll Dienstleistungen und Kennzahlen den größten Teil der Rechnung ausmachen.
Die billigste Telemetrie ist die, die Sie nicht sammeln wollten, weil Sie wussten, dass niemand sie vermissen würde.
Du brauchst nicht jede Spur. Sie brauchen die interessanten.
Probenahme des Kopfes entscheidet zu Beginn eines Antrags, ob er aufbewahrt werden soll, z. B. 10% der Anträge. Einfach und billig, aber es könnte die eine fehlgeschlagene Anfrage wegwerfen, die du brauchst.
Stichprobenentnahme entscheidet, nachdem die Verfolgung abgeschlossen ist, so dass es alle Fehler, alle langsamen Anfragen und nur einen kleinen Prozentsatz der normalen erhalten kann. Der OpenTelemetry Collector unterstützt dies:
processors:
tail_sampling:
decision_wait: 10s
policies:
- name: keep-errors
type: status_code
status_code: { status_codes: [ERROR] }
- name: keep-slow
type: latency
latency: { threshold_ms: 1000 }
- name: sample-the-rest
type: probabilistic
probabilistic: { sampling_percentage: 5 }
Du behalten alles nützliche zum Debuggen, und lassen 90% + des Volumens fallen.
info oder warn in der Produktion, debug Nur bei der Untersuchung, im Idealfall schaltbar während der Ausführung./orders/{id} statt /orders/12345.Kommerzielle Plattformen sind praktisch und leistungsstark, aber die Preisgestaltung basierend auf Hosts, eingesetzten Gigabytes oder benutzerdefinierten Metriken kann schnell wachsen.
Open-Source-Stacks (Prometheus oder Mimir, Loki, Tempo, Grafana oder ClickHouse-basierte Tools wie SigNoz) können im Maßstab viel billiger sein, insbesondere bei Objektspeicher. Aber sie brauchen Leute, die sie führen, und das ist auch ein echter Preis.
Viele Unternehmen haben am Ende eine Mischung aus: OpenTelemetry überall, der Collector-Datenvermittlung, hochwertigen Daten zu einem kommerziellen Tool, Massendaten zu billigerem Self-Hosting-Speicher. Da OTel anbieterneutral ist, können Sie diese Aufteilung ändern, wenn sich die Preise ändern.
Finden Sie Ihre fünf besten Datenproduzenten. Schalten Sie die Schwanzprobenahme für Spuren ein, lassen Sie die Gesundheitsprotokolle fallen und entfernen Sie Ihre Etiketten mit der höchsten Kardinalität. Allein diese drei Änderungen senken oft die Kosten drastisch, und niemand bemerkt, dass er sich nicht mehr so gut sieht.
Meine Meinung: Beobachtbarkeit sollte Ihnen helfen, Ihr System zu verstehen, nicht um das Budget zu konkurrieren. Sammeln Sie mit Absicht, behalten Sie, was Sie verwenden, und lassen Sie den Rest gehen.
Desly