Как я могу отслеживать показатели постоянного объема в Kubernetes 1.13?

У меня есть кластер Kubernetes 1.13, работающий в Azure, и я использую несколько постоянных томов для нескольких приложений. У меня установлен мониторинг с помощью Prometheus, Alertmanager, Grafana.

Но я не могу получить никаких показателей, связанных с PV.

Вроде kubelet начал выставлять некоторые метрики из kubernetes 1.8, но снова перестал с 1.12

Я уже говорил с командой Azure о любом обходном пути для сбора метрик непосредственно из фактической файловой системы (в моем случае Azure Disk). Но даже это невозможно.

Я также слышал, как некоторые люди использовали коляски в модулях для сбора метрик PV. Но и в этом мне не помогут.

Было бы здорово, даже если бы я получил только базовые данные, такие как потребленное / доступное свободное пространство.


person AmartyaAC    schedule 18.07.2019    source источник


Ответы (1)


У меня была такая же проблема, и я решил ее, объединив две метрики:

avg(label_replace(
1 - node_filesystem_free_bytes{mountpoint=~".*pvc.*"} / node_filesystem_size_bytes,
"volumename", "$1",  "mountpoint", ".*(pvc-[^/]*).*")) by (volumename) 
+ on(volumename) group_left(namespace, persistentvolumeclaim)
(0 * kube_persistentvolumeclaim_info)

В качестве объяснения я добавляю метку volumename к каждому временному ряду node_filesystem*, вырезаю из существующей метки mountpoint и затем объединяю с другими метриками, содержащими дополнительные метки. Умножение на 0 гарантирует, что в противном случае это не работает.

Также быстрое предупреждение: я или вы можете использовать некоторые конфиги с перемаркировкой, из-за чего это не сработает немедленно без адаптации.

person TheAnonym    schedule 19.07.2019