Ceilometer использование
Обзор
Службы сбора данных телеметрии предоставляют следующие функции:
- Эффективно опрашивает данные измерений, связанные с услугами OpenStack.
- Собирает данные о событиях и измерениях, отслеживая уведомления, отправленные службами.
- Публикует собранные данные для различных целей, включая хранилища данных и очереди сообщений.
Служба телеметрии состоит из следующих компонентов:
- Вычислительный агент (
ceilometer-agent-compute
)
Запускается на каждом вычислительном узле и опрашивает статистику использования ресурсов.
- Центральный агент (
ceilometer-agent-central
)
Запускается на сервере центрального управления для опроса статистики использования ресурсов для ресурсов, не привязанных к экземплярам или вычислительным узлам. Можно запустить несколько агентов для горизонтального масштабирования службы.
- Агент уведомления (
ceilometer-agent-notification
)
Работает на сервере (серверах) центрального управления и использует сообщения из очередей сообщений для создания данных о событиях и измерениях. Затем данные публикуются для определенных целей. По умолчанию данные передаются в Gnocchi .
Эти службы взаимодействуют с помощью шины обмена сообщениями OpenStack. Данные облакомера предназначены для публикации в различных конечных точках для хранения и анализа.
Установка на контроллер (контейнер)
apt-get update
apt-get install gnocchi-api gnocchi-metricd python-gnocchiclient
gnocchi-upgrade
apt-get install ceilometer-agent-notification ceilometer-agent-central
ceilometer-upgrade --skip-metering-database
groupadd -g 111 libvirt
useradd -G libvirt ceilometer
useradd -G nova ceilometer
Установка gnocchi
cd /opt
git clone https://github.com/gnocchixyz/gnocchi.git --depth=1 /opt/gnocchi
pip install wheel
pip install setuptools
pip install -c http://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/pike /opt/gnocchi
Установка клиента
pip install python-<project>client
barbican
- Key Manager Service APIceilometer
- Telemetry APIcinder
- Block Storage API and extensionscloudkitty
- Rating service APIdesignate
- DNS service APIfuel
- Deployment service APIglance
- Image service APIgnocchi
- Telemetry API v3heat
- Orchestration APIkeystone
- Identity service API and extensionsmagnum
- Containers service APImanila
- Shared file systems APImistral
- Workflow service APImonasca
- Monitoring APImurano
- Application catalog APIneutron
- Networking APInova
- Compute API and extensionssahara
- Data Processing APIsenlin
- Clustering service APIswift
- Object Storage APItrove
- Database service API
Ставим клиента ceilometer и gnocchi
pip install python-ceilometerclient
pip install python-gnocchiclient
Интеграция с Cinder
Добавить в /etc/cinder/cinder.conf
[oslo_messaging_notifications]
...
driver = messagingv2
Включите периодическую статистику использования, относящуюся к блочному хранилищу. Чтобы использовать ее, нужно запустить эту команду в следующем формате:
cinder-volume-usage-audit --start_time='2022-01-17 00:00:00' --end_time='2022-02-05 23:00:00' --send_actions
2022-02-05 22:38:51.570 2050 INFO cinder [req-3115d246-8248-49f1-9f7d-905f577c79d1 - - - - -] Starting volume usage audit
2022-02-05 22:38:51.570 2050 INFO cinder [req-3115d246-8248-49f1-9f7d-905f577c79d1 - - - - -] Creating usages for 2022-01-17 00:00:00+00:00 until 2022-02-05 23:00:00+00:00
2022-02-05 22:38:51.803 2050 INFO cinder [req-3115d246-8248-49f1-9f7d-905f577c79d1 - - - - -] Found 169 volumes
2022-02-05 22:39:00.512 2050 INFO cinder [req-3115d246-8248-49f1-9f7d-905f577c79d1 - - - - -] Found 0 snapshots
2022-02-05 22:39:00.523 2050 INFO cinder [req-3115d246-8248-49f1-9f7d-905f577c79d1 - - - - -] Found 0 backups
2022-02-05 22:39:00.523 2050 INFO cinder [req-3115d246-8248-49f1-9f7d-905f577c79d1 - - - - -] Volume usage audit completed
Добавить в cron для периодического запуска:
*/15 * * * * /usr/local/bin/cinder-volume-usage-audit --send_actions
Установка координатора Redis
По умолчанию используется координатор file. Но он не поддерживает нужную нам функциональность.
2022-02-05 23:34:37.222 115704 INFO gnocchi.service [-] Gnocchi version 3.1.16
2022-02-05 23:34:44.410 116038 WARNING gnocchi.cli [-] Configured coordination driver does not support required functionality. Coordination is disabled.: NotImplemented
Необходимо установить и настроить redis.
Проверка работы
gnocchi resource list --type image
IMAGE_ID=$(glance image-list | grep 'cirros' | awk '{ print $2 }')
glance image-download $IMAGE_ID > /tmp/cirros.img
Ошибка в логе gnocchi-metricd.log
ERROR gnocchi.cli TypeError: __init__() got an unexpected keyword argument 'encoding'
Ставим plotly
pip install plotly
Литература
- Официальное руководство по установке ceilometer: https://docs.openstack.org/ceilometer/pike/install/