Оповещения Kubernetes: различия между версиями
Новая страница: « = Оповещения Kubernetes = '''Ключ-АСТРОМ''' предоставляет готовые оповещения для распространённых проблем '''Kubernetes''' в кластерах, нодах, пространствах имён, рабочих нагрузках и запросах на постоянные тома. Каждое оповещение — это либо оповещение о здоровье, ко...» |
Нет описания правки |
||
| Строка 100: | Строка 100: | ||
|Доступность мониторинга через API '''Ключ-АСТРОМ''' | |Доступность мониторинга через API '''Ключ-АСТРОМ''' | ||
|} | |} | ||
'''Обнаружение проблем мониторинга''' не имеет связанной метрики или выражения | '''Обнаружение проблем мониторинга''' не имеет связанной метрики или выражения — оно отслеживает доступность собственного мониторинга кластера '''Ключ-АСТРОМ''' на основе API, а не состояние кластера. | ||
==== Метрики | ==== Метрики для кластера ==== | ||
=== Нода === | === Нода === | ||
| Строка 156: | Строка 156: | ||
'''Обнаружение проблемных состояний ноды''' срабатывает при любом из следующих состояний: ContainerRuntimeProblem, ContainerRuntimeUnhealthy, CorruptDockerOverlay2, DiskPressure, FilesystemCorruptionProblem, FrequentContainerdRestart, FrequentDockerRestart, FrequentGcfsSnapshotterRestart, FrequentGcfsdRestart, FrequentKubeletRestart, FrequentUnregisterNetDevice, GcfsSnapshotterMissingLayer, GcfsSnapshotterUnhealthy, GcfsdUnhealthy, KernelDeadlock, KubeletProblem, KubeletUnhealthy, MemoryPressure, NetworkUnavailable, OutOfDisk, PIDPressure, ReadonlyFilesystem. | '''Обнаружение проблемных состояний ноды''' срабатывает при любом из следующих состояний: ContainerRuntimeProblem, ContainerRuntimeUnhealthy, CorruptDockerOverlay2, DiskPressure, FilesystemCorruptionProblem, FrequentContainerdRestart, FrequentDockerRestart, FrequentGcfsSnapshotterRestart, FrequentGcfsdRestart, FrequentKubeletRestart, FrequentUnregisterNetDevice, GcfsSnapshotterMissingLayer, GcfsSnapshotterUnhealthy, GcfsdUnhealthy, KernelDeadlock, KubeletProblem, KubeletUnhealthy, MemoryPressure, NetworkUnavailable, OutOfDisk, PIDPressure, ReadonlyFilesystem. | ||
==== Метрики | ==== Метрики для ноды ==== | ||
'''Обнаружение насыщения запросов CPU ноды''' | '''Обнаружение насыщения запросов CPU ноды''' | ||
{| class="wikitable" | {| class="wikitable" | ||
| Строка 164: | Строка 164: | ||
|Выражение метрики | |Выражение метрики | ||
|<pre>builtin:kubernetes.node.requests_cpu:splitBy(dt.kubernetes.node.system_uuid,k8s.node.name):sum/builtin:kubernetes.node.cpu_allocatable:splitBy(dt.kubernetes.node.system_uuid,k8s.node.name):sum*100.0</pre> | |<pre>builtin:kubernetes.node.requests_cpu:splitBy(dt.kubernetes.node.system_uuid,k8s.node.name):sum/builtin:kubernetes.node.cpu_allocatable:splitBy(dt.kubernetes.node.system_uuid,k8s.node.name):sum*100.0</pre> | ||
|} | |} | ||
'''Обнаружение насыщения запросов памяти ноды''' | '''Обнаружение насыщения запросов памяти ноды''' | ||
| Строка 175: | Строка 172: | ||
|Выражение метрики | |Выражение метрики | ||
|<pre>builtin:kubernetes.node.requests_memory:splitBy(dt.kubernetes.node.system_uuid,k8s.node.name):sum/builtin:kubernetes.node.memory_allocatable:splitBy(dt.kubernetes.node.system_uuid,k8s.node.name):sum*100.0</pre> | |<pre>builtin:kubernetes.node.requests_memory:splitBy(dt.kubernetes.node.system_uuid,k8s.node.name):sum/builtin:kubernetes.node.memory_allocatable:splitBy(dt.kubernetes.node.system_uuid,k8s.node.name):sum*100.0</pre> | ||
|} | |} | ||
'''Обнаружение насыщения подов ноды''' | '''Обнаружение насыщения подов ноды''' | ||
| Строка 186: | Строка 180: | ||
|Выражение метрики | |Выражение метрики | ||
|<pre>builtin:kubernetes.node.pods:filter(and(eq(pod_phase,Running))):splitBy(dt.kubernetes.node.system_uuid,k8s.node.name):sum/builtin:kubernetes.node.pods_allocatable:splitBy(dt.kubernetes.node.system_uuid,k8s.node.name):sum*100.0</pre> | |<pre>builtin:kubernetes.node.pods:filter(and(eq(pod_phase,Running))):splitBy(dt.kubernetes.node.system_uuid,k8s.node.name):sum/builtin:kubernetes.node.pods_allocatable:splitBy(dt.kubernetes.node.system_uuid,k8s.node.name):sum*100.0</pre> | ||
|} | |} | ||
'''Обнаружение проблем готовности ноды''' | '''Обнаружение проблем готовности ноды''' | ||
| Строка 197: | Строка 188: | ||
|Выражение метрики | |Выражение метрики | ||
|<pre>builtin:kubernetes.node.conditions:filter(and(eq(node_condition,Ready),ne(condition_status,True))):splitBy(dt.kubernetes.node.system_uuid,k8s.node.name):sum</pre> | |<pre>builtin:kubernetes.node.conditions:filter(and(eq(node_condition,Ready),ne(condition_status,True))):splitBy(dt.kubernetes.node.system_uuid,k8s.node.name):sum</pre> | ||
|} | |} | ||
'''Обнаружение проблемных состояний ноды''' | '''Обнаружение проблемных состояний ноды''' | ||
| Строка 208: | Строка 196: | ||
|Выражение метрики | |Выражение метрики | ||
|<pre>builtin:kubernetes.node.conditions:filter(and(or(eq(node_condition,ContainerRuntimeProblem),eq(node_condition,ContainerRuntimeUnhealthy),eq(node_condition,CorruptDockerOverlay2),eq(node_condition,DiskPressure),eq(node_condition,FilesystemCorruptionProblem),eq(node_condition,FrequentContainerdRestart),eq(node_condition,FrequentDockerRestart),eq(node_condition,FrequentGcfsSnapshotterRestart),eq(node_condition,FrequentGcfsdRestart),eq(node_condition,FrequentKubeletRestart),eq(node_condition,FrequentUnregisterNetDevice),eq(node_condition,GcfsSnapshotterMissingLayer),eq(node_condition,GcfsSnapshotterUnhealthy),eq(node_condition,GcfsdUnhealthy),eq(node_condition,KernelDeadlock),eq(node_condition,KubeletProblem),eq(node_condition,KubeletUnhealthy),eq(node_condition,MemoryPressure),eq(node_condition,NetworkUnavailable),eq(node_condition,OutOfDisk),eq(node_condition,PIDPressure),eq(node_condition,ReadonlyFilesystem)),eq(condition_status,True))):splitBy(dt.kubernetes.node.system_uuid,k8s.node.name):sum</pre> | |<pre>builtin:kubernetes.node.conditions:filter(and(or(eq(node_condition,ContainerRuntimeProblem),eq(node_condition,ContainerRuntimeUnhealthy),eq(node_condition,CorruptDockerOverlay2),eq(node_condition,DiskPressure),eq(node_condition,FilesystemCorruptionProblem),eq(node_condition,FrequentContainerdRestart),eq(node_condition,FrequentDockerRestart),eq(node_condition,FrequentGcfsSnapshotterRestart),eq(node_condition,FrequentGcfsdRestart),eq(node_condition,FrequentKubeletRestart),eq(node_condition,FrequentUnregisterNetDevice),eq(node_condition,GcfsSnapshotterMissingLayer),eq(node_condition,GcfsSnapshotterUnhealthy),eq(node_condition,GcfsdUnhealthy),eq(node_condition,KernelDeadlock),eq(node_condition,KubeletProblem),eq(node_condition,KubeletUnhealthy),eq(node_condition,MemoryPressure),eq(node_condition,NetworkUnavailable),eq(node_condition,OutOfDisk),eq(node_condition,PIDPressure),eq(node_condition,ReadonlyFilesystem)),eq(condition_status,True))):splitBy(dt.kubernetes.node.system_uuid,k8s.node.name):sum</pre> | ||
|} | |} | ||
| Строка 264: | Строка 249: | ||
|} | |} | ||
==== Метрики | ==== Метрики для пространства имён ==== | ||
'''Обнаружение насыщения квоты лимитов CPU пространства имён''' | '''Обнаружение насыщения квоты лимитов CPU пространства имён''' | ||
{| class="wikitable" | {| class="wikitable" | ||
| Строка 272: | Строка 257: | ||
|Выражение метрики | |Выражение метрики | ||
|<pre>builtin:kubernetes.resourcequota.limits_cpu_used:splitBy(k8s.namespace.name):sum/builtin:kubernetes.resourcequota.limits_cpu:splitBy(k8s.namespace.name):sum*100.0</pre> | |<pre>builtin:kubernetes.resourcequota.limits_cpu_used:splitBy(k8s.namespace.name):sum/builtin:kubernetes.resourcequota.limits_cpu:splitBy(k8s.namespace.name):sum*100.0</pre> | ||
|} | |} | ||
'''Обнаружение насыщения квоты запросов CPU пространства имён''' | '''Обнаружение насыщения квоты запросов CPU пространства имён''' | ||
| Строка 283: | Строка 265: | ||
|Выражение метрики | |Выражение метрики | ||
|<pre>builtin:kubernetes.resourcequota.requests_cpu_used:splitBy(k8s.namespace.name):sum/builtin:kubernetes.resourcequota.requests_cpu:splitBy(k8s.namespace.name):sum*100.0</pre> | |<pre>builtin:kubernetes.resourcequota.requests_cpu_used:splitBy(k8s.namespace.name):sum/builtin:kubernetes.resourcequota.requests_cpu:splitBy(k8s.namespace.name):sum*100.0</pre> | ||
|} | |} | ||
'''Обнаружение насыщения квоты лимитов памяти пространства имён''' | '''Обнаружение насыщения квоты лимитов памяти пространства имён''' | ||
| Строка 294: | Строка 273: | ||
|Выражение метрики | |Выражение метрики | ||
|<pre>builtin:kubernetes.resourcequota.limits_memory_used:splitBy(k8s.namespace.name):sum/builtin:kubernetes.resourcequota.limits_memory:splitBy(k8s.namespace.name):sum*100.0</pre> | |<pre>builtin:kubernetes.resourcequota.limits_memory_used:splitBy(k8s.namespace.name):sum/builtin:kubernetes.resourcequota.limits_memory:splitBy(k8s.namespace.name):sum*100.0</pre> | ||
|} | |} | ||
'''Обнаружение насыщения квоты запросов памяти пространства имён''' | '''Обнаружение насыщения квоты запросов памяти пространства имён''' | ||
| Строка 305: | Строка 281: | ||
|Выражение метрики | |Выражение метрики | ||
|<pre>builtin:kubernetes.resourcequota.requests_memory_used:splitBy(k8s.namespace.name):sum/builtin:kubernetes.resourcequota.requests_memory:splitBy(k8s.namespace.name):sum*100.0</pre> | |<pre>builtin:kubernetes.resourcequota.requests_memory_used:splitBy(k8s.namespace.name):sum/builtin:kubernetes.resourcequota.requests_memory:splitBy(k8s.namespace.name):sum*100.0</pre> | ||
|} | |} | ||
'''Обнаружение насыщения квоты подов пространства имён''' | '''Обнаружение насыщения квоты подов пространства имён''' | ||
| Строка 316: | Строка 289: | ||
|Выражение метрики | |Выражение метрики | ||
|<pre>builtin:kubernetes.resourcequota.pods_used:splitBy(k8s.namespace.name):sum/builtin:kubernetes.resourcequota.pods:splitBy(k8s.namespace.name):sum*100.0</pre> | |<pre>builtin:kubernetes.resourcequota.pods_used:splitBy(k8s.namespace.name):sum/builtin:kubernetes.resourcequota.pods:splitBy(k8s.namespace.name):sum*100.0</pre> | ||
|} | |} | ||
| Строка 453: | Строка 423: | ||
'''Обнаружение рабочих нагрузок с неготовыми подами''' и '''Обнаружение рабочих нагрузок без готовых подов''' исключают поды, принадлежащие Jobs и CronJobs. | '''Обнаружение рабочих нагрузок с неготовыми подами''' и '''Обнаружение рабочих нагрузок без готовых подов''' исключают поды, принадлежащие Jobs и CronJobs. | ||
==== Метрики | ==== Метрики для рабочей нагрузки ==== | ||
'''Обнаружение насыщения использования CPU''' | '''Обнаружение насыщения использования CPU''' | ||
{| class="wikitable" | {| class="wikitable" | ||
| Строка 461: | Строка 431: | ||
|Выражение метрики | |Выражение метрики | ||
|<pre>(builtin:kubernetes.workload.cpu_usage:splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum/builtin:kubernetes.workload.limits_cpu:splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum):default(0.0)*100.0</pre> | |<pre>(builtin:kubernetes.workload.cpu_usage:splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum/builtin:kubernetes.workload.limits_cpu:splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum):default(0.0)*100.0</pre> | ||
|} | |} | ||
'''Обнаружение перезапусков контейнеров''' | '''Обнаружение перезапусков контейнеров''' | ||
| Строка 472: | Строка 439: | ||
|Выражение метрики | |Выражение метрики | ||
|<pre>builtin:kubernetes.container.restarts:splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum:default(0.0)</pre> | |<pre>builtin:kubernetes.container.restarts:splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum:default(0.0)</pre> | ||
|} | |} | ||
'''Обнаружение высокого троттлинга CPU''' | '''Обнаружение высокого троттлинга CPU''' | ||
| Строка 483: | Строка 447: | ||
|Выражение метрики | |Выражение метрики | ||
|<pre>(builtin:kubernetes.workload.cpu_throttled:splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum/builtin:kubernetes.workload.limits_cpu:splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum):default(0.0)*100.0</pre> | |<pre>(builtin:kubernetes.workload.cpu_throttled:splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum/builtin:kubernetes.workload.limits_cpu:splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum):default(0.0)*100.0</pre> | ||
|} | |} | ||
'''Обнаружение событий сбоя задания''' | '''Обнаружение событий сбоя задания''' | ||
| Строка 494: | Строка 455: | ||
|Выражение метрики | |Выражение метрики | ||
|<pre>builtin:kubernetes.events:filter(and(or(eq(k8s.event.reason,BackoffLimitExceeded),eq(k8s.event.reason,DeadlineExceeded),eq(k8s.event.reason,PodFailurePolicy)),or(eq(k8s.workload.kind,job),eq(k8s.workload.kind,cronjob)))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum:default(0.0)</pre> | |<pre>builtin:kubernetes.events:filter(and(or(eq(k8s.event.reason,BackoffLimitExceeded),eq(k8s.event.reason,DeadlineExceeded),eq(k8s.event.reason,PodFailurePolicy)),or(eq(k8s.workload.kind,job),eq(k8s.workload.kind,cronjob)))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum:default(0.0)</pre> | ||
|} | |} | ||
'''Обнаружение насыщения использования памяти''' | '''Обнаружение насыщения использования памяти''' | ||
| Строка 505: | Строка 463: | ||
|Выражение метрики | |Выражение метрики | ||
|<pre>(builtin:kubernetes.workload.memory_working_set:splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum/builtin:kubernetes.workload.limits_memory:splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum):default(0.0)*100.0</pre> | |<pre>(builtin:kubernetes.workload.memory_working_set:splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum/builtin:kubernetes.workload.limits_memory:splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum):default(0.0)*100.0</pre> | ||
|} | |} | ||
'''Обнаружение убийств из-за нехватки памяти''' | '''Обнаружение убийств из-за нехватки памяти''' | ||
| Строка 516: | Строка 471: | ||
|Выражение метрики | |Выражение метрики | ||
|<pre>builtin:kubernetes.container.oom_kills:splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum:default(0.0)</pre> | |<pre>builtin:kubernetes.container.oom_kills:splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum:default(0.0)</pre> | ||
|} | |} | ||
'''Обнаружение событий отката подов''' | '''Обнаружение событий отката подов''' | ||
| Строка 527: | Строка 479: | ||
|Выражение метрики | |Выражение метрики | ||
|<pre>builtin:kubernetes.events:filter(and(eq(k8s.event.reason,BackOff))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum:default(0.0)</pre> | |<pre>builtin:kubernetes.events:filter(and(eq(k8s.event.reason,BackOff))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum:default(0.0)</pre> | ||
|} | |} | ||
'''Обнаружение событий вытеснения подов''' | '''Обнаружение событий вытеснения подов''' | ||
| Строка 538: | Строка 487: | ||
|Выражение метрики | |Выражение метрики | ||
|<pre>builtin:kubernetes.events:filter(and(eq(k8s.event.reason,Evicted))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum:default(0.0)</pre> | |<pre>builtin:kubernetes.events:filter(and(eq(k8s.event.reason,Evicted))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum:default(0.0)</pre> | ||
|} | |} | ||
'''Обнаружение событий вытеснения приоритетов подов''' | '''Обнаружение событий вытеснения приоритетов подов''' | ||
| Строка 549: | Строка 495: | ||
|Выражение метрики | |Выражение метрики | ||
|<pre>builtin:kubernetes.events:filter(or(eq(k8s.event.reason,Preempted),eq(k8s.event.reason,Preempting))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum:default(0.0)</pre> | |<pre>builtin:kubernetes.events:filter(or(eq(k8s.event.reason,Preempted),eq(k8s.event.reason,Preempting))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum:default(0.0)</pre> | ||
|} | |} | ||
'''Обнаружение подов, застрявших в состоянии Pending''' | '''Обнаружение подов, застрявших в состоянии Pending''' | ||
| Строка 560: | Строка 503: | ||
|Выражение метрики | |Выражение метрики | ||
|<pre>builtin:kubernetes.pods:filter(and(eq(pod_phase,Pending))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum</pre> | |<pre>builtin:kubernetes.pods:filter(and(eq(pod_phase,Pending))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum</pre> | ||
|} | |} | ||
'''Обнаружение подов, застрявших в состоянии Terminating''' | '''Обнаружение подов, застрявших в состоянии Terminating''' | ||
| Строка 571: | Строка 511: | ||
|Выражение метрики | |Выражение метрики | ||
|<pre>builtin:kubernetes.pods:filter(and(eq(pod_status,Terminating))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum</pre> | |<pre>builtin:kubernetes.pods:filter(and(eq(pod_status,Terminating))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum</pre> | ||
|} | |} | ||
'''Обнаружение застрявших развёртываний''' | '''Обнаружение застрявших развёртываний''' | ||
| Строка 582: | Строка 519: | ||
|Выражение метрики | |Выражение метрики | ||
|<pre>builtin:kubernetes.workload.conditions:filter(and(eq(workload_condition,Progressing),eq(condition_status,False))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum</pre> | |<pre>builtin:kubernetes.workload.conditions:filter(and(eq(workload_condition,Progressing),eq(condition_status,False))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum</pre> | ||
|} | |} | ||
'''Обнаружение рабочих нагрузок с неготовыми подами''' | '''Обнаружение рабочих нагрузок с неготовыми подами''' | ||
| Строка 593: | Строка 527: | ||
|Выражение метрики | |Выражение метрики | ||
|<pre>builtin:kubernetes.pods:filter(and(ne(pod_phase,Failed),ne(pod_phase,Succeeded),ne(k8s.workload.kind,job),ne(k8s.workload.kind,cronjob),ne(pod_status,Terminating))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum-builtin:kubernetes.pods:filter(and(ne(pod_phase,Failed),ne(pod_phase,Succeeded),ne(k8s.workload.kind,job),ne(k8s.workload.kind,cronjob),eq(pod_condition,Ready),ne(pod_status,Terminating))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum:default(0.0)</pre> | |<pre>builtin:kubernetes.pods:filter(and(ne(pod_phase,Failed),ne(pod_phase,Succeeded),ne(k8s.workload.kind,job),ne(k8s.workload.kind,cronjob),ne(pod_status,Terminating))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum-builtin:kubernetes.pods:filter(and(ne(pod_phase,Failed),ne(pod_phase,Succeeded),ne(k8s.workload.kind,job),ne(k8s.workload.kind,cronjob),eq(pod_condition,Ready),ne(pod_status,Terminating))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum:default(0.0)</pre> | ||
|} | |} | ||
'''Обнаружение рабочих нагрузок без готовых подов''' | '''Обнаружение рабочих нагрузок без готовых подов''' | ||
| Строка 604: | Строка 535: | ||
|Выражение метрики | |Выражение метрики | ||
|<pre>builtin:kubernetes.pods:filter(and(ne(pod_phase,Failed),ne(pod_phase,Succeeded),ne(k8s.workload.kind,job),ne(k8s.workload.kind,cronjob))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum-builtin:kubernetes.pods:filter(and(ne(pod_phase,Failed),ne(pod_phase,Succeeded),ne(k8s.workload.kind,job),ne(k8s.workload.kind,cronjob),ne(pod_condition,Ready))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum:default(0.0)</pre> | |<pre>builtin:kubernetes.pods:filter(and(ne(pod_phase,Failed),ne(pod_phase,Succeeded),ne(k8s.workload.kind,job),ne(k8s.workload.kind,cronjob))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum-builtin:kubernetes.pods:filter(and(ne(pod_phase,Failed),ne(pod_phase,Succeeded),ne(k8s.workload.kind,job),ne(k8s.workload.kind,cronjob),ne(pod_condition,Ready))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum:default(0.0)</pre> | ||
|} | |} | ||
| Строка 636: | Строка 564: | ||
|} | |} | ||
==== Метрики | ==== Метрики для запросов на постоянные тома ==== | ||
'''Обнаружение низкого дискового пространства (%)''' | '''Обнаружение низкого дискового пространства (%)''' | ||
{| class="wikitable" | {| class="wikitable" | ||
| Строка 644: | Строка 572: | ||
|Выражение метрики | |Выражение метрики | ||
|<pre>builtin:kubernetes.persistentvolumeclaim.available:splitBy(k8s.namespace.name,k8s.persistent_volume_claim.name):avg/builtin:kubernetes.persistentvolumeclaim.capacity:splitBy(k8s.namespace.name,k8s.persistent_volume_claim.name):avg*100.0</pre> | |<pre>builtin:kubernetes.persistentvolumeclaim.available:splitBy(k8s.namespace.name,k8s.persistent_volume_claim.name):avg/builtin:kubernetes.persistentvolumeclaim.capacity:splitBy(k8s.namespace.name,k8s.persistent_volume_claim.name):avg*100.0</pre> | ||
|} | |} | ||
'''Обнаружение низкого дискового пространства (MiB)''' | '''Обнаружение низкого дискового пространства (MiB)''' | ||
| Строка 655: | Строка 580: | ||
|Выражение метрики | |Выражение метрики | ||
|<pre>builtin:kubernetes.persistentvolumeclaim.available:splitBy(k8s.namespace.name,k8s.persistent_volume_claim.name):avg</pre> | |<pre>builtin:kubernetes.persistentvolumeclaim.available:splitBy(k8s.namespace.name,k8s.persistent_volume_claim.name):avg</pre> | ||
|} | |} | ||
Текущая версия от 15:41, 27 октября 2026
Оповещения Kubernetes
Ключ-АСТРОМ предоставляет готовые оповещения для распространённых проблем Kubernetes в кластерах, нодах, пространствах имён, рабочих нагрузках и запросах на постоянные тома. Каждое оповещение — это либо оповещение о здоровье, которое запускает расследование проблемы, либо предупреждающий сигнал, который отмечает потенциальную проблему без открытия проблемы. Подробнее об этой модели серьёзности см. в разделе «Оповещения о здоровье и предупреждающие сигналы».
Эта страница содержит список всех готовых оповещений Kubernetes с указанием их серьёзности, рекомендуемых значений по умолчанию, времени снятия оповещения и логики обнаружения.
Настройка
Чтобы просмотреть или изменить конфигурацию оповещений Kubernetes:
- Перейдите в Настройки.
- Выберите Анализ и оповещения > Оповещения.
- В разделе Kubernetes вы можете найти типы объектов.
- Просмотрите включённые оповещения и при необходимости скорректируйте пороги.
Вы также можете открыть конфигурацию оповещений непосредственно из кластера или пространства имён в Kubernetes (new).
Серьёзность и рекомендуемые значения по умолчанию
С последним обновлением Ключ-АСТРОМ оповещения Kubernetes, которые ранее создавали проблему, были переклассифицированы как предупреждающие сигналы. Эта переклассификация выполняется автоматически и применяется ко всем средам — она не требует изменения конфигурации.
Независимо от этого, рекомендуемые значения по умолчанию доступны для всех сред. Они определяют, какие оповещения включены и их пороги обнаружения, но не применяются автоматически — ваша текущая конфигурация не затрагивается, пока вы явно не примените их в разделе Настройки > Анализ и оповещения > Оповещения > Kubernetes.
Каждое оповещение имеет два независимых измерения:
- Включено/отключено: активно ли оповещение отслеживает вашу среду.
- Порог обнаружения: условие, которое запускает оповещение.
В таблицах справочника оповещений ниже:
- ¹ отмечает оповещения, включение или порог которых изменяется при применении рекомендуемых значений по умолчанию.
- ² отмечает оповещения, переклассифицированные из оповещения о здоровье в предупреждающий сигнал — уже действует, независимо от рекомендуемых значений по умолчанию.
Следующие оповещения в настоящее время отключены и становятся включёнными с серьёзностью Критическая при применении рекомендуемых значений по умолчанию. Просмотрите их перед применением, так как они начнут открывать проблемы.
| Оповещение | Условие срабатывания |
|---|---|
| Обнаружение застрявших развёртываний | Останавливается прогресс ≥ 3 мин; в течение 5 мин |
| Обнаружение рабочих нагрузок без готовых подов | Нет готовых подов ≥ 10 мин; в течение 15 мин |
| Обнаружение событий отката подов | На основе событий |
| Обнаружение событий вытеснения подов | На основе событий |
Доступные оповещения
Кластер
| Оповещение | Тип проблемы | Включено (рекомендуется) | Порог обнаружения (рекомендуется) | Серьёзность | Снятие оповещения через | Расчёт |
|---|---|---|---|---|---|---|
| Обнаружение проблем готовности кластера | Доступность | Да | Не готов ≥ 10 мин; в течение 15 мин | Оповещение о здоровье | 10 минут | Метрика Cluster readyz |
| Обнаружение насыщения запросов CPU кластера | Ресурс | Нет | > 90 % / ≥ 20 мин; в течение 30 мин | Предупреждающий сигнал ² | 10 минут | Запросы CPU нод / Выделяемый CPU нод |
| Обнаружение насыщения запросов памяти кластера | Ресурс | Нет | > 90 % / ≥ 20 мин; в течение 30 мин | Предупреждающий сигнал ² | 10 минут | Запросы памяти нод / Выделяемая память нод |
| Обнаружение насыщения подов кластера | Ресурс | Нет | > 90 % подов / ≥ 20 мин; в течение 30 мин | Предупреждающий сигнал ² | 10 минут | Сумма готовых подов / Сумма выделяемых подов |
| Обнаружение проблем мониторинга | Доступность | Да ¹ | Недоступно ≥ 20 мин; в течение 30 мин | Предупреждающий сигнал ¹ ² | 10 минут | Доступность мониторинга через API Ключ-АСТРОМ |
Обнаружение проблем мониторинга не имеет связанной метрики или выражения — оно отслеживает доступность собственного мониторинга кластера Ключ-АСТРОМ на основе API, а не состояние кластера.
Метрики для кластера
Нода
| Оповещение | Тип проблемы | Включено (рекомендуется) | Порог обнаружения (рекомендуется) | Серьёзность | Снятие оповещения через | Расчёт |
|---|---|---|---|---|---|---|
| Обнаружение проблем готовности ноды | Доступность | Да ¹ | Не готова ≥ 10 мин; в течение 20 мин | Предупреждающий сигнал ¹ ² | 10 минут | Метрика состояния ноды с фильтром 'not ready' |
| Обнаружение проблемных состояний ноды | Ошибка | Да ¹ | Проблемное ≥ 10 мин; в течение 20 мин | Предупреждающий сигнал ¹ ² | 10 минут | Метрика состояния нод |
| Обнаружение насыщения запросов CPU ноды | Ресурс | Нет | > 90 % / ≥ 20 мин; в течение 30 мин | Предупреждающий сигнал ² | 10 минут | Сумма запросов CPU ноды / Сумма выделяемого CPU нод |
| Обнаружение насыщения запросов памяти ноды | Ресурс | Нет | > 90 % / ≥ 20 мин; в течение 30 мин | Предупреждающий сигнал ² | 10 минут | Сумма запросов памяти ноды / Сумма выделяемой памяти нод |
| Обнаружение насыщения подов ноды | Ресурс | Нет | > 90 % подов / ≥ 20 мин; в течение 30 мин | Предупреждающий сигнал ² | 10 минут | Сумма работающих подов на ноде / Лимит подов ноды |
Обнаружение проблемных состояний ноды срабатывает при любом из следующих состояний: ContainerRuntimeProblem, ContainerRuntimeUnhealthy, CorruptDockerOverlay2, DiskPressure, FilesystemCorruptionProblem, FrequentContainerdRestart, FrequentDockerRestart, FrequentGcfsSnapshotterRestart, FrequentGcfsdRestart, FrequentKubeletRestart, FrequentUnregisterNetDevice, GcfsSnapshotterMissingLayer, GcfsSnapshotterUnhealthy, GcfsdUnhealthy, KernelDeadlock, KubeletProblem, KubeletUnhealthy, MemoryPressure, NetworkUnavailable, OutOfDisk, PIDPressure, ReadonlyFilesystem.
Метрики для ноды
Обнаружение насыщения запросов CPU ноды
| Тип | Выражение |
|---|---|
| Выражение метрики | builtin:kubernetes.node.requests_cpu:splitBy(dt.kubernetes.node.system_uuid,k8s.node.name):sum/builtin:kubernetes.node.cpu_allocatable:splitBy(dt.kubernetes.node.system_uuid,k8s.node.name):sum*100.0 |
Обнаружение насыщения запросов памяти ноды
| Тип | Выражение |
|---|---|
| Выражение метрики | builtin:kubernetes.node.requests_memory:splitBy(dt.kubernetes.node.system_uuid,k8s.node.name):sum/builtin:kubernetes.node.memory_allocatable:splitBy(dt.kubernetes.node.system_uuid,k8s.node.name):sum*100.0 |
Обнаружение насыщения подов ноды
| Тип | Выражение |
|---|---|
| Выражение метрики | builtin:kubernetes.node.pods:filter(and(eq(pod_phase,Running))):splitBy(dt.kubernetes.node.system_uuid,k8s.node.name):sum/builtin:kubernetes.node.pods_allocatable:splitBy(dt.kubernetes.node.system_uuid,k8s.node.name):sum*100.0 |
Обнаружение проблем готовности ноды
| Тип | Выражение |
|---|---|
| Выражение метрики | builtin:kubernetes.node.conditions:filter(and(eq(node_condition,Ready),ne(condition_status,True))):splitBy(dt.kubernetes.node.system_uuid,k8s.node.name):sum |
Обнаружение проблемных состояний ноды
| Тип | Выражение |
|---|---|
| Выражение метрики | builtin:kubernetes.node.conditions:filter(and(or(eq(node_condition,ContainerRuntimeProblem),eq(node_condition,ContainerRuntimeUnhealthy),eq(node_condition,CorruptDockerOverlay2),eq(node_condition,DiskPressure),eq(node_condition,FilesystemCorruptionProblem),eq(node_condition,FrequentContainerdRestart),eq(node_condition,FrequentDockerRestart),eq(node_condition,FrequentGcfsSnapshotterRestart),eq(node_condition,FrequentGcfsdRestart),eq(node_condition,FrequentKubeletRestart),eq(node_condition,FrequentUnregisterNetDevice),eq(node_condition,GcfsSnapshotterMissingLayer),eq(node_condition,GcfsSnapshotterUnhealthy),eq(node_condition,GcfsdUnhealthy),eq(node_condition,KernelDeadlock),eq(node_condition,KubeletProblem),eq(node_condition,KubeletUnhealthy),eq(node_condition,MemoryPressure),eq(node_condition,NetworkUnavailable),eq(node_condition,OutOfDisk),eq(node_condition,PIDPressure),eq(node_condition,ReadonlyFilesystem)),eq(condition_status,True))):splitBy(dt.kubernetes.node.system_uuid,k8s.node.name):sum |
Пространство имён
| Оповещение | Тип проблемы | Включено (рекомендуется) | Порог обнаружения (рекомендуется) | Серьёзность | Снятие оповещения через | Расчёт |
|---|---|---|---|---|---|---|
| Обнаружение насыщения квоты запросов CPU пространства имён | Ресурс | Нет | > 90 % / ≥ 20 мин; в течение 30 мин | Предупреждающий сигнал ² | 10 минут | Сумма использованного CPU квоты ресурсов / Сумма запросов CPU квоты ресурсов |
| Обнаружение насыщения квоты лимитов CPU пространства имён | Ресурс | Нет | > 90 % / ≥ 20 мин; в течение 30 мин | Предупреждающий сигнал ² | 10 минут | Сумма использованного CPU квоты ресурсов / Сумма лимитов CPU квоты ресурсов |
| Обнаружение насыщения квоты запросов памяти пространства имён | Ресурс | Нет | > 90 % / ≥ 20 мин; в течение 30 мин | Предупреждающий сигнал ² | 10 минут | Сумма использованной памяти квоты ресурсов / Сумма запросов памяти квоты ресурсов |
| Обнаружение насыщения квоты лимитов памяти пространства имён | Ресурс | Нет | > 90 % / ≥ 20 мин; в течение 30 мин | Предупреждающий сигнал ² | 10 минут | Сумма использованной памяти квоты ресурсов / Сумма лимитов памяти квоты ресурсов |
| Обнаружение насыщения квоты подов пространства имён | Ресурс | Нет | > 90 % / ≥ 20 мин; в течение 30 мин | Предупреждающий сигнал ² | 10 минут | Сумма использованных подов квоты ресурсов / Сумма лимитов подов квоты ресурсов |
Метрики для пространства имён
Обнаружение насыщения квоты лимитов CPU пространства имён
| Тип | Выражение |
|---|---|
| Выражение метрики | builtin:kubernetes.resourcequota.limits_cpu_used:splitBy(k8s.namespace.name):sum/builtin:kubernetes.resourcequota.limits_cpu:splitBy(k8s.namespace.name):sum*100.0 |
Обнаружение насыщения квоты запросов CPU пространства имён
| Тип | Выражение |
|---|---|
| Выражение метрики | builtin:kubernetes.resourcequota.requests_cpu_used:splitBy(k8s.namespace.name):sum/builtin:kubernetes.resourcequota.requests_cpu:splitBy(k8s.namespace.name):sum*100.0 |
Обнаружение насыщения квоты лимитов памяти пространства имён
| Тип | Выражение |
|---|---|
| Выражение метрики | builtin:kubernetes.resourcequota.limits_memory_used:splitBy(k8s.namespace.name):sum/builtin:kubernetes.resourcequota.limits_memory:splitBy(k8s.namespace.name):sum*100.0 |
Обнаружение насыщения квоты запросов памяти пространства имён
| Тип | Выражение |
|---|---|
| Выражение метрики | builtin:kubernetes.resourcequota.requests_memory_used:splitBy(k8s.namespace.name):sum/builtin:kubernetes.resourcequota.requests_memory:splitBy(k8s.namespace.name):sum*100.0 |
Обнаружение насыщения квоты подов пространства имён
| Тип | Выражение |
|---|---|
| Выражение метрики | builtin:kubernetes.resourcequota.pods_used:splitBy(k8s.namespace.name):sum/builtin:kubernetes.resourcequota.pods:splitBy(k8s.namespace.name):sum*100.0 |
Рабочая нагрузка
| Оповещение | Тип проблемы | Включено (рекомендуется) | Порог обнаружения (рекомендуется) | Серьёзность | Снятие оповещения через | Расчёт |
|---|---|---|---|---|---|---|
| Обнаружение перезапусков контейнеров | Ошибка | Да ¹ | ≥ 1 перезапуск за 3 мин; в течение 5 мин | Предупреждающий сигнал ¹ ² | 15 минут | Метрика перезапусков контейнеров |
| Обнаружение застрявших развёртываний | Ошибка | Да ¹ | Прогресс остановлен ≥ 3 мин; в течение 5 мин | Оповещение о здоровье ¹ | 10 минут | Метрика состояния рабочей нагрузки с фильтром 'not progressing' |
| Обнаружение подов, застрявших в состоянии Pending | Ресурс | Да ¹ | ≥ 1 под застрял ≥ 10 мин; в течение 15 мин | Предупреждающий сигнал ¹ ² | 10 минут | Метрика подов с фильтром по фазе 'Pending' |
| Обнаружение подов, застрявших в состоянии Terminating | Ресурс | Да ¹ | Завершение остановлено ≥ 10 мин; в течение 15 мин | Предупреждающий сигнал ¹ ² | 10 минут | Метрика подов с фильтром по статусу 'Terminating' |
| Обнаружение рабочих нагрузок без готовых подов | Ошибка | Да ¹ | Нет готовых подов ≥ 10 мин; в течение 15 мин | Оповещение о здоровье ¹ | 10 минут | Сумма неfailed подов − Сумма неfailed, неготовых подов |
| Обнаружение рабочих нагрузок с неготовыми подами | Ошибка | Нет | > 30 % неготовых; в течение 60 мин | Предупреждающий сигнал ² | 10 минут | Сумма неfailed подов − Сумма неfailed, готовых подов |
| Обнаружение насыщения использования памяти | Ресурс | Нет | > 90 % / ≥ 10 мин; в течение 15 мин | Предупреждающий сигнал ² | 10 минут | Сумма рабочего набора памяти рабочей нагрузки / Сумма лимитов памяти рабочей нагрузки |
| Обнаружение насыщения использования CPU | Ресурс | Нет | > 90 % / ≥ 10 мин; в течение 15 мин | Предупреждающий сигнал ² | 10 минут | Сумма рабочего набора памяти рабочей нагрузки / Сумма лимитов памяти рабочей нагрузки |
| Обнаружение высокого троттлинга CPU | Ресурс | Нет | > 100 % троттлинга / ≥ 20 мин; в течение 30 мин | Предупреждающий сигнал ² | 10 минут | Сумма троттлинга CPU рабочей нагрузки / Сумма лимитов CPU рабочей нагрузки |
| Обнаружение убийств из-за нехватки памяти | Ошибка | Да ¹ | На основе событий | Предупреждающий сигнал ¹ ² | 15 минут | Метрика убийств из-за нехватки памяти |
| Обнаружение событий сбоя задания | Ошибка | Да ¹ | На основе событий | Предупреждающий сигнал ¹ ² | 60 минут | Метрика событий с фильтром по причине и типу рабочей нагрузки |
| Обнаружение событий отката подов | Ошибка | Да ¹ | На основе событий | Оповещение о здоровье ¹ | 15 минут | Метрика событий с фильтром по причине |
| Обнаружение событий вытеснения подов | Ошибка | Да ¹ | На основе событий | Оповещение о здоровье ¹ | 60 минут | Метрика событий с фильтром по причине |
| Обнаружение событий вытеснения приоритетов подов | Ошибка | Да ¹ | На основе событий | Предупреждающий сигнал ¹ ² | 60 минут | Метрика событий с фильтром по причине |
Обнаружение событий сбоя задания срабатывает на события с причиной BackoffLimitExceeded, DeadlineExceeded или PodFailurePolicy, только для Jobs и CronJobs.
Обнаружение событий отката подов срабатывает на события с причиной BackOff — проверяйте поды со статусом ImagePullBackOff или CrashLoopBackOff.
Обнаружение событий вытеснения подов срабатывает на события с причиной Evicted.
Обнаружение событий вытеснения приоритетов подов срабатывает на события с причиной Preempted или Preempting.
Обнаружение рабочих нагрузок с неготовыми подами и Обнаружение рабочих нагрузок без готовых подов исключают поды, принадлежащие Jobs и CronJobs.
Метрики для рабочей нагрузки
Обнаружение насыщения использования CPU
| Тип | Выражение |
|---|---|
| Выражение метрики | (builtin:kubernetes.workload.cpu_usage:splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum/builtin:kubernetes.workload.limits_cpu:splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum):default(0.0)*100.0 |
Обнаружение перезапусков контейнеров
| Тип | Выражение |
|---|---|
| Выражение метрики | builtin:kubernetes.container.restarts:splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum:default(0.0) |
Обнаружение высокого троттлинга CPU
| Тип | Выражение |
|---|---|
| Выражение метрики | (builtin:kubernetes.workload.cpu_throttled:splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum/builtin:kubernetes.workload.limits_cpu:splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum):default(0.0)*100.0 |
Обнаружение событий сбоя задания
| Тип | Выражение |
|---|---|
| Выражение метрики | builtin:kubernetes.events:filter(and(or(eq(k8s.event.reason,BackoffLimitExceeded),eq(k8s.event.reason,DeadlineExceeded),eq(k8s.event.reason,PodFailurePolicy)),or(eq(k8s.workload.kind,job),eq(k8s.workload.kind,cronjob)))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum:default(0.0) |
Обнаружение насыщения использования памяти
| Тип | Выражение |
|---|---|
| Выражение метрики | (builtin:kubernetes.workload.memory_working_set:splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum/builtin:kubernetes.workload.limits_memory:splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum):default(0.0)*100.0 |
Обнаружение убийств из-за нехватки памяти
| Тип | Выражение |
|---|---|
| Выражение метрики | builtin:kubernetes.container.oom_kills:splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum:default(0.0) |
Обнаружение событий отката подов
| Тип | Выражение |
|---|---|
| Выражение метрики | builtin:kubernetes.events:filter(and(eq(k8s.event.reason,BackOff))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum:default(0.0) |
Обнаружение событий вытеснения подов
| Тип | Выражение |
|---|---|
| Выражение метрики | builtin:kubernetes.events:filter(and(eq(k8s.event.reason,Evicted))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum:default(0.0) |
Обнаружение событий вытеснения приоритетов подов
| Тип | Выражение |
|---|---|
| Выражение метрики | builtin:kubernetes.events:filter(or(eq(k8s.event.reason,Preempted),eq(k8s.event.reason,Preempting))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum:default(0.0) |
Обнаружение подов, застрявших в состоянии Pending
| Тип | Выражение |
|---|---|
| Выражение метрики | builtin:kubernetes.pods:filter(and(eq(pod_phase,Pending))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum |
Обнаружение подов, застрявших в состоянии Terminating
| Тип | Выражение |
|---|---|
| Выражение метрики | builtin:kubernetes.pods:filter(and(eq(pod_status,Terminating))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum |
Обнаружение застрявших развёртываний
| Тип | Выражение |
|---|---|
| Выражение метрики | builtin:kubernetes.workload.conditions:filter(and(eq(workload_condition,Progressing),eq(condition_status,False))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum |
Обнаружение рабочих нагрузок с неготовыми подами
| Тип | Выражение |
|---|---|
| Выражение метрики | builtin:kubernetes.pods:filter(and(ne(pod_phase,Failed),ne(pod_phase,Succeeded),ne(k8s.workload.kind,job),ne(k8s.workload.kind,cronjob),ne(pod_status,Terminating))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum-builtin:kubernetes.pods:filter(and(ne(pod_phase,Failed),ne(pod_phase,Succeeded),ne(k8s.workload.kind,job),ne(k8s.workload.kind,cronjob),eq(pod_condition,Ready),ne(pod_status,Terminating))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum:default(0.0) |
Обнаружение рабочих нагрузок без готовых подов
| Тип | Выражение |
|---|---|
| Выражение метрики | builtin:kubernetes.pods:filter(and(ne(pod_phase,Failed),ne(pod_phase,Succeeded),ne(k8s.workload.kind,job),ne(k8s.workload.kind,cronjob))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum-builtin:kubernetes.pods:filter(and(ne(pod_phase,Failed),ne(pod_phase,Succeeded),ne(k8s.workload.kind,job),ne(k8s.workload.kind,cronjob),ne(pod_condition,Ready))):splitBy(k8s.namespace.name,k8s.workload.kind,k8s.workload.name):sum:default(0.0) |
Запросы на постоянные тома
| Оповещение | Тип проблемы | Включено (рекомендуется) | Порог обнаружения (рекомендуется) | Серьёзность | Снятие оповещения через | Расчёт |
|---|---|---|---|---|---|---|
| Обнаружение низкого дискового пространства (MiB) | Ресурс | Нет | ≤ 100 MiB осталось / ≥ 3 мин; в течение 5 мин | Предупреждающий сигнал ² | 10 минут | Метрика доступных байт статистики тома Kubelet |
| Обнаружение низкого дискового пространства (%) | Ресурс | Да ¹ | < 3 % доступно / ≥ 3 мин; в течение 5 мин | Предупреждающий сигнал ¹ ² | 10 минут | Доступные байты статистики тома / Ёмкость статистики тома |
Метрики для запросов на постоянные тома
Обнаружение низкого дискового пространства (%)
| Тип | Выражение |
|---|---|
| Выражение метрики | builtin:kubernetes.persistentvolumeclaim.available:splitBy(k8s.namespace.name,k8s.persistent_volume_claim.name):avg/builtin:kubernetes.persistentvolumeclaim.capacity:splitBy(k8s.namespace.name,k8s.persistent_volume_claim.name):avg*100.0 |
Обнаружение низкого дискового пространства (MiB)
| Тип | Выражение |
|---|---|
| Выражение метрики | builtin:kubernetes.persistentvolumeclaim.available:splitBy(k8s.namespace.name,k8s.persistent_volume_claim.name):avg |