> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Container-Host-Metriken

Host-Metriken für containerisierte Systeme werden vollständig unterstützt.

<Warning>
  **Warnung**: Damit Sie genaue Metriken von Ihren Containern erhalten, sind Container-Limits für Ihre überwachten Container erforderlich. Weitere Informationen finden Sie im Abschnitt [Container-Limits](#container-limits).
</Warning>

<Tip>
  **Hinweis**: Obwohl auch Heroku auf einem containerisierten System (LXC) läuft, unterstützen wir Host-Metriken dort nicht auf dieselbe Weise. Sehen Sie stattdessen den Abschnitt [Heroku-Unterstützung][heroku support].
</Tip>

<Tip>
  **Hinweis**: Diese Seite ist Teil des [Host-Metriken-Abschnitts](/metrics/host-metrics).
</Tip>

## Container-Limits

Damit Container-Host-Metriken genau sind, müssen für jeden Container Limits gesetzt werden. Das bedeutet, dass Sie Ihren Container so konfigurieren, dass ihm eine begrenzte Anzahl an CPUs und Speicher zugewiesen wird. Ohne diese Limits meldet der Container den maximal möglichen Wert dieser Metriken, was dazu führt, dass der Host beispielsweise Terabyte an verfügbarem Speicher meldet. Ein Container ohne konfiguriertes Swap oder ohne Swap-Unterstützung auf dem Host-System meldet den Wert `0`. Weitere Informationen dazu, wie Sie die CPU- und Speicher-Limits Ihres Containers begrenzen, finden Sie in der Dokumentation zu:

* Docker
  * [CPU](https://docs.docker.com/config/containers/resource_constraints/#cpu)
  * [memory](https://docs.docker.com/config/containers/resource_constraints/#memory)
* Kubernetes
  * [CPU](https://kubernetes.io/docs/tasks/configure-pod-container/assign-cpu-resource/)
  * [memory](https://kubernetes.io/docs/tasks/configure-pod-container/assign-memory-resource/)

## Unterstützte Metriken

Auf Systemen, die das virtuelle Dateisystem `/sys/fs` bereitstellen, werden die folgenden Metriken unterstützt.

| Metrik               | Beschreibung                                                                                                                                                             |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| CPU-Auslastung       | User und system in Prozent. <br /> Mehr zu [CPU-Metriken](https://blog.appsignal.com/2018/03/06/understanding-cpu-statistics.html) lesen Sie in unserem Academy-Artikel. |
| Load Average         | 1-Minuten-Load-Average auf dem Host.                                                                                                                                     |
| Speichernutzung      | Verfügbarer, freier und genutzter Speicher. Enthält auch Swap-Gesamt- und genutzten Swap.                                                                                |
| Speicherplatznutzung | Prozentsatz jeder genutzten Festplatte.                                                                                                                                  |
| Disk-IO              | Durchsatz der von jeder Festplatte gelesenen und auf jede Festplatte geschriebenen Daten.                                                                                |
| Netzwerkverkehr      | Durchsatz der über jede Netzwerkschnittstelle empfangenen und gesendeten Daten.                                                                                          |

### Über CPU-Metriken {/* id: cpu-metrics */}

Kurz gesagt:

* AppSignal meldet dieselben Metriken wie der Befehl [`docker stats`](https://docs.docker.com/engine/reference/commandline/stats/), jedoch gemeldet als Durchschnitt auf Minutenbasis.
* Die gemeldete CPU-Auslastung kann über 100 % liegen. 100 % entspricht einem vollen virtuellen CPU-Kern.
* [Container-Limits](#container-limits) werden empfohlen, um die verfügbaren CPU-Ressourcen ordnungsgemäß zwischen Containern auszubalancieren.
* Wenn mehrere Container auf demselben Host-System sich CPU-Ressourcen teilen, können Container, die mehr CPU verbrauchen – auch mit [Container-Limits](#container-limits) – die gemeldete CPU-Auslastung anderer Container negativ beeinflussen.

Die Container-CPU-Metriken funktionieren etwas anders als [normale CPU-Metriken](/metrics/host-metrics). Sie sind von [Container-Limits](#container-limits) und davon abhängig, wie viele andere Container auf dem System aktiv sind. Das liegt daran, dass sie sich die Ressourcen des Container-Systems teilen.

Anders als normale Host-Metriken kann die CPU-Auslastung über 100 % liegen. Das liegt daran, dass einem Container mehr als 1 virtueller CPU-Kern zur Verfügung stehen kann. Jeder volle Kern entspricht 100 %. Wenn ein Container beispielsweise drei Kerne hat, liegt das Maximum bei 300 %.

Andere Container auf dem System können die für den Container insgesamt verfügbare CPU-Zeit beeinflussen. [Limits](#container-limits) helfen dabei, eine bessere Balance der CPU-Auslastung zwischen Containern zu erhalten, sodass die Durchschnittswerte weniger stark von ausgelasteten Nachbarn abhängen. Wenn alle Container sich alle CPU-Ressourcen des Host-Systems teilen, kann die Auslastung auf einem Host die verfügbaren virtuellen CPU-Kerne auf einem anderen negativ beeinflussen.

Zum Beispiel:

Wir haben ein Docker-System auf unserem Host-Rechner, das 3 virtuelle CPU-Kerne zur Verfügung hat. Wir starten dann die Container A, B und C ohne spezifische CPU-Limits.

* Im Szenario, in dem Container A seine verfügbaren CPU-Kerne maximal auslastet und die anderen Container B und C bei 0 % im Leerlauf sind, wird dies als 300 % CPU-Auslastung für Container A gemeldet. Das ist die gesamte verfügbare CPU-Zeit im Container-System des Hosts.
* Wenn die drei Container alle ihre verfügbaren CPU-Kerne maximal auslasten, wird dies als 100 % CPU-Auslastung für jeden Container gemeldet, da die Ressourcen gleichmäßig unter ihnen aufgeteilt werden.

[heroku support]: /heroku/host-metrics.html
