Установка и настройка¶
Важно
Вначале необходимо произвести настройку окружения. Все команды выполняются только от суперпользователя.
Режим суперпользователя:
sudo -i
Важно
Установка производится на управляющий узел. Для работы модуля необходимо установить службу OpenStack Nova API.
Установка¶
Перед началом установки сохраните список установленных ранее пакетов, это позволит Вам безболезненно восстановить систему в случае ее повреждения. Для этого выполните следующие команды:
mkdir -p /tmp/tionix_rollback/monitor pip freeze > /tmp/tionix_rollback/monitor/pip_before.txt
После чего в каталоге
/tmp/tionix_rollback/monitor
будет находиться файлpip_before.txt
с перечнем установленных приложений.Также сохраните версии миграции:
openstack tnx db list -n tnx_monitor > /tmp/tionix_rollback/monitor/migrations.txt
Где:
/tmp/tionix_rollback/monitor/
- директория файла;migrations.txt
- наименование файла с версиями миграций.
Установите пакет TIONIX.Monitor:
из репозитория Python-пакетов:
# Ubuntu, CentOS: pip install tionix-monitor
из репозитория RPM пакетов:
# ALT Linux 7: apt-get -y install python-module-tionix_monitor # CentOS: yum -y install python-tionix_monitor
Сохраните список установленных пакетов после установки для возможности отката изменений:
pip freeze > /tmp/tionix_rollback/monitor/pip_after.txt
Установка на двух и более контроллерах¶
При установке TIONIX.Monitor на двух и более контроллерах, необходимо устанавливать модуль с одинаковыми параметрами на каждый из контроллеров.
Примечание
Удаление и диагностика модуля на каждом контроллере происходит таким же образом, как и в случае с одним контроллером.
Настройка¶
Выполните первичную настройку модуля:
openstack tnx configure -n tnx_monitor tnx_client
Создайте каталог для логов с нужными правами:
mkdir -p /var/log/tionix/monitor chown -R tionix:tionix /var/log/tionix/monitor
Скопируйте образец конфигурационного файла, при использовании нестандартных параметров отредактируйте их (подробнее см. Файл конфигурации):
cp /etc/tionix/monitor.yaml.example /etc/tionix/monitor.yaml
Создайте базу данных на примере MySQL, настройте права, тип базы и остальные параметры:
# Зайдите в базу данных, используя пароль пользователя root mysql -uroot -p # Создайте пользователя tionix c паролем password CREATE USER 'tionix'@'localhost' IDENTIFIED BY 'password'; # Создайте базу данных tionix_monitor CREATE DATABASE tionix_monitor; # Дайте пользователю права на чтение, редактирование, выполнение любых действий над всеми таблицами базы данных tionix_monitor GRANT ALL PRIVILEGES ON tionix_monitor.* TO 'tionix'@'localhost'; # Осуществите выход из базы данных
Выполните синхронизацию базы данных:
openstack tnx db migrate -n tnx_monitor
Добавьте пользователя в RabbitMQ:
rabbitmqctl add_user tionix password rabbitmqctl add_vhost tionix rabbitmqctl set_permissions -p tionix tionix ".*" ".*" ".*" rabbitmqctl set_permissions tionix ".*" ".*" ".*"
Создайте пользователя в OpenStack для API сервисов:
openstack user create --domain default --project service --project-domain default --password password --or-show tionix
Назначьте пользователю роль service:
openstack role add --user tionix --user-domain default --project service --project-domain default service
Включите и запустите службы systemd:
systemctl daemon-reload systemctl enable tionix-monitor-api.service systemctl start tionix-monitor-api.service systemctl enable tionix-monitor-nova-listener.service systemctl start tionix-monitor-nova-listener.service
Создайте сервис Monitor API:
openstack service create --name tnx-monitor --description "TIONIX Monitor Service" tnx-monitor
Создайте точки входа:
openstack endpoint create --region RegionOne tnx-monitor internal http://controller:9363 openstack endpoint create --region RegionOne tnx-monitor admin http://controller:9363 openstack endpoint create --region RegionOne tnx-monitor public http://controller:9363
Настройка Zabbix¶
Настройка системы мониторинга Zabbix для работы с модулем TIONIX.Monitor.
Примечание
В разделе описан процесс создания проверки доступности FTP сервиса.
Авторизация¶
Перейдите по адресу веб-приложения Zabbix и, используя свои учетные данные, авторизуйтесь в сервисе:
Создание группы узлов сети¶
Перейдите в меню «Настройка»/«Группы узлов сети» и нажмите кнопку «Создать группу узлов сети»:
На открывшейся странице задайте имя группы узлов, например,
tionix_group
, и нажмите «Добавить»:
Создание шаблона мониторинга¶
Перейдите в меню «Настройка»/«Шаблоны» и нажмите кнопку «Создать шаблон»:
На открывшейся странице задайте имя и группу узлов:
В нашем случае имя шаблона
ftp-check
, так как мы хотим проверять доступность FTP сервиса. В качестве группы узлов укажите созданную ранееtionix_group
. Поля «Видимое имя», «Узлы сети / шаблоны» и «Описание» не обязательны к заполнению.После создания в шаблон необходимо добавить: группы элементов данных (Applications) и элементы данных (Items). Данные параметры будут отслеживать шаблон и триггеры, которые будут реагировать на изменение этих данных и срабатывать при заданных значениях.
Создание группы элементов данных¶
Перейдите в меню «Настройка»/«Шаблоны», найдите в списке созданный шаблон
ftp-check
и нажмите на «Группы элементов данных»:В открывшемся окне нажмите «Создать группу элементов данных»:
В форме создания укажите имя:
Добавьте группу элементов кнопкой «Добавить».
Создание элемента данных¶
Перейдите в меню «Настройка»/«Шаблоны», найдите в списке шаблон
ftp-check
и нажмите на «Элементы данных»:В открывшемся окне нажмите «Создать элемент данных»:
На странице создания элемента данных заполните необходимые поля:
- Имя –
FTP.test
; - Тип – простая проверка;
- Ключ –
net.tcp.service[ftp]
.
Примечание
Поле «Ключ» можно заполнить не вручную, а выбрать подходящий вариант из стандартных элементов данных, в нашем случае
net.tcp.service[service,<ip>,<port>]
, который позволяет проверять любые TCP службы.- Интервал обновления (в сек) – 60;
- Период хранения истории (в днях) – 7;
- Отображение значения – Service state;
- Группы элементов данных - Ftp service.
Завершите процедуру создания элемента данных
FTP.test
кнопкой «Добавить».- Имя –
После создания FTP.test
будет осуществлять простую проверку FTP сервиса на удаленном узле, то есть без использования Zabbix клиента с интервалом в 60 секунд. Также созданный элемент был добавлен в группу элементов данных (Applications) Ftp service, которая была создана ранее.
Создание триггера¶
Перейдите в «Настройка»/«Шаблоны», найдите в списке шаблон
ftp-check
и нажмите на «Триггеры»:В открывшемся окне нажмите «Создать триггер»:
На странице создания триггера заполните необходимые поля:
- Имя –
FTP service is down on {HOST.NAME}
; - Важность – Средняя;
- Выражение -
{ftp-check:net.tcp.service[ftp].max(#3)}=0
.
Завершите процедуру создания триггера
FTP service is down on {HOST.NAME}
кнопкой «Добавить».- Имя –
После создания триггер будет срабатывать в том случае когда за последние три опроса FTP сервиса от него не было получена ответа.
На этом процедура создания и настройки шаблона для проверки доступности FTP сервиса завершена. По такой же аналогии можно легко настроить шаблоны для SSH и HTTP сервисов.
Дополнительно¶
Для корректной работы системы мониторинга необходимо настроить конфигурационный файл модуля TIONIX.Monitor -
/etc/tionix/monitor.yaml
. Пример:ZABBIX: HOST: 'ip_address' ADMIN_USER: 'zabbix_user' PASSWORD: 'zabbix_password' HOST_GROUP: 'tionix_group'
Где:
Проверить работу системы мониторинга можно в графическом интерфейсе TIONIX.Dashboard. Для этого перейдите во вкладку «ТИОНИКС/Метрики/Виртуальные машины», выберите необходимую виртуальную машину и воспользуйтесь функцией «Управление шаблонами».
Файл конфигурации¶
Примечание
По умолчанию в файле monitor.yaml.example
строки с уровнем логирования нет, она указывается при необходимости. Уровень логирования по умолчанию выставлен в общем конфигурационном файле. Подробнее ознакомиться с файлами конфигурации можно в соответствующем разделе.
Конфигурационный файл представлен в yaml
формате и состоит из следующих секций и параметров:
Параметр | Описание | Значение по умолчанию |
---|---|---|
DB |
Настройки базы данных:
|
tionix_monitor |
LOG_LEVEL |
Уровень логирования. Доступные значения:
Значения являются регистронезависимыми. Подробное описание параметров доступно в разделе Уровни логирования. |
INFO |
CEILOMETER_METERS |
Список метрик, которые отображаются при запросе статистики работы виртуальных машин. | |
ZABBIX |
Настройка подключения к системе мониторинга Zabbix, где: |
|
ENABLE_CEILOMETER_MONITORING |
Параметр для включения или отключения функционала работы со службой Ceilometer. Допустимые значения:
Значения являются регистронезависимыми. |
True |
ENABLE_ZABBIX_MONITORING |
Параметр для включения или отключения функционала работы со службой Zabbix. Допустимые значения:
Значения являются регистронезависимыми. |
True |
ENABLE_BACKUP |
Параметр для включения или отключения функционала работы со службой Bareos. Допустимые значения:
Значения являются регистронезависимыми. |
False |
SENTRY |
Настройки логирования Sentry, где:
|
|
MONITOR_API_AUDIT_ENABLED |
Параметр, включающий аудит запросов службы Monitor API. Допустимые значения:
|
True |
MONITOR_API_LISTEN |
IP-адрес, на котором будет запущена служба Monitor API. | 0.0.0.0 |
MONITOR_API_LISTEN_PORT |
Порт, на котором будет запущена служба Monitor API. | 9363 |
MONITOR_API_LOGFILE |
Путь до лог файла службы tionix-monitor-api . |
/var/log/tionix/monitor/monitor-api.log |
MONITOR_NOVA_LISTENER_LOGFILE |
Путь до лог файла службы tionix-monitor-nova-listener . |
/var/log/tionix/monitor/nova-listener.log |
MONITOR_TIONIX_LISTENER_LOGFILE |
Путь до лог файла службы tionix-listener . |
/var/log/tionix/monitor/tionix-listener.log |
Дополнительные параметры¶
Параметр | Описание | Значение по умолчанию |
---|---|---|
TRACEBACK_ENABLED |
Параметр для вывода трассировки ошибки при логировании. Возможные значения:
Значения являются регистронезависимыми. |
False |
Пример конфигурационного файла¶
DB:
NAME: 'tionix_monitor'
LOG_LEVEL: 'INFO'
CEILOMETER_METERS:
- 'memory.usage'
- 'cpu_util'
- 'disk.read.requests.rate'
- 'disk.write.requests.rate'
- 'disk.read.bytes.rate'
- 'disk.write.bytes.rate'
- 'disk.latency'
- 'disk.iops'
- 'network.incoming.bytes.rate'
- 'network.outgoing.bytes.rate'
- 'network.incoming.packets.rate'
- 'network.outgoing.packets.rate'
ZABBIX:
HOST: 'localhost'
ADMIN_USER: 'Admin'
PASSWORD: 'zabbix'
HOST_GROUP: 'tionix'
ENABLE_CEILOMETER_MONITORING: True
ENABLE_ZABBIX_MONITORING: True
ENABLE_BACKUP: False
MONITOR_API_LISTEN: '0.0.0.0'
MONITOR_API_LISTEN_PORT: 9363
Важно
При изменении параметров файла конфигурации для вступления их в силу необходимо произвести процедуру, описанную в разделе «Обновление файла конфигурации».
План восстановления¶
В случае неудачной установки или обновления модуля TIONIX.Monitor выполните возврат к исходному состоянию:
Сравните версии миграций в файле
/tmp/tionix_rollback/monitor/migrations.txt
с текущими. При наличии отличий произведите миграцию на предыдущую версию. Пример миграции:openstack tnx db list -n tnx_monitor openstack tnx db migrate -n tnx_monitor --migration 14
Произведите возврат к предыдущему состоянию пакетов:
cd /tmp/tionix_rollback/monitor diff --changed-group-format='%>' --unchanged-group-format='' pip_before.txt pip_after.txt > pip_uninstall.txt diff --changed-group-format='%<' --unchanged-group-format='' pip_before.txt pip_after.txt > pip_install.txt pip uninstall -r pip_uninstall.txt pip install -r pip_install.txt