Установка и настройка

Важно

Вначале необходимо произвести настройку окружения. Все команды выполняются только от суперпользователя.

Режим суперпользователя:

sudo -i

Важно

Установка производится на управляющий узел. Для работы модуля необходимо установить службу OpenStack Nova API.

Установка

Установите модуль TIONIX.Monitor из репозитория RPM-пакетов:

yum -y install python-tionix_monitor

Установка на двух и более контроллерах

При установке TIONIX.Monitor на двух и более контроллерах, необходимо устанавливать модуль с одинаковыми параметрами на каждый из контроллеров.

Примечание

Удаление и диагностика модуля на каждом контроллере происходит таким же образом, как и в случае с одним контроллером.

Настройка

  1. Выполните первичную настройку модуля:

    openstack tnx configure -n tnx_monitor tnx_client
    
  2. Создайте каталог для логов с нужными правами:

    mkdir -p /var/log/tionix/monitor
    chown -R tionix:tionix /var/log/tionix/monitor
    
  1. Скопируйте образец конфигурационного файла, при использовании нестандартных параметров отредактируйте их (подробнее см. Файл конфигурации):

    cp /etc/tionix/monitor.yaml.example /etc/tionix/monitor.yaml
    
  2. Создайте базу данных на примере 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';
    # Осуществите выход из базы данных
    
  3. Выполните синхронизацию базы данных:

    openstack tnx db migrate -n tnx_monitor
    
  4. Добавьте пользователя в RabbitMQ:

    rabbitmqctl add_user tionix password
    rabbitmqctl add_vhost tionix
    rabbitmqctl set_permissions -p tionix tionix ".*" ".*" ".*"
    rabbitmqctl set_permissions tionix ".*" ".*" ".*"
    
  5. Создайте пользователя в OpenStack для API сервисов:

    openstack user create --domain default --project service --project-domain default --password password --or-show tionix
    
  6. Назначьте пользователю роль admin:

    openstack role add --user tionix --user-domain default --project service --project-domain default admin
    
  7. Включите и запустите службы 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
    systemctl enable tionix-monitor-tionix-listener.service
    systemctl start tionix-monitor-tionix-listener.service
    
  8. Перезапустите службы TIONIX:

    systemctl restart tionix-*
    
  9. Создайте сервис Monitor API:

    openstack service create --name tnx-monitor --description "TIONIX Monitor Service" tnx-monitor
    
  10. Создайте точки входа:

    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
    

Примечание

Рекомендуется убедиться, что системные службы настроены на автоматический запуск:

systemctl list-unit-files | grep tionix-monitor | grep enabled

В результате выполнения команды должен быть выведен список, содержащий 3 службы (tionix-monitor-\*).

Настройка Zabbix

Настройка системы мониторинга Zabbix для работы с модулем TIONIX.Monitor.

Примечание

В разделе описан процесс создания проверки доступности FTP сервиса.

Авторизация

Перейдите по адресу веб-приложения Zabbix и, используя свои учетные данные, авторизуйтесь в сервисе:

../../../_images/login1.png

Окно авторизации

Создание группы узлов сети

  1. Перейдите в меню «Настройка»/«Группы узлов сети» и нажмите кнопку «Создать группу узлов сети»:

    ../../../_images/create_host_group.png

    Список группы узлов

  2. На открывшейся странице задайте имя группы узлов, например, tionix_group, и нажмите «Добавить»:

    ../../../_images/add_host_group.png

    Форма создания группы узлов

Создание шаблона мониторинга

  1. Перейдите в меню «Настройка»/«Шаблоны» и нажмите кнопку «Создать шаблон»:

    ../../../_images/create_template.png

    Список шаблонов мониторинга

  2. На открывшейся странице задайте имя и группу узлов:

    ../../../_images/add_template.png

    Форма создания шаблона

    В нашем случае имя шаблона ftp-check, так как мы хотим проверять доступность FTP сервиса. В качестве группы узлов укажите созданную ранее tionix_group. Поля «Видимое имя», «Узлы сети / шаблоны» и «Описание» не обязательны к заполнению.

  3. После создания в шаблон необходимо добавить: группы элементов данных (Applications) и элементы данных (Items). Данные параметры будут отслеживать шаблон и триггеры, которые будут реагировать на изменение этих данных и срабатывать при заданных значениях.

Создание группы элементов данных

  1. Перейдите в меню «Настройка»/«Шаблоны», найдите в списке созданный шаблон ftp-check и нажмите на «Группы элементов данных»:

    ../../../_images/template_list.png

    Список шаблонов

  2. В открывшемся окне нажмите «Создать группу элементов данных»:

    ../../../_images/create_application.png

    Список групп элементов данных

  3. В форме создания укажите имя:

    ../../../_images/add_application.png

    Форма создания группы элементов данных

    Добавьте группу элементов кнопкой «Добавить».

Создание элемента данных

  1. Перейдите в меню «Настройка»/«Шаблоны», найдите в списке шаблон ftp-check и нажмите на «Элементы данных»:

    ../../../_images/item_list.png

    Список шаблонов

  2. В открывшемся окне нажмите «Создать элемент данных»:

    ../../../_images/create_item.png

    Перечень элементов данных шаблона

  3. На странице создания элемента данных заполните необходимые поля:

    ../../../_images/item_options.png

    Форма создания элемента данных

    • Имя – FTP.test;
    • Тип – простая проверка;
    • Ключ – net.tcp.service[ftp].

    Примечание

    Поле «Ключ» можно заполнить не вручную, а выбрать подходящий вариант из стандартных элементов данных, в нашем случае net.tcp.service[service,<ip>,<port>], который позволяет проверять любые TCP службы.

    ../../../_images/standart_items.png

    Перечень стандартных элементов данных

    • Интервал обновления (в сек) – 60;
    • Период хранения истории (в днях) – 7;
    • Отображение значения – Service state;
    • Группы элементов данных - Ftp service.

    Завершите процедуру создания элемента данных FTP.test кнопкой «Добавить».

После создания FTP.test будет осуществлять простую проверку FTP сервиса на удаленном узле, то есть без использования Zabbix клиента с интервалом в 60 секунд. Также созданный элемент был добавлен в группу элементов данных (Applications) Ftp service, которая была создана ранее.

Создание триггера

  1. Перейдите в «Настройка»/«Шаблоны», найдите в списке шаблон ftp-check и нажмите на «Триггеры»:

    ../../../_images/trigger_list.png

    Список шаблонов

  2. В открывшемся окне нажмите «Создать триггер»:

    ../../../_images/create_trigger.png

    Перечень триггеров шаблона

  3. На странице создания триггера заполните необходимые поля:

    ../../../_images/trigger_options.png

    Форма создания триггера

    • Имя – 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'
    

    Где:

    • HOST - адрес сервера Zabbix;
    • ADMIN_USER - логин для подключения к серверу Zabbix;
    • PASSWORD - пароль для подключения к серверу Zabbix;
    • HOST_GROUP - имя группу узлов Zabbix.
  • Проверить работу системы мониторинга можно в графическом интерфейсе TIONIX.Dashboard. Для этого перейдите во вкладку «ТИОНИКС/Метрики/Виртуальные машины», выберите необходимую виртуальную машину и воспользуйтесь функцией «Управление шаблонами».

Файл конфигурации

Примечание

По умолчанию в файле monitor.yaml.example строки с уровнем логирования нет, она указывается при необходимости. Уровень логирования по умолчанию выставлен в общем конфигурационном файле. Подробнее ознакомиться с файлами конфигурации можно в соответствующем разделе.

Конфигурационный файл представлен в yaml формате и состоит из следующих секций и параметров:

Параметр Описание Значение по умолчанию
DB

Настройки базы данных:

tionix_monitor
LOG_LEVEL

Уровень логирования. Доступные значения:

  • DEBUG;
  • INFO;
  • WARNING;
  • ERROR;
  • CRITICAL.

Значения являются регистронезависимыми. Подробное описание параметров доступно в разделе Уровни логирования.

INFO
CEILOMETER_METERS Список метрик, которые отображаются при запросе статистики работы виртуальных машин.  
ZABBIX

Настройка подключения к системе мониторинга Zabbix, где:

  • HOST - путь к сервису Zabbix;
  • ADMIN_USER - имя пользователя с правами администратора в Zabbix;
  • PASSWORD - пароль пользователя с правами администратора в Zabbix;
  • HOST_GROUP - имя группы хостов, в которой по умолчанию будет осуществляться поиск шаблонов в Zabbix.
  • HOST - localhost;
  • ADMIN_USER - Admin;
  • PASSWORD - zabbix;
  • HOST_GROUP - tionix.
ENABLE_CEILOMETER_MONITORING

Параметр для включения или отключения функционала работы со службой Ceilometer. Допустимые значения:

  • True;
  • False.

Значения являются регистронезависимыми.

True
ENABLE_ZABBIX_MONITORING

Параметр для включения или отключения функционала работы со службой Zabbix. Допустимые значения:

  • True;
  • False.

Значения являются регистронезависимыми.

True
ENABLE_BACKUP

Параметр для включения или отключения функционала работы со службой Bareos. Допустимые значения:

  • True;
  • False.

Значения являются регистронезависимыми.

False
SENTRY

Настройки логирования Sentry, где:

  • ENABLED - Флаг, отвечающий за отправку сообщений об ошибках в Sentry. Возможные значения:

    • True;
    • False.

    Значения являются регистронезависимыми.

  • DSN - Адрес сервера Sentry, содержит ключ пользователя и идентификатор проекта;

  • LOG_LEVEL - Уровень логирования в Sentry. Значения являются регистронезависимыми.

  • False;
  • Адрес внутреннего сервера Sentry;
  • CRITICAL.
MONITOR_API_AUDIT_ENABLED

Параметр, включающий аудит запросов службы Monitor API. Допустимые значения:

  • True;
  • False.
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

Параметр для вывода трассировки ошибки при логировании. Возможные значения:

  • True;
  • False.

Значения являются регистронезависимыми.

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

Важно

При изменении параметров файла конфигурации для вступления их в силу необходимо произвести процедуру, описанную в разделе «Обновление файла конфигурации».