OpenStack получает vm cpu_util с версией Stein

В версии stein ceilometer удаляет опрос для cpu_util.

Следуйте этому документу: https://docs.openstack.org/ceilometer/stein/admin/telemetry-measurements.html#openstack-compute

Измеряются только cpu (используемое процессорное время) и vcpus (количество виртуальных процессоров, выделенных экземпляру).

И проверьте коммит github о ceilometer https://github.com/openstack/ceilometer/blob/4ae919c96e4116ab83e5d83f2b726ed44d165278/releasenotes/notes/save-rate-in-gnocchi-66244262bc4b7842.yaml,

Измерители cpu_util устарели.

и это обязательство об удалении трансформатора облакомера.

https://github.com/openstack/ceilometer/commit/9db5c6c9bfc66018aeb78c4a262e1bfa9b326798#diff-4161ff0e1519a6226d1117b428fc831a

Согласно сообщению фиксации, gnocchi обрабатывает данные преобразователя.

Итак, как использовать совокупный процессор gnocchi и vcpus для расчета использования процессора?


person dommgifer    schedule 20.05.2019    source источник


Ответы (1)


Хотя этому вопросу около трех месяцев, я надеюсь, что мой ответ все еще кому-то поможет.

Кажется, конвейерная обработка Ceilometer никогда не работала правильно. Как было замечено в оригинальном постере, команда разработчиков Ceilometer предприняла несколько решительные меры, чтобы отказаться от этой функции, а затем устареть. Следовательно, единственный измеритель ЦП, который остается в арсенале Ceilometer. — это накопленное процессорное время экземпляра, выраженное в наносекундах.

Чтобы рассчитать загрузку ЦП одного экземпляра на основе этого счетчика, вы можете использовать агрегацию скорости Gnocchi. Если rate:mean является одним из методов агрегирования в вашей политике архивирования, вы можете сделать следующее:

gnocchi measures show --resource-id <uuid> --aggregation rate:mean cpu

Или используйте функцию динамического агрегирования для того же результата:

gnocchi aggregates '(metric cpu rate:mean)' id=<uuid>

Первый параметр команды aggregates — это операция, определяющая, какие цифры вам нужны. Операции объясняются в документации Gnocchi API, особенно в разделе, в котором перечислены поддерживаемые операции и раздел примеров. Второй параметр — это выражение поиска, которое ограничивает вычисление экземплярами с этим конкретным UUID (конечно, такой экземпляр только один).

Пока что команда просто извлекает данные из базы данных Gnocchi. Однако вы можете извлекать данные из базы данных, затем объединять их на лету. Этот метод называется (или раньше назывался) повторным агрегированием. Таким образом, вам не нужно включать rate:mean в политику архивирования:

gnocchi aggregates '(aggregate rate:mean (metric cpu mean))' id=<uuid>

Числа выражены в наносекундах, что немного громоздко. Хорошие новости: агрегатные операции Gnocchi также поддерживают арифметику. Чтобы преобразовать наносекунды в секунды, разделите их на один миллиард:

gnocchi aggregates '(/ (aggregate rate:mean (metric cpu mean)) 1000000000)' id=<uuid>

И чтобы преобразовать их в проценты, разделите их на (степень детализации, умноженную на один миллиард), а затем умножьте результат на 100. Предположим, что степень детализации равна 60:

gnocchi aggregates '(* (/ (aggregate rate:mean (metric cpu mean)) 60000000000) 100)' id=<uuid>
person berndbausch    schedule 07.08.2019