3. Просмотр метрик
Собираемые метрики описаны в приложении Собираемые метрики.
3.1. Пользовательские метрики
Для добавления пользовательской метрики необходимо создать описывающий её файл с расширением .sh по пути /opt/rdbmonitor/exporter/UserMetrics.
Структура описания метрики:
#!/bin/bash
# Название метрики
echo "имя_метрики"
echo "#" # Разделительный символ
# Опциональный список меток
echo "имя_метки" # Название метки 1
echo "имя_метки" # Название метки 2
echo "#" # Разделительный символ
# Опциональный список характеристик меток
# Характеристика метки 1
echo "" # Состояние метки
echo "lable_var1" # Название метки 1
echo "lable_var2" # Название метки 2
echo "#" # Разделительный символ
# Характеристика метки 2
...
# Характеристика метки n
Пример описания метки:
#!/bin/bash
# Чтение значений памяти (в килобайтах)
read TOTAL_MEMORY FREE_MEMORY <<< $(awk '/MemTotal/ {t=$2} /MemFree/ {f=$2} END {print t, f}' /proc/meminfo)
# Расчет использованной памяти
USED_MEMORY=$((TOTAL_MEMORY - FREE_MEMORY))
# Блок с названием метрики
echo "meminfo"
# Разделительный символ
echo "#"
# Блок с названиями меток
echo "type" # Название метки
# Разделительный символ
echo "#"
# Блок со значением метрики (total)
echo "$TOTAL_MEMORY" # Вывод значения метрики
echo "total" # Значение метки
# Разделительный символ
echo "#"
# Блок со значением метрики (free)
echo "$FREE_MEMORY" # Вывод значения метрики
echo "free" # Значение метки
# Разделительный символ
echo "#"
# Блок со значением метрики (used)
echo "$USED_MEMORY" # Вывод значения метрики
echo "used" # Значение метки
Далее нужно включить отображение пользовательских метрик в exporter_conf.json,
настроив секцию "user_metrics":
"user_metrics": {
"enabled": true,
"timeout": <таймаут сбора метрики в секундах>,
"max_metric_labels": <максимальное кол-во метрик>,
"max_user_metrics": <максимальное кол-во пользовательских метрик>,
"max_metric_data_blocks": <максимальное кол-во блоков метрики>
}
Пользовательские метрики просматриваются только с помощью Prometheus.
Для просмотра пользовательских метрик в Grafana нужно самостоятельно создать панель.
3.2. Просмотр метрик с помощью Prometheus
Для просмотра метрик с помощью Prometheus нужно открыть в браузере страницу
запущенного Prometheus (по умолчанию http://localhost:9090/). Можете запустить Prometheus с другим портом:
sudo ./prometheus --web.listen-address=":8080"
По умолчанию для просмотра метрик используется нулевой часовой пояс, чтобы использовать локальное время укажите флаг Use local time:
Рис. 3.1 Использование локального времени
Чтобы узнать значение конкретной метрики, нужно ввести PromQL запрос.
Примеры PromQL запросов:
Вывод объёма базы данных:
rdb_database_size{database="employee_db", instance="127.0.0.1:3051"}Вывод скорости записи на диск в секунду:
irate(rdb_disks_io_bytes{instance="127.0.0.1:3051", database="employee_db", disk="sda1"}[1m])Вывод разницы между
Next transactionиOldest interesting transaction:rdb_transactions_markers{instance="127.0.0.1:3051", database="employee_db", marker="NT"} - ignoring(marker) rdb_transactions_markers{instance="127.0.0.1:3051", database="employee_db", marker="OIT"}
Средства визуализации Prometheus довольно скудны, поэтому для просмотра метрик лучше использовать Grafana.
3.3. Просмотр метрик с помощью Grafana
Для просмотра метрик с помощью Grafana откройте в браузере страницу запущенной Grafana
(по умолчанию http://localhost:3000/).
Для отображения собранной информации необходимо включить плагин РБДМонитор:
Выберите
Home\(\to\)Administration\(\to\)Plugins;В открывшейся вкладке перейдите в
Type\(\to\)Applications\(\to\)РБДМонитор;Нажмите на кнопку
Enable.
После этого в меню Apps будет добавлен плагин РБДМонитор.
После добавления источников (подробнее см. Grafana) необходимо указать их в настройках плагина РБДМонитор:
Рис. 3.2 Настройка плагина
После нажатия на РБДМонитор в списке приложений (Apps) откроется Обзорная страница.
3.4. Обзорная страница
На этой странице отображается краткая информация о каждом сервере. Для получения подробной информации о конкретном сервере нужно нажать на его адрес.
Рис. 3.3 Обзорная страница
3.5. Информация о выбранном сервере
На этой странице находится подробная информация о выбранном сервере.
Рис. 3.4 Обзор выбранного сервера - Часть 1
Рис. 3.5 Обзор выбранного сервера - Часть 2
График Загрузка ЦПУ показывает пользовательскую и системную нагрузку на процессор в зависимости от времени.
График Использование памяти показывает использование оперативной памяти в зависимости от времени.
Графиг Loadavg отображает среднее количество готовых к выполнению процессов в системе за определённое время: 1 минута, 5 минут и 15 минут.
График Насыщение памяти показывает использование SWAP в зависимости от времени.
Панель MCC и Machine Check Exceptions отображает количество ошибок в логе системы с сообщением, содержащим MCC или Machine Check Exceptions.
Панель Error-correction code отображает количество ошибок в логе системы с сообщением, содержащим ECC или Error-correction code.
График Использование дисков показывает какой процент времени занимают операции чтения c дисков и записи на них в зависимости от времени.
График Насыщение дисков показывает среднюю длину очереди для операций чтения c дисков и записи на них в зависимости от времени.
График Использование пространства дисков отображает среднюю заполненность файловых систем, находящихся на диске, в зависимости от времени.
График Использование сети показывает скорость отправки/получения пакетов (количество пакетов в секунду) в зависимости от времени.
График Насыщение сети показывает скорость потери пакетов (количество пакетов в секунду) в зависимости от времени.
График Ошибки сети показывает скорость возникновения ошибок (количество ошибок в секунду) отправки/получения пакетов в зависимости от времени.
СУБД
Рис. 3.6 Лог СУБД
Панель Лог файл СУБД показывает содержание файла firebird.log.
Рис. 3.7 Общая информация о СУБД
График Скорость подготовки запросов показывает скорость возникновения событий PREPARE_STATEMENT (количество событий в секунду) в зависимости от времени.
График Время обработки запросов отображает общее время выполнения запросов.
График Средняя скорость возникновения ошибок выполнения запросов показывает скорость возникновения ошибок при выполнении запроса.
График Средняя скорость завершения транзакций показывает скорость возникновения событий,
связанных с завершением транзакции (COMMIT, ROLLBACK, COMMIT_RETAINING, ROLLBACK_RETAINING), в зависимости от времени.
График Время обработки событий завершения транзакций отображает время, потраченное на выполнение событий, связанных с завершением транзакции.
График Средняя скорость возникновения ошибок выполнения транзакций показывает скорость возникновения ошибок при завершении транзакции.
Базы данных
На этой странице отображается краткая информация о каждой базе данных. Для получения подробной информации о конкретной базе нужно нажать на её имя.
Рис. 3.8 Обзор баз данных
Информация о выбранной базе данных
На этой странице находится подробная информация о базе данных.
Рис. 3.9 Обзор выбранной базы даннных - Часть 1
График Частота стартов транзакций показывает количество транзакций, запущенных за секунду, в зависимости от времени.
График Незавершённые транзакции показывает количество незавершённых транзакций (активных и бездействующих).
График Частота завершений транзакций показывает скорость возникновения транзакций завершения в зависимости от времени.
Рис. 3.10 Обзор выбранной базы даннных - Часть 2
График Объём базы данных показывает размер базы данных в зависимости от времени.
График Использование ОЗУ соединениями показывает использование оперативной памяти соединениями с выбранной базой данных.
График Количество соединений показывает количество активных соединений с выбранной базой данных.
График Изменение маркеров транзакций показывает изменение значения маркеров транзакций, произошедшее с прошлого запроса информации.
График Запросов/сек показывает скорость возникновения запросов (количество запросов в секунду) в зависимости от времени.
График Маркеры транзакций отражает значения маркеров транзакций.
Рис. 3.11 Обзор выбранной базы даннных - Часть 3
График Операции при завершении commit показывают количество операций reads, fetches, marks, writes, выполнившихся за секунду, при завершении транзакции commit.
График Операции при завершении rollback показывают количество операций reads, fetches, marks, writes, выполнившихся за секунду, при завершении транзакции rollback.
График Операции при завершении commit_retaining показывают количество операций reads, fetches, marks, writes, выполнившихся за секунду, при завершении транзакции commit_retaining.
График Операции при завершении rollback_retaining показывают количество операций reads, fetches, marks, writes, выполнившихся за секунду, при завершении транзакции rollback_retaining.
SQL запросы
На этой странице отображается краткая информация о выполненных запросах к выбранной базе данных. Для получения подробной информации о запросе нужно нажать на его хэш.
Рис. 3.12 SQL запросы выбранной базы данных
Обзор запроса
На данной странице находится подробная информация о выбранном запросе.
Рис. 3.13 Обзор запроса - Часть 1
Страница содержит текст запроса, план запроса и его изменения, информацию о количестве и времени выполнений.
Рис. 3.14 Обзор запроса - Часть 2
График События запроса показывает частоту возникновения событий подготовки и завершения запроса за выбранный промежуток времени.
График Операции над страницами показывает количество страниц считанных из страничного кэша, считанных с диска,
записанных на него и изменённых в страничном кэше в зависимости от времени.
График Время выполнения показывает время выполнения запроса. Среднее в моменте - среднее время выполнения по двум последним сборам метрик.
Накопительное среднее - среднее время выполнения за указанный промежуток времени.
Изменение плана включает/отключает отображение моментов времени, когда план запроса изменялся.
Соединения
На этой странице отображается краткая информация об активных соединениях с выбранной базе данных.
Для получения подробной информации о подключении нужно нажать на его ID.
Рис. 3.15 Соединения с базой данных
Обзор соединения
На данной странице находится подробная информация о выбранном соединении.
Рис. 3.16 Обзор соединения
Страница содержит информацию о длительности соединения, параметрах подключения, количестве обработанных страниц и объёме оперативной памяти, которая используется соединением.
Таблица блокировок
Содержание данной вкладки соответствует выводу утилиты rdb_lock_print в интерактивном режиме.
Также показано использование памяти таблицей блокировок.
Рис. 3.17 Использование памяти таблицей блокировок
Лог файл
Вкладка содержит результат анализа файла firebird.log.
Учитываются только события, относящиеся к выбранной базе данных.
Рис. 3.18 Анализ лог файла
Процессы
На этой странице отображается краткая информация о процессах СУБД.
Для получения подробной информации о процессе нужно нажать на его ID.
Рис. 3.19 Процессы СУБД
Страница показывает текущую нагрузку на процессор, использование памяти, объём записи и чтения диска,
объём памяти, выгруженой в SWAP.
Обзор процесса
На данной странице находится подробная информация о выбранном процессе.
Рис. 3.20 Обзор процесса
График Загрузка процессора показывает нагрузку на процессор всеми процессами в системе и выбранным процессом СУБД.
График Использование ОЗУ показывает использование оперативной памяти всеми процессами в системе и выбранным процессом СУБД.
График Потоки процесса показывает количество потоков, открытых для выполнения выбранного процесса.
График Использование процессора по типу нагрузки показывает системную и пользовательскую нагрузку при выполнении выбранного процесса.
SQL-запросы
На странице находится краткая информация о выполненных запросах, которые соответствуют заданному фильтру. По умолчанию отображаются 10 запросов, которые выполнялись чаще всего.
Для получения подробной информации о запросе нужно нажать на его хэш. Подробнее см. Обзор запроса.
Рис. 3.21 Запросы
Экспортёр
На странице находится информация о сборе метрик экспортёром.
Рис. 3.22 Экспортёр
Панель статус показывает интервалы работы экспортёра: зелёным цветом показано время, когда экспортёр работает и собирает метрики, а красным, когда он не запущен.
На других панелях находится информация о продолжительности сбора метрик с каждого источника данных.
Диски и рейды
На странице отображается информация о выбранных дисках.
Рис. 3.23 Информация о диске
Панель Пространство показывает общий и свободный объём памяти на диске и RAID-массиве.
График IOPS отображает количество операций ввода/вывода в секунду.
График Состояние показывает состояние RAID-массива:
Хорошее (
clean)Повреждён (
degraded)Синхронизация (
resyncing)Восстановление (
recovering)Неисправен (
faulty)
Обзор RAID-массива
На странице отображается подробная информация о выбранном RAID-массиве.
Рис. 3.24 Информация о RAID-массиве
Панель Количество дисков в RAID-массиве показывает число дисков, находящихся в конкретном состоянии.
Панель Состояние дисков RAID-массива показывает статус каждого диска:
unknown(неизвестное состояние диска)absent(диск отсутствует)active(диск активен)sync(диск синхронизирован)spare(запасной диск)write-mostly(диск используется преимущественно для записи)blocked(диск заблокирован)faulty(диск неисправен)
Диск может находиться сразу в нескольких состояниях, например "active sync".
3.6. Мониторинг кластеров
Необходимые настройки
Необходимо установить Сервер СУБД на каждый узел кластера по инструкции.
В конфигурационном файле prometheus.yml в параметре targets нужно указать сокет каждого узла.
Подробнее о настройке Prometheus см. Основные настройки Prometheus.
Обзор кластеров
На этой странице отображается краткая информация о каждом кластере. Для получения подробной информации о конкретном кластере нужно нажать на его имя.
Рис. 3.25 Обзор кластеров
Информация о выбранном кластере
Обзор
На данной странице представлена краткая информация о выбранном кластере. Подробнее о режиме обслуживания и настройках отказоустойчивого кластера см. в Документации по настройке отказоустойчивого кластера.
Рис. 3.26 Информация о выбранном кластере
Временные метки
Временные метки отображают время, затраченное на опрос состояния узла и кластера и публикацию собранной информации.
Рис. 3.27 Временные метки
Информация об узле кластера
На этой странице отображается информация о состоянии и временных метках конкретного узла кластера.
Рис. 3.28 Информация об узле кластера