Установка и настройка¶
Установка¶
Важно
Перед началом установки необходимо произвести настройку окружения. Все команды выполняются только от суперпользователя.
Режим суперпользователя:
sudo -i
Важно
Установка производится на управляющий узел. Для работы модуля необходимо установить службу OpenStack Nova API.
Перед началом установки сохраните список установленных ранее пакетов, это позволит Вам безболезненно восстановить систему в случае ее повреждения. Для этого выполните следующие команды:
mkdir -p /tmp/rollback/monitor pip3 freeze > /tmp/rollback/monitor/pip_before.txt
После чего в каталоге
/tmp/rollback/monitor
будет находиться файлpip_before.txt
с перечнем установленных приложений.Также сохраните версии миграции:
openstack aos db list -n monitor > /tmp/rollback/monitor/migrations.txt
Где:
/tmp/rollback/monitor/
- директория файла;migrations.txt
- наименование файла с версиями миграций.
Установите пакет Monitor:
pip3 install monitor
Сохраните список установленных пакетов после установки для возможности отката изменений:
pip3 freeze > /tmp/rollback/monitor/pip_after.txt
Примечание
Для установки Monitor на Astra Linux (Smolensk) выполните следующее:
Подключите предоставленный Вам репозиторий с пакетами AccentOS.
Установите пакет командой:
sudo apt install -y aos-monitor
Установка на двух и более контроллерах¶
При установке Monitor на двух и более контроллерах, необходимо устанавливать модуль с одинаковыми параметрами на каждый из контроллеров.
Примечание
Удаление и диагностика модуля на каждом контроллере происходит таким же образом, как и в случае с одним контроллером.
Настройка¶
Выполните первичную настройку модуля:
openstack aos configure -n monitor
Создайте каталог для логов с нужными правами:
mkdir -p /var/log/aos/monitor chown -R aos:aos /var/log/aos/monitor
Скопируйте образец конфигурационного файла, при использовании нестандартных параметров отредактируйте их (подробнее см. Файл конфигурации):
cp /etc/aos/monitor.conf.example /etc/aos/monitor.conf
Создайте базу данных на примере MySQL, настройте права, тип базы и остальные параметры:
# Зайдите в базу данных, используя пароль пользователя root mysql -uroot -p # Создайте базу данных monitor CREATE DATABASE monitor; # Дайте пользователю права на чтение, редактирование, выполнение любых действий над всеми таблицами базы данных monitor GRANT ALL PRIVILEGES ON monitor.* TO 'aos'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON monitor.* TO 'aos'@'%' IDENTIFIED BY 'password'; # Осуществите выход из базы данных
Отредактируйте секцию
[database]
конфигурационного файлаetc/aos/monitor.conf
, например:[database] url = mysql+pymysql://aos:password@tst.stand.loc:3306/monitor?charset=utf8
Выполните синхронизацию базы данных:
openstack aos db migrate -n monitor
Добавьте пользователя в RabbitMQ:
rabbitmqctl add_user aos password rabbitmqctl add_vhost aos rabbitmqctl set_permissions -p aos aos ".*" ".*" ".*" rabbitmqctl set_permissions aos ".*" ".*" ".*"
Создайте пользователя в OpenStack для API сервисов:
openstack user create --domain default --project service --project-domain default --password password --or-show aos
Назначьте пользователю роль service:
openstack role add --user aos --user-domain default --project service --project-domain default service
Включите и запустите службы systemd:
systemctl daemon-reload systemctl enable aos-monitor-api.service systemctl start aos-monitor-api.service systemctl enable aos-monitor-listener.service systemctl start aos-monitor-listener.service
Создайте сервис Monitor API:
openstack service create --name monitor --description "Monitor Service" monitor
Создайте точки входа:
openstack endpoint create --region RegionOne monitor internal http://controller:9363 openstack endpoint create --region RegionOne monitor admin http://controller:9363 openstack endpoint create --region RegionOne monitor public http://controller:9363
Настройка Zabbix¶
Настройка системы мониторинга Zabbix для работы с модулем Monitor.
Примечание
В разделе описан процесс создания проверки доступности FTP сервиса.
Авторизация¶
Перейдите по адресу веб-приложения Zabbix и, используя свои учетные данные, авторизуйтесь в сервисе:
Создание группы узлов сети¶
Перейдите в меню «Настройка»/«Группы узлов сети» и нажмите кнопку «Создать группу узлов сети»:
На открывшейся странице задайте имя группы узлов, например,
aos_group
, и нажмите «Добавить»:
Создание шаблона мониторинга¶
Перейдите в меню «Настройка»/«Шаблоны» и нажмите кнопку «Создать шаблон»:
На открывшейся странице задайте имя и группу узлов:
В нашем случае имя шаблона
ftp-check
, так как мы хотим проверять доступность FTP сервиса. В качестве группы узлов укажите созданную ранееaos_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 сервисов.
Дополнительно¶
Для корректной работы системы мониторинга необходимо настроить конфигурационный файл модуля Monitor -
/etc/aos/monitor.conf
. Пример:[zabbix] url = http://localhost/zabbix username = Admin password = zabbix host_group = aos
Где:
Проверить работу системы мониторинга можно в графическом интерфейсе Dashboard. Для этого необходимо на вкладке «Идентификация» - «Проекты» для нужного проекта настроить интеграцию с системой мониторинга Zabbix. Учетные данные пользователя Zabbix, созданного для интеграции проекта, понадобятся для авторизации в системе мониторинга Zabbix и просмотра данных мониторинга.
Далее на вкладке «Администратор» - «Интеграция» - «Мониторинг» выберите необходимую виртуальную машину проекта, для которого настроена интеграция с Zabbix, воспользуйтесь функцией «Управление шаблонами» и назначьте для машины необходмые шаблоны мониторинга.
Для просмотра данных мониторинга виртуальных машин авторизуйтесь в Zabbix, используя учетные данные пользователя, созданные на этапе настройки мониторинга для проекта.
Файл конфигурации¶
Примечание
Файл конфигурации позволяет переопределять секции и параметры общего файла aos.conf
для конкретного модуля.
Примечание
По умолчанию в файле monitor.conf.example
строки с уровнем логирования нет, она указывается при необходимости. Уровень логирования по умолчанию выставлен в общем конфигурационном файле. Подробнее ознакомиться с файлами конфигурации можно в соответствующем разделе.
Конфигурационный файл представлен в ini
формате и состоит из следующих секций и параметров:
Секция | Параметр | Описание | Значение по умолчанию |
---|---|---|---|
DEFAULT | ceilometer_meters | Список метрик, которые отображаются при запросе статистики работы виртуальных машин. | memory.usage, cpu, ne twork.incoming.bytes, network.outgoing.byte s, network.incoming.p ackets, network.outgo ing.packets |
DEFAULT | enable_backup | Параметр для включения или отключения функционала работы со службой Bareos. | False |
DEFAULT | enable_ceilometer_monitoring | Параметр для включения или отключения функционала работы со службой Ceilometer. | True |
DEFAULT | enable_zabbix_monitoring | Параметр для включения или отключения функционала работы со службой Zabbix. | True |
api | host | IP-адрес, на котором будет запущена служба Monitor API. | 0.0.0.0 |
api | logfile | Путь до лог файла службы aos-monitor-api. | |
api | port | Порт, на котором будет запущена служба Monitor API. | 9363 |
database | url | Настройка подключения к базе данных. | mysql+pymysql://aos:p assword@localhost:330 6/monitor?charset=utf 8 |
listener | logfile | Путь до лог файла службы aos-monitor-listener. | |
listener | nova_rabbit_vhost | Виртуальный хост RabbitMQ службы Nova. | / |
zabbix | host_group | Имя группы хостов, в которой по умолчанию будет осуществляться поиск шаблонов в Zabbix. | aos |
zabbix | password | Пароль пользователя с правами администратора в Zabbix. | zabbix |
zabbix | url | Путь к сервису Zabbix. | http://localhost/zabb ix |
zabbix | username | Имя пользователя с правами администратора в Zabbix. | Admin |
Дополнительные параметры¶
Секция | Параметр | Описание | Значение по умолчанию |
---|---|---|---|
DEFAULT |
traceback_enabled |
Параметр для вывода трассировки ошибки при логировании. Возможные значения:
Значения являются регистронезависимыми. |
false |
Пример конфигурационного файла¶
[DEFAULT]
enable_ceilometer_monitoring = true
enable_zabbix_monitoring = true
enable_backup = false
ceilometer_meters =
memory.usage,
cpu,
network.incoming.bytes,
network.outgoing.bytes,
network.incoming.packets,
network.outgoing.packets
[api]
port = 9363
logfile = /var/log/aos/monitor/monitor-api.log
[database]
url = mysql+pymysql://aos:password@localhost:3306/monitor
[listener]
logfile = /var/log/aos/monitor/listener.log
[nova_listener]
logfile = /var/log/aos/monitor/nova-listener.log
nova_rabbit_vhost = /
[zabbix]
url = http://localhost/zabbix
username = Admin
password = zabbix
host_group = aos
Важно
При изменении параметров файла конфигурации для вступления их в силу необходимо произвести процедуру, описанную в разделе «Обновление файла конфигурации».
План восстановления¶
В случае неудачной установки или обновления модуля Monitor выполните возврат к исходному состоянию:
Сравните версии миграций в файле
/tmp/rollback/monitor/migrations.txt
с текущими. При наличии отличий произведите миграцию на предыдущую версию. Пример миграции:openstack aos db list -n monitor openstack aos db migrate -n monitor --migration 14
Произведите возврат к предыдущему состоянию пакетов:
cd /tmp/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 pip3 uninstall -r pip_uninstall.txt pip3 install -r pip_install.txt