Установка и настройка¶
Установка¶
Важно
Сначала необходимо произвести настройку окружения. Все команды выполняются только от суперпользователя.
Режим суперпользователя:
sudo -i
Важно
Модуль также устанавливается в процессе установки других модулей TIONIX.
Установите модуль TIONIX.Client из репозитория RPM-пакетов:
yum -y install python3-tionix_client
Настройка¶
Примечание
Рассматривается настройка запуска API сервиса журналирования через WSGI-сервер, поставляемый вместе с библиотекой eventlet
. Для настройки запуска сервиса через другой WSGI-сервер (Nginx + Gunicorn, Apache + mod_wsgi и др.) смотрите документацию соответствующего сервера. Путь до WSGI приложения: tionix_client.api.journal_api.wsgi
.
Выполните первичную настройку модуля:
openstack tnx configure -n tnx_client
Создайте каталог для лог файлов с нужными правами:
mkdir -p /var/log/tionix/client chown -R tionix:tionix /var/log/tionix/client
Скопируйте образец конфигурационного файла. При использовании нестандартных параметров отредактируйте их (подробнее см. Файл конфигурации):
cp /etc/tionix/tionix.yaml.example /etc/tionix/tionix.yaml
Создайте базу данных на примере MySQL, настройте права, тип базы и остальные параметры:
# Зайдите в базу данных, используя пароль пользователя root mysql -uroot -p # Создайте пользователя tionix c паролем password CREATE USER 'tionix'@'localhost' IDENTIFIED BY 'password'; # Создайте базу данных tionix CREATE DATABASE tionix; # Дайте пользователю права на чтение, редактирование, выполнение любых действий над всеми таблицами базы данных tionix GRANT ALL PRIVILEGES ON tionix.* TO 'tionix'@'localhost'; # Осуществите выход из базы данных
Выполните синхронизацию базы данных:
openstack tnx db migrate -n tnx_client
Настройте брокер сообщений RabbitMQ Server:
rabbitmqctl add_user tionix password rabbitmqctl add_vhost tionix rabbitmqctl set_permissions -p tionix tionix ".*" ".*" ".*" rabbitmqctl set_permissions tionix ".*" ".*" ".*"
Добавьте пользователю в RabbitMQ права на виртуальные хосты служб Openstack (по умолчанию
/
):rabbitmqctl set_permissions -p / tionix ".*" ".*" ".*"
Создайте пользователя в OpenStack для API сервисов:
openstack user create --domain default --project service --project-domain default --password password --or-show tionix
Назначьте пользователю роль admin:
openstack role add --user tionix --user-domain default --project service --project-domain default admin
Включите и запустите службы systemd:
systemctl daemon-reload systemctl enable tionix-journal-api.service systemctl start tionix-journal-api.service systemctl enable tionix-journal-keystone-listener.service systemctl start tionix-journal-keystone-listener.service systemctl enable tionix-journal-listener.service systemctl start tionix-journal-listener.service systemctl enable tionix-journal-nova-listener.service systemctl start tionix-journal-nova-listener.service
Создайте сервис Journal API:
openstack service create --name tnx-journal --description "TIONIX Journal Service" tnx-journal
Создайте точки входа (endpoint):
openstack endpoint create --region RegionOne tnx-journal internal http://controller:9360 openstack endpoint create --region RegionOne tnx-journal admin http://controller:9360 openstack endpoint create --region RegionOne tnx-journal public http://controller:9360
Перезапустите службы Nova, данное действие необходимо для включения журналирования:
systemctl restart openstack-nova-api
Настройка аудита действий над объектами OpenStack¶
Для логирования действий над объектами Nova нужно подключить фильтр аудита в конфигурационный файл сервиса:
В конфигурационный файл
/etc/nova/api-paste.ini
добавьте определение фильтра:[filter:tnx_audit] paste.filter_factory = tionix_client.journal.api_filter:filter_factory
Добавьте созданный фильтр в цепочку обработки API запроса в ключ
keystone
:[composite:openstack_compute_api_v21] use = call:nova.api.auth:pipeline_factory_v21 noauth2 = cors compute_req_id faultwrap sizelimit noauth2 osapi_compute_app_v21 keystone = cors compute_req_id faultwrap sizelimit authtoken keystonecontext tnx_audit osapi_compute_app_v21
Настройте отправку уведомлений в очередь сообщений в файле
/etc/nova/nova.conf
на управляющем узле и всех вычислительных узлах:[oslo_messaging_notifications] driver = messagingv2
Для логирования действий над объектами Keystone нужно выполнить следующие действия:
В конфигурационном файле
/etc/keystone/keystone.conf
задайте формат уведомлений:[DEFAULT] notification_format = cadf
Настройте драйвер сообщений в файле
/etc/keystone/keystone.conf
:[oslo_messaging_notifications] driver = messagingv2
Файл конфигурации¶
Модуль TIONIX.Client использует общий файл конфигурации - tionix.yaml
. После установки и настройки модуля убедитесь, что в директории etc/tionix
создался файл конфигурации tionix.yaml
. Если файл не создался, требуется создать его командой:
cp /etc/tionix/tionix.yaml.example /etc/tionix/tionix.yaml
Также проверьте содержимое файла, при необходимости изменив параметры на правильные. При изменении параметров необходимо перезапустить веб-сервер, службы TIONIX, а также службу Nova:
systemctl restart httpd
systemctl restart openstack-nova-api
systemctl restart tionix-*
Подробное описание параметров конфигурации доступно в разделе - «Общий файл конфигурации».