Управление расширениями базы данных SAP Hana: различия между версиями
Azubarev (обсуждение | вклад) Нет описания правки |
|||
| Строка 1: | Строка 1: | ||
Расширение '''SAP HANA''' предназначено для удалённого сбора показателей работоспособности и производительности баз данных SAP HANA через АктивныйШлюз. | |||
Расширение подключается к SAP HANA с помощью JDBC, выполняет запросы к системным представлениям и передаёт в Ключ-АСТРОМ метрики, журнальные события и сведения для построения топологии. | |||
== | Идентификатор расширения: <code>ru.ruscomtech.extension.sql-sap-hana</code>. | ||
== Основные возможности == | |||
Расширение позволяет: | |||
* контролировать доступность и состояние SAP HANA; | |||
* отслеживать загрузку процессора, памяти, дисков и сети; | |||
* контролировать подключения и активные транзакции; | |||
* анализировать использование памяти хостами и сервисами; | |||
* контролировать резервное копирование; | |||
* отслеживать системную репликацию; | |||
* анализировать savepoint; | |||
* контролировать состояние сервисов SAP HANA; | |||
* отслеживать блокировки и заблокированные транзакции; | |||
* получать информацию о таблицах и занимаемом ими пространстве; | |||
* анализировать активные и ресурсоёмкие SQL-запросы; | |||
* контролировать кэш планов выполнения; | |||
* получать текущие предупреждения SAP HANA; | |||
* регистрировать события нехватки памяти; | |||
* получать информацию о диагностических файлах; | |||
* контролировать состояние лицензии SAP HANA; | |||
* создавать сущности хостов, баз данных и сервисов SAP HANA; | |||
* отображать данные на готовой обзорной панели. | |||
== Архитектура == | |||
Сбор данных выполняется по следующей схеме: | |||
<pre> | |||
Ключ-АСТРОМ | |||
| | |||
v | |||
АктивныйШлюз | |||
| | |||
| JDBC | |||
v | |||
SAP HANA | |||
</pre> | |||
Расширение работает удалённо. Установка ЕдиногоАгента непосредственно на сервер SAP HANA для сбора метрик расширения не требуется. | |||
АктивныйШлюз должен иметь сетевой доступ к SQL-порту SAP HANA. | |||
== Поддерживаемые системы == | |||
Расширение предназначено для SAP HANA версии 2.0 и более поздних поддерживаемых выпусков. | |||
Возможность работы с конкретной редакцией, вариантом размещения и исправлением SAP HANA рекомендуется предварительно проверять на тестовой конфигурации. | |||
== Предварительные требования == | |||
Перед настройкой убедитесь, что: | |||
* расширение установлено в среде Ключ-АСТРОМ; | |||
* назначена группа АктивныхШлюзов; | |||
* каждый АктивныйШлюз выбранной группы имеет доступ к SAP HANA; | |||
* на АктивномШлюзе установлен JDBC-драйвер SAP HANA; | |||
* известны имя узла и SQL-порт базы данных; | |||
* создан отдельный пользователь мониторинга; | |||
* пользователю выданы права на чтение системных представлений; | |||
* межсетевой экран разрешает подключение АктивногоШлюза к SAP HANA; | |||
* имя сервера разрешается через DNS либо используется IP-адрес; | |||
* при использовании SSL подготовлена доверенная цепочка сертификатов. | |||
== Создание пользователя мониторинга == | |||
Рекомендуется создать отдельного пользователя, предназначенного только для мониторинга. | |||
Пример: | |||
<pre> | |||
CREATE USER ASTROM_MONITOR | |||
PASSWORD "ЗАМЕНИТЕ_НА_НАДЕЖНЫЙ_ПАРОЛЬ" | |||
NO FORCE_FIRST_PASSWORD_CHANGE; | |||
</pre> | |||
Предоставьте пользователю роль <code>MONITORING</code>: | |||
<pre> | |||
GRANT MONITORING TO ASTROM_MONITOR; | |||
</pre> | |||
Роль <code>PUBLIC</code> назначается пользователям SAP HANA автоматически. | |||
Пользователь должен иметь возможность читать системные представления, используемые выбранными наборами функций. Если отдельный набор функций возвращает ошибку недостаточных прав, предоставьте доступ только к требуемому системному представлению. | |||
Не рекомендуется использовать для мониторинга системного администратора или пользователя с правами изменения данных. | |||
== Установка JDBC-драйвера == | |||
Драйвер SAP HANA не входит в пакет расширения и устанавливается отдельно на каждый АктивныйШлюз, который может выполнять конфигурацию. | |||
Требуется файл: | |||
<pre> | |||
ngdbc.jar | |||
</pre> | |||
Его можно получить из установленного SAP HANA Client. | |||
Стандартные расположения драйвера: | |||
'''Windows:''' | |||
<pre> | |||
C:\Program Files\SAP\hdbclient\ngdbc.jar | |||
</pre> | |||
'''Linux:''' | |||
<pre> | |||
/usr/sap/hdbclient/ngdbc.jar | |||
</pre> | |||
Скопируйте файл <code>ngdbc.jar</code> в каталог пользовательских библиотек АктивногоШлюза. | |||
'''Windows:''' | |||
<pre> | |||
C:\ProgramData\astromkey\remotepluginmodule\agent\conf\userdata\libs | |||
</pre> | |||
'''Linux:''' | |||
<pre> | |||
/var/lib/astromkey/remotepluginmodule/agent/conf/userdata/libs/ | |||
</pre> | |||
После установки или замены драйвера перезапустите службу АктивногоШлюза. | |||
Убедитесь, что пользователь, от имени которого работает служба АктивногоШлюза, имеет права на чтение файла. | |||
== Установка расширения == | |||
# Откройте раздел управления расширениями в Ключ-АСТРОМ. | |||
# Если расширение ещё не установлено, загрузите подписанный архив расширения. | |||
# Найдите расширение '''SAP HANA'''. | |||
# Откройте страницу расширения. | |||
# Создайте конфигурацию мониторинга. | |||
# Выберите группу АктивныхШлюзов. | |||
# Добавьте конечную точку SAP HANA. | |||
# Укажите учётные данные. | |||
# Выберите необходимые наборы функций. | |||
# Сохраните и активируйте конфигурацию. | |||
== Настройка конечных точек == | |||
Каждая конечная точка представляет отдельное подключение к базе данных SAP HANA. | |||
В мастере одной конфигурации можно определить до 100 конечных точек. Все конечные точки одной конфигурации выполняются на одном АктивномШлюзе выбранной группы. | |||
Для каждой конечной точки укажите: | |||
{| class="wikitable" | |||
! Параметр | |||
! Описание | |||
|- | |||
| Хост | |||
| Полное доменное имя или IP-адрес SAP HANA. | |||
|- | |||
| Порт | |||
| SQL-порт соответствующей системной или пользовательской базы данных. | |||
|- | |||
| Имя пользователя | |||
| Пользователь SAP HANA с правами мониторинга. | |||
|- | |||
| Пароль | |||
| Пароль пользователя мониторинга. | |||
|- | |||
| SSL | |||
| Использование защищённого подключения. | |||
|- | |||
| Проверка сертификата | |||
| Проверка доверия к сертификату и соответствия имени узла. | |||
|} | |||
Пример конечной точки: | |||
<pre> | |||
hana01.example.local:30015 | |||
</pre> | |||
Порт <code>30015</code> приведён только как пример. Фактический SQL-порт зависит от номера экземпляра и конфигурации SAP HANA. | |||
Для многокомпонентной системы добавьте отдельные конечные точки для тех баз данных, из которых необходимо собирать данные. | |||
== Параметры расширения == | |||
=== Переопределение имени узла === | |||
Параметр <code>Override Captured Host Name</code> позволяет задать имя, под которым узел будет представлен в Ключ-АСТРОМ. | |||
Используйте его, если: | |||
* адрес подключения отличается от фактического имени сервера; | |||
* подключение выполняется через виртуальный адрес; | |||
* требуется единое отображаемое имя; | |||
* несколько адресов относятся к одному логическому узлу. | |||
Изменение этого параметра для уже работающей конфигурации может привести к созданию новых сущностей. | |||
=== Тайм-аут тяжёлых запросов === | |||
Параметр <code>Override query timeout seconds for heavy queries</code> задаёт тайм-аут выполнения ресурсоёмких запросов расширения. | |||
Значение по умолчанию: | |||
<pre> | |||
10 секунд | |||
</pre> | |||
Увеличивайте значение только при возникновении ошибок тайм-аута. Перед увеличением проверьте нагрузку на SAP HANA и длительность соответствующего системного запроса. | |||
=== Фильтр схем === | |||
Параметр <code>Schema Name Filter</code> ограничивает сбор набора <code>Table Information</code> определёнными схемами. | |||
Фильтр рекомендуется использовать в системах с большим количеством схем и таблиц. | |||
=== Фильтр таблиц === | |||
Параметр <code>Table Name Filter</code> ограничивает сбор набора <code>Table Information</code> определёнными таблицами. | |||
Фильтры схем и таблиц позволяют уменьшить количество временных рядов и нагрузку на базу данных. | |||
== Наборы функций == | |||
Включайте только необходимые наборы. Некоторые проверки выполняют ресурсоёмкие запросы или создают журнальные записи. | |||
{| class="wikitable" | |||
! Набор | |||
! Назначение | |||
|- | |||
| <code>Base Metrics</code> | |||
| Основные показатели базы данных, сервисов, транзакций, блокировок, диагностических файлов и кэша планов. | |||
|- | |||
| <code>Host Infrastructure Metrics</code> | |||
| Процессор, память, диски, подключения и транзакции на уровне хоста. | |||
|- | |||
| <code>Host Infrastructure Network Rates</code> | |||
| Объём входящего и исходящего сетевого трафика. | |||
|- | |||
| <code>Host Agent Network Rates</code> | |||
| Скорость передачи данных по сетевым интерфейсам. | |||
|- | |||
| <code>Disk Size Usage</code> | |||
| Общий, использованный и свободный объём дискового пространства. | |||
|- | |||
| <code>Schema Disk Metrics</code> | |||
| Использование дискового пространства отдельными схемами. | |||
|- | |||
| <code>Table Size vs Allocation Limit Usage</code> | |||
| Отношение размера таблиц к установленному пределу выделения памяти. | |||
|- | |||
| <code>Backup Metrics</code> | |||
| Количество, размер, продолжительность, возраст и ошибки резервного копирования. | |||
|- | |||
| <code>HANA License</code> | |||
| Состояние, срок действия и ограничение лицензии. | |||
|- | |||
| <code>Host Temp Heap Usage</code> | |||
| Использование временной heap-памяти. | |||
|- | |||
| <code>Unloads Due to Low Memory</code> | |||
| Выгрузки данных, вызванные нехваткой памяти. | |||
|- | |||
| <code>Replication Metrics</code> | |||
| Состояние репликации, задержка доставки журналов, ошибки и возраст снимка. | |||
|- | |||
| <code>Savepoint Metrics</code> | |||
| Количество, продолжительность критической фазы и время с предыдущего savepoint. | |||
|- | |||
| <code>Service Response Time</code> | |||
| Время отклика сервисов SAP HANA. | |||
|- | |||
| <code>Table Information</code> | |||
| Размер, тип, количество записей и блокировки таблиц. | |||
|- | |||
| <code>Active Prepared Statements</code> | |||
| Количество активных подготовленных SQL-операторов. | |||
|- | |||
| <code>SQL Plan Cache Size</code> | |||
| Размер кэша SQL-планов. | |||
|- | |||
| <code>Current Alerts</code> | |||
| Текущие предупреждения SAP HANA в виде журнальных событий. | |||
|- | |||
| <code>Expensive Statements</code> | |||
| Подробные сведения о ресурсоёмких SQL-запросах в виде журнальных событий. | |||
|- | |||
| <code>Expensive Statement Metrics</code> | |||
| Агрегированные показатели ресурсоёмких запросов. | |||
|- | |||
| <code>Extended Expensive Statement Metrics</code> | |||
| Дополнительные показатели запросов, превысивших ограничения времени и памяти. | |||
|- | |||
| <code>Out Of Memory Events</code> | |||
| События нехватки памяти в виде журнальных записей. | |||
|- | |||
| <code>Trace File Information</code> | |||
| Информация о новых и изменённых диагностических файлах. | |||
|} | |||
== Собираемые данные == | |||
=== Инфраструктура === | |||
Расширение собирает: | |||
* загрузку процессора; | |||
* общий и использованный объём памяти; | |||
* процент использования памяти; | |||
* общий и использованный объём диска; | |||
* процент использования диска; | |||
* скорость дисковых операций чтения и записи; | |||
* входящий и исходящий сетевой трафик; | |||
* скорость работы сетевых интерфейсов; | |||
* количество открытых подключений; | |||
* количество выполняющихся подключений; | |||
* долю использованных подключений; | |||
* количество активных транзакций; | |||
* долю использованных транзакций. | |||
=== Память === | |||
Доступны показатели: | |||
* максимальное использование heap-памяти; | |||
* использование временной heap-памяти; | |||
* глобальный предел выделения памяти; | |||
* использованная память экземпляра; | |||
* использованная физическая память; | |||
* память отдельных сервисов; | |||
* память column store; | |||
* память row store; | |||
* количество выгрузок из-за нехватки памяти; | |||
* события исчерпания памяти. | |||
=== Резервное копирование === | |||
Расширение получает: | |||
* количество резервных копий; | |||
* оценочный размер резервных копий; | |||
* время с момента предыдущей резервной копии; | |||
* продолжительность резервного копирования; | |||
* тип резервной копии; | |||
* количество неуспешных операций. | |||
=== Репликация === | |||
Для системной репликации собираются: | |||
* состояние репликации; | |||
* режим репликации; | |||
* состояние полной синхронизации; | |||
* количество переключений вторичного узла; | |||
* задержка доставки журналов; | |||
* количество ошибок; | |||
* возраст последнего снимка репликации. | |||
=== Savepoint === | |||
Отслеживаются: | |||
* количество savepoint; | |||
* продолжительность последней критической фазы; | |||
* время с момента предыдущего savepoint. | |||
=== Сервисы SAP HANA === | |||
Для сервисов собираются: | |||
* имя и порт сервиса; | |||
* SQL-порт; | |||
* активное состояние; | |||
* использование памяти; | |||
* использование процессора; | |||
* время отклика; | |||
* состояние потоков; | |||
* статистика delta merge; | |||
* используемый и общий размер томов. | |||
=== Таблицы и схемы === | |||
Расширение позволяет отслеживать: | |||
* тип таблицы; | |||
* количество записей; | |||
* размер таблицы; | |||
* схему; | |||
* расположение таблицы; | |||
* количество блокировок; | |||
* использованное схемой дисковое пространство; | |||
* долю схемы в общем размере; | |||
* отношение размеров таблиц к пределу выделения памяти. | |||
В больших системах обязательно используйте фильтры схем и таблиц. | |||
=== SQL-запросы === | |||
Собираются: | |||
* количество активных операторов; | |||
* размер кэша планов; | |||
* коэффициент попаданий в кэш планов; | |||
* общее количество ресурсоёмких запросов; | |||
* запросы, превысившие ограничение памяти; | |||
* запросы, превысившие ограничение продолжительности; | |||
* текст SQL-запроса; | |||
* операция; | |||
* пользователь базы данных; | |||
* пользователь приложения; | |||
* продолжительность; | |||
* процессорное время; | |||
* использованная память; | |||
* схема; | |||
* класс рабочей нагрузки. | |||
Текст SQL-запроса может содержать конфиденциальные сведения. Перед включением набора <code>Expensive Statements</code> проверьте требования информационной безопасности. | |||
== Журнальные события == | |||
Некоторые наборы передают данные как журнальные события. | |||
{| class="wikitable" | |||
! Набор | |||
! Интервал | |||
! Содержимое | |||
|- | |||
| <code>Out Of Memory Events</code> | |||
| 5 минут | |||
| Время события, причина, запрошенная и использованная память, установленный предел. | |||
|- | |||
| <code>Trace File Information</code> | |||
| 5 минут | |||
| Имя, размер и время изменения диагностического файла. | |||
|- | |||
| <code>Current Alerts</code> | |||
| 5 минут | |||
| Идентификатор, название, описание, рейтинг и рекомендуемое действие. | |||
|- | |||
| <code>Expensive Statements</code> | |||
| 5 минут | |||
| Текст запроса, пользователь, продолжительность, процессорное время и использование памяти. | |||
|} | |||
Большинство обычных метрик собирается каждую минуту. Метрики свойств и журнальные события обычно обновляются каждые пять минут. | |||
== Используемые системные представления == | |||
Основные источники данных: | |||
{| class="wikitable" | {| class="wikitable" | ||
! | ! Назначение | ||
! Представления | |||
|- | |||
| Диагностика | |||
| <code>SYS.M_OUT_OF_MEMORY_EVENTS</code>, <code>SYS.M_TRACEFILES</code> | |||
|- | |||
| Резервное копирование | |||
| <code>SYS.M_BACKUP_CATALOG</code>, <code>SYS.M_BACKUP_CATALOG_FILES</code>, <code>SYS.M_BACKUP_SIZE_ESTIMATIONS</code> | |||
|- | |||
| Инфраструктура | |||
| <code>SYS.M_HOST_RESOURCE_UTILIZATION</code>, <code>SYS.M_HOST_AGENT_METRICS</code>, <code>SYS.M_VOLUME_IO_TOTAL_STATISTICS_RESET</code> | |||
|- | |- | ||
|<code> | | Свойства | ||
| <code>SYS.M_SYSTEM_LIMITS</code>, <code>SYS.M_LICENSE</code>, <code>SYS.M_HOST_INFORMATION</code> | |||
|- | |||
| Память | |||
| <code>SYS.M_HEAP_MEMORY</code>, <code>SYS.M_MEMORY_OBJECT_DISPOSITIONS</code>, <code>SYS.M_CS_UNLOADS</code> | |||
|- | |||
| Репликация | |||
| <code>SYS.M_SERVICE_REPLICATION</code>, <code>SYS.M_SNAPSHOTS</code> | |||
|- | |||
| Savepoint | |||
| <code>SYS.M_SAVEPOINT_STATISTICS</code>, <code>SYS.M_SAVEPOINTS</code> | |||
|- | |||
| Сервисы | |||
| <code>SYS.M_SERVICES</code>, <code>SYS.M_SERVICE_MEMORY</code>, <code>SYS.M_SERVICE_STATISTICS</code> | |||
|- | |||
| Таблицы и транзакции | |||
| <code>SYS.M_TABLES</code>, <code>SYS.M_TABLE_LOCATIONS</code>, <code>SYS.M_TABLE_LOCKS</code>, <code>SYS.M_TRANSACTIONS</code>, <code>SYS.M_BLOCKED_TRANSACTIONS</code> | |||
|- | |||
| SQL-запросы | |||
| <code>SYS.M_ACTIVE_STATEMENTS</code>, <code>SYS.M_SQL_PLAN_STATISTICS</code>, <code>SYS.M_EXPENSIVE_STATEMENTS</code>, <code>SYS.M_SQL_PLAN_CACHE_OVERVIEW</code> | |||
|- | |||
| Предупреждения | |||
| <code>_SYS_STATISTICS.STATISTICS_CURRENT_ALERTS</code> | |||
|} | |} | ||
Расширение выполняет запросы чтения и не должно изменять пользовательские данные. | |||
== Топология == | |||
Расширение создаёт следующие сущности: | |||
* <code>sql:hana_db_host</code> — хост SAP HANA; | |||
* <code>sql:hana_db_service</code> — сервис SAP HANA; | |||
* <code>sql:hana_db_database</code> — база данных SAP HANA. | |||
Для сущностей сохраняются свойства: | |||
* имя хоста; | |||
* IP-адрес; | |||
* версия сборки; | |||
* имя базы данных; | |||
* имя и порт сервиса; | |||
* SQL-порт; | |||
* состояние сервиса; | |||
* сведения о лицензии; | |||
* ограничения количества сессий и транзакций; | |||
* состояние репликации. | |||
Если на сервере установлен ЕдиныйАгент, расширение может связать сущность сервиса SAP HANA с соответствующим экземпляром процесса по IP-адресу и прослушиваемому порту. | |||
== Обзорная панель == | |||
В пакет входит обзорная панель: | |||
<pre> | |||
SAP HANA DB Overview | |||
</pre> | |||
Она содержит сведения о: | |||
* отслеживаемых хостах; | |||
* загрузке процессора; | |||
* использовании памяти; | |||
* дисковом пространстве; | |||
* скорости дисковых операций; | |||
* сетевом трафике; | |||
* сервисах SAP HANA; | |||
* базах данных; | |||
* состоянии репликации; | |||
* SQL-запросах и транзакциях. | |||
== Настройка SSL == | |||
Включите SSL в конфигурации конечной точки, если подключение SAP HANA должно быть зашифровано. | |||
При использовании сертификата от общедоступного центра сертификации дополнительное хранилище обычно не требуется. | |||
Для внутреннего или самоподписанного сертификата создайте доверенное хранилище PKCS12 на каждом АктивномШлюзе выбранной группы. | |||
Каталог <code>userdata</code>: | |||
'''Windows:''' | |||
<pre> | |||
C:\ProgramData\astromkey\remotepluginmodule\agent\conf\userdata | |||
</pre> | |||
'''Linux:''' | |||
<pre> | |||
/var/lib/astromkey/remotepluginmodule/agent/conf/userdata | |||
</pre> | |||
Имя хранилища: | |||
<pre> | |||
sqlds_truststore | |||
</pre> | |||
Пример импорта сертификата: | |||
<pre> | |||
keytool -importcert \ | |||
-alias sap-hana-ca \ | |||
-file hana-ca.crt \ | |||
-keystore sqlds_truststore \ | |||
-storetype PKCS12 \ | |||
-storepass sqlds_truststore | |||
</pre> | |||
После изменения хранилища перезапустите АктивныйШлюз. | |||
При включённой проверке сертификата имя сервера в конечной точке должно соответствовать имени из сертификата. | |||
== Хранилище учётных данных == | |||
Вместо хранения имени пользователя и пароля непосредственно в конфигурации можно использовать хранилище учётных данных. | |||
Учётные данные должны: | |||
* иметь тип «Пользователь и пароль»; | |||
* быть доступны расширениям; | |||
* принадлежать пользователю, создающему конфигурацию; | |||
* быть разрешены для выбранной области действия. | |||
Пример фрагмента JSON: | |||
<pre> | |||
"authentication": { | |||
"scheme": "basic", | |||
"useCredentialVault": true, | |||
"skipVerifyHttps": false, | |||
"credentialVaultId": "ИДЕНТИФИКАТОР_УЧЕТНЫХ_ДАННЫХ" | |||
} | |||
</pre> | |||
== Настройка через API == | |||
Мастер создания конфигурации формирует JSON автоматически. Рекомендуется сначала настроить подключение через интерфейс, а затем использовать сформированный JSON как шаблон для API. | |||
Пример: | |||
<pre> | |||
[ | |||
{ | |||
"value": { | |||
"enabled": true, | |||
"description": "SAP HANA production", | |||
"version": "2.4.2", | |||
"featureSets": [ | |||
"Base Metrics", | |||
"Host Infrastructure Metrics", | |||
"Backup Metrics", | |||
"Replication Metrics" | |||
], | |||
"sqlHanaRemote": { | |||
"endpoints": [ | |||
{ | |||
"host": "hana01.example.local", | |||
"port": 30015, | |||
"authentication": { | |||
"username": "ASTROM_MONITOR", | |||
"password": "ЗАМЕНИТЕ_ПАРОЛЬ" | |||
}, | |||
"ssl": true, | |||
"validateCertificates": true | |||
} | |||
] | |||
} | |||
}, | |||
"scope": "ag_group-default" | |||
} | |||
] | |||
</pre> | |||
Замените: | |||
* адрес и порт SAP HANA; | |||
* имя пользователя и пароль; | |||
* наборы функций; | |||
* имя группы АктивныхШлюзов; | |||
* параметры SSL. | |||
Не храните действующие пароли в файлах конфигурации и системах контроля версий. | |||
Чтобы включить все наборы функций, можно указать: | |||
<pre> | |||
"featureSets": [ | |||
"all" | |||
] | |||
</pre> | |||
Включение всех наборов может существенно увеличить нагрузку и объём принимаемых данных. | |||
== Проверка работы == | |||
После активации конфигурации: | |||
# Выполните проверку подключения. | |||
# Убедитесь, что конфигурация перешла в рабочее состояние. | |||
# Подождите несколько интервалов сбора. | |||
# Найдите сущности SAP HANA в списке объектов. | |||
# Проверьте появление хоста, базы данных и сервисов. | |||
# Откройте панель <code>SAP HANA DB Overview</code>. | |||
# Проверьте поступление метрик. | |||
# Если включены журнальные наборы, проверьте поступление событий. | |||
# Убедитесь, что отсутствуют ошибки прав доступа и тайм-ауты запросов. | |||
== Устранение неполадок == | |||
=== Драйвер не найден === | |||
Проверьте: | |||
* наличие файла <code>ngdbc.jar</code>; | |||
* каталог установки; | |||
* права на чтение файла; | |||
* установку драйвера на всех АктивныхШлюзах группы; | |||
* перезапуск службы после установки драйвера. | |||
=== | === Ошибка подключения === | ||
Проверьте: | |||
* имя сервера; | |||
* SQL-порт; | |||
* доступность порта с АктивногоШлюза; | |||
* правила межсетевого экрана; | |||
* состояние SAP HANA; | |||
* соответствие конечной точки требуемой базе данных; | |||
* настройки SSL. | |||
=== Ошибка аутентификации === | |||
Проверьте: | |||
< | * имя пользователя и пароль; | ||
* состояние пользователя; | |||
* необходимость смены первоначального пароля; | |||
* срок действия пароля; | |||
* назначение роли <code>MONITORING</code>; | |||
* доступ к системным представлениям. | |||
=== Ошибка сертификата === | |||
Проверьте: | |||
* доверие к корневому и промежуточным сертификатам; | |||
* наличие сертификатов в <code>sqlds_truststore</code>; | |||
* имя сервера в сертификате; | |||
* установку хранилища на всех АктивныхШлюзах группы; | |||
* перезапуск службы после изменения хранилища. | |||
=== Часть метрик отсутствует === | |||
Проверьте: | |||
* включён ли соответствующий набор функций; | |||
* существуют ли необходимые системные представления в используемой версии SAP HANA; | |||
* права пользователя; | |||
* фильтры схем и таблиц; | |||
* наличие исходных данных; | |||
* ошибки выполнения SQL-запросов в состоянии расширения. | |||
=== | === Запросы завершаются по тайм-ауту === | ||
Проверьте нагрузку на SAP HANA и выполнение запроса вручную. | |||
== | При необходимости увеличьте параметр тайм-аута тяжёлых запросов. Не увеличивайте его без предварительной диагностики. | ||
=== Создались новые сущности === | |||
Проверьте, не изменялось ли значение <code>Override Captured Host Name</code>. Оно участвует в формировании идентификаторов сущностей. | |||
== Рекомендации по производительности == | |||
* Не включайте наборы функций, данные которых не используются. | |||
* Применяйте фильтры схем и таблиц. | |||
* Осторожно включайте сбор ресурсоёмких SQL-запросов. | |||
* Учитывайте, что журнальные события увеличивают объём принимаемых данных. | |||
* Не размещайте чрезмерное количество нагруженных конечных точек на одном АктивномШлюзе. | |||
* Разделяйте крупные среды между несколькими группами АктивныхШлюзов. | |||
* Контролируйте длительность системных запросов после включения новых наборов. | |||
* Сначала проверяйте конфигурацию в тестовой среде. | |||
== История изменений == | |||
{| class="wikitable" | |||
! Версия | |||
! Изменения | |||
|- | |||
| 2.4.2 | |||
| | |||
* Добавлена связь между сущностью сервиса SAP HANA и соответствующим экземпляром процесса при наличии ЕдиногоАгента. | |||
* Добавлен набор <code>Table Size vs Allocation Limit Usage</code>. | |||
* Метрика использования диска переименована в отношение размера таблиц к пределу выделения памяти. | |||
* Добавлен набор <code>Host Agent Network Rates</code>. | |||
* Расширены метрики памяти, дисков и сети хоста. | |||
* Добавлены отдельные наборы <code>HANA License</code>, <code>Disk Size Usage</code> и <code>Schema Disk Metrics</code>. | |||
* Часть основных метрик перенесена в набор <code>Base Metrics</code>. | |||
* Интервал сбора свойств базы данных увеличен до пяти минут. | |||
|- | |||
|} | |||
Текущая версия от 04:39, 30 сентября 2026
Расширение SAP HANA предназначено для удалённого сбора показателей работоспособности и производительности баз данных SAP HANA через АктивныйШлюз.
Расширение подключается к SAP HANA с помощью JDBC, выполняет запросы к системным представлениям и передаёт в Ключ-АСТРОМ метрики, журнальные события и сведения для построения топологии.
Идентификатор расширения: ru.ruscomtech.extension.sql-sap-hana.
Основные возможности
Расширение позволяет:
- контролировать доступность и состояние SAP HANA;
- отслеживать загрузку процессора, памяти, дисков и сети;
- контролировать подключения и активные транзакции;
- анализировать использование памяти хостами и сервисами;
- контролировать резервное копирование;
- отслеживать системную репликацию;
- анализировать savepoint;
- контролировать состояние сервисов SAP HANA;
- отслеживать блокировки и заблокированные транзакции;
- получать информацию о таблицах и занимаемом ими пространстве;
- анализировать активные и ресурсоёмкие SQL-запросы;
- контролировать кэш планов выполнения;
- получать текущие предупреждения SAP HANA;
- регистрировать события нехватки памяти;
- получать информацию о диагностических файлах;
- контролировать состояние лицензии SAP HANA;
- создавать сущности хостов, баз данных и сервисов SAP HANA;
- отображать данные на готовой обзорной панели.
Архитектура
Сбор данных выполняется по следующей схеме:
Ключ-АСТРОМ
|
v
АктивныйШлюз
|
| JDBC
v
SAP HANA
Расширение работает удалённо. Установка ЕдиногоАгента непосредственно на сервер SAP HANA для сбора метрик расширения не требуется.
АктивныйШлюз должен иметь сетевой доступ к SQL-порту SAP HANA.
Поддерживаемые системы
Расширение предназначено для SAP HANA версии 2.0 и более поздних поддерживаемых выпусков.
Возможность работы с конкретной редакцией, вариантом размещения и исправлением SAP HANA рекомендуется предварительно проверять на тестовой конфигурации.
Предварительные требования
Перед настройкой убедитесь, что:
- расширение установлено в среде Ключ-АСТРОМ;
- назначена группа АктивныхШлюзов;
- каждый АктивныйШлюз выбранной группы имеет доступ к SAP HANA;
- на АктивномШлюзе установлен JDBC-драйвер SAP HANA;
- известны имя узла и SQL-порт базы данных;
- создан отдельный пользователь мониторинга;
- пользователю выданы права на чтение системных представлений;
- межсетевой экран разрешает подключение АктивногоШлюза к SAP HANA;
- имя сервера разрешается через DNS либо используется IP-адрес;
- при использовании SSL подготовлена доверенная цепочка сертификатов.
Создание пользователя мониторинга
Рекомендуется создать отдельного пользователя, предназначенного только для мониторинга.
Пример:
CREATE USER ASTROM_MONITOR PASSWORD "ЗАМЕНИТЕ_НА_НАДЕЖНЫЙ_ПАРОЛЬ" NO FORCE_FIRST_PASSWORD_CHANGE;
Предоставьте пользователю роль MONITORING:
GRANT MONITORING TO ASTROM_MONITOR;
Роль PUBLIC назначается пользователям SAP HANA автоматически.
Пользователь должен иметь возможность читать системные представления, используемые выбранными наборами функций. Если отдельный набор функций возвращает ошибку недостаточных прав, предоставьте доступ только к требуемому системному представлению.
Не рекомендуется использовать для мониторинга системного администратора или пользователя с правами изменения данных.
Установка JDBC-драйвера
Драйвер SAP HANA не входит в пакет расширения и устанавливается отдельно на каждый АктивныйШлюз, который может выполнять конфигурацию.
Требуется файл:
ngdbc.jar
Его можно получить из установленного SAP HANA Client.
Стандартные расположения драйвера:
Windows:
C:\Program Files\SAP\hdbclient\ngdbc.jar
Linux:
/usr/sap/hdbclient/ngdbc.jar
Скопируйте файл ngdbc.jar в каталог пользовательских библиотек АктивногоШлюза.
Windows:
C:\ProgramData\astromkey\remotepluginmodule\agent\conf\userdata\libs
Linux:
/var/lib/astromkey/remotepluginmodule/agent/conf/userdata/libs/
После установки или замены драйвера перезапустите службу АктивногоШлюза.
Убедитесь, что пользователь, от имени которого работает служба АктивногоШлюза, имеет права на чтение файла.
Установка расширения
- Откройте раздел управления расширениями в Ключ-АСТРОМ.
- Если расширение ещё не установлено, загрузите подписанный архив расширения.
- Найдите расширение SAP HANA.
- Откройте страницу расширения.
- Создайте конфигурацию мониторинга.
- Выберите группу АктивныхШлюзов.
- Добавьте конечную точку SAP HANA.
- Укажите учётные данные.
- Выберите необходимые наборы функций.
- Сохраните и активируйте конфигурацию.
Настройка конечных точек
Каждая конечная точка представляет отдельное подключение к базе данных SAP HANA.
В мастере одной конфигурации можно определить до 100 конечных точек. Все конечные точки одной конфигурации выполняются на одном АктивномШлюзе выбранной группы.
Для каждой конечной точки укажите:
| Параметр | Описание |
|---|---|
| Хост | Полное доменное имя или IP-адрес SAP HANA. |
| Порт | SQL-порт соответствующей системной или пользовательской базы данных. |
| Имя пользователя | Пользователь SAP HANA с правами мониторинга. |
| Пароль | Пароль пользователя мониторинга. |
| SSL | Использование защищённого подключения. |
| Проверка сертификата | Проверка доверия к сертификату и соответствия имени узла. |
Пример конечной точки:
hana01.example.local:30015
Порт 30015 приведён только как пример. Фактический SQL-порт зависит от номера экземпляра и конфигурации SAP HANA.
Для многокомпонентной системы добавьте отдельные конечные точки для тех баз данных, из которых необходимо собирать данные.
Параметры расширения
Переопределение имени узла
Параметр Override Captured Host Name позволяет задать имя, под которым узел будет представлен в Ключ-АСТРОМ.
Используйте его, если:
- адрес подключения отличается от фактического имени сервера;
- подключение выполняется через виртуальный адрес;
- требуется единое отображаемое имя;
- несколько адресов относятся к одному логическому узлу.
Изменение этого параметра для уже работающей конфигурации может привести к созданию новых сущностей.
Тайм-аут тяжёлых запросов
Параметр Override query timeout seconds for heavy queries задаёт тайм-аут выполнения ресурсоёмких запросов расширения.
Значение по умолчанию:
10 секунд
Увеличивайте значение только при возникновении ошибок тайм-аута. Перед увеличением проверьте нагрузку на SAP HANA и длительность соответствующего системного запроса.
Фильтр схем
Параметр Schema Name Filter ограничивает сбор набора Table Information определёнными схемами.
Фильтр рекомендуется использовать в системах с большим количеством схем и таблиц.
Фильтр таблиц
Параметр Table Name Filter ограничивает сбор набора Table Information определёнными таблицами.
Фильтры схем и таблиц позволяют уменьшить количество временных рядов и нагрузку на базу данных.
Наборы функций
Включайте только необходимые наборы. Некоторые проверки выполняют ресурсоёмкие запросы или создают журнальные записи.
| Набор | Назначение |
|---|---|
Base Metrics
|
Основные показатели базы данных, сервисов, транзакций, блокировок, диагностических файлов и кэша планов. |
Host Infrastructure Metrics
|
Процессор, память, диски, подключения и транзакции на уровне хоста. |
Host Infrastructure Network Rates
|
Объём входящего и исходящего сетевого трафика. |
Host Agent Network Rates
|
Скорость передачи данных по сетевым интерфейсам. |
Disk Size Usage
|
Общий, использованный и свободный объём дискового пространства. |
Schema Disk Metrics
|
Использование дискового пространства отдельными схемами. |
Table Size vs Allocation Limit Usage
|
Отношение размера таблиц к установленному пределу выделения памяти. |
Backup Metrics
|
Количество, размер, продолжительность, возраст и ошибки резервного копирования. |
HANA License
|
Состояние, срок действия и ограничение лицензии. |
Host Temp Heap Usage
|
Использование временной heap-памяти. |
Unloads Due to Low Memory
|
Выгрузки данных, вызванные нехваткой памяти. |
Replication Metrics
|
Состояние репликации, задержка доставки журналов, ошибки и возраст снимка. |
Savepoint Metrics
|
Количество, продолжительность критической фазы и время с предыдущего savepoint. |
Service Response Time
|
Время отклика сервисов SAP HANA. |
Table Information
|
Размер, тип, количество записей и блокировки таблиц. |
Active Prepared Statements
|
Количество активных подготовленных SQL-операторов. |
SQL Plan Cache Size
|
Размер кэша SQL-планов. |
Current Alerts
|
Текущие предупреждения SAP HANA в виде журнальных событий. |
Expensive Statements
|
Подробные сведения о ресурсоёмких SQL-запросах в виде журнальных событий. |
Expensive Statement Metrics
|
Агрегированные показатели ресурсоёмких запросов. |
Extended Expensive Statement Metrics
|
Дополнительные показатели запросов, превысивших ограничения времени и памяти. |
Out Of Memory Events
|
События нехватки памяти в виде журнальных записей. |
Trace File Information
|
Информация о новых и изменённых диагностических файлах. |
Собираемые данные
Инфраструктура
Расширение собирает:
- загрузку процессора;
- общий и использованный объём памяти;
- процент использования памяти;
- общий и использованный объём диска;
- процент использования диска;
- скорость дисковых операций чтения и записи;
- входящий и исходящий сетевой трафик;
- скорость работы сетевых интерфейсов;
- количество открытых подключений;
- количество выполняющихся подключений;
- долю использованных подключений;
- количество активных транзакций;
- долю использованных транзакций.
Память
Доступны показатели:
- максимальное использование heap-памяти;
- использование временной heap-памяти;
- глобальный предел выделения памяти;
- использованная память экземпляра;
- использованная физическая память;
- память отдельных сервисов;
- память column store;
- память row store;
- количество выгрузок из-за нехватки памяти;
- события исчерпания памяти.
Резервное копирование
Расширение получает:
- количество резервных копий;
- оценочный размер резервных копий;
- время с момента предыдущей резервной копии;
- продолжительность резервного копирования;
- тип резервной копии;
- количество неуспешных операций.
Репликация
Для системной репликации собираются:
- состояние репликации;
- режим репликации;
- состояние полной синхронизации;
- количество переключений вторичного узла;
- задержка доставки журналов;
- количество ошибок;
- возраст последнего снимка репликации.
Savepoint
Отслеживаются:
- количество savepoint;
- продолжительность последней критической фазы;
- время с момента предыдущего savepoint.
Сервисы SAP HANA
Для сервисов собираются:
- имя и порт сервиса;
- SQL-порт;
- активное состояние;
- использование памяти;
- использование процессора;
- время отклика;
- состояние потоков;
- статистика delta merge;
- используемый и общий размер томов.
Таблицы и схемы
Расширение позволяет отслеживать:
- тип таблицы;
- количество записей;
- размер таблицы;
- схему;
- расположение таблицы;
- количество блокировок;
- использованное схемой дисковое пространство;
- долю схемы в общем размере;
- отношение размеров таблиц к пределу выделения памяти.
В больших системах обязательно используйте фильтры схем и таблиц.
SQL-запросы
Собираются:
- количество активных операторов;
- размер кэша планов;
- коэффициент попаданий в кэш планов;
- общее количество ресурсоёмких запросов;
- запросы, превысившие ограничение памяти;
- запросы, превысившие ограничение продолжительности;
- текст SQL-запроса;
- операция;
- пользователь базы данных;
- пользователь приложения;
- продолжительность;
- процессорное время;
- использованная память;
- схема;
- класс рабочей нагрузки.
Текст SQL-запроса может содержать конфиденциальные сведения. Перед включением набора Expensive Statements проверьте требования информационной безопасности.
Журнальные события
Некоторые наборы передают данные как журнальные события.
| Набор | Интервал | Содержимое |
|---|---|---|
Out Of Memory Events
|
5 минут | Время события, причина, запрошенная и использованная память, установленный предел. |
Trace File Information
|
5 минут | Имя, размер и время изменения диагностического файла. |
Current Alerts
|
5 минут | Идентификатор, название, описание, рейтинг и рекомендуемое действие. |
Expensive Statements
|
5 минут | Текст запроса, пользователь, продолжительность, процессорное время и использование памяти. |
Большинство обычных метрик собирается каждую минуту. Метрики свойств и журнальные события обычно обновляются каждые пять минут.
Используемые системные представления
Основные источники данных:
| Назначение | Представления |
|---|---|
| Диагностика | SYS.M_OUT_OF_MEMORY_EVENTS, SYS.M_TRACEFILES
|
| Резервное копирование | SYS.M_BACKUP_CATALOG, SYS.M_BACKUP_CATALOG_FILES, SYS.M_BACKUP_SIZE_ESTIMATIONS
|
| Инфраструктура | SYS.M_HOST_RESOURCE_UTILIZATION, SYS.M_HOST_AGENT_METRICS, SYS.M_VOLUME_IO_TOTAL_STATISTICS_RESET
|
| Свойства | SYS.M_SYSTEM_LIMITS, SYS.M_LICENSE, SYS.M_HOST_INFORMATION
|
| Память | SYS.M_HEAP_MEMORY, SYS.M_MEMORY_OBJECT_DISPOSITIONS, SYS.M_CS_UNLOADS
|
| Репликация | SYS.M_SERVICE_REPLICATION, SYS.M_SNAPSHOTS
|
| Savepoint | SYS.M_SAVEPOINT_STATISTICS, SYS.M_SAVEPOINTS
|
| Сервисы | SYS.M_SERVICES, SYS.M_SERVICE_MEMORY, SYS.M_SERVICE_STATISTICS
|
| Таблицы и транзакции | SYS.M_TABLES, SYS.M_TABLE_LOCATIONS, SYS.M_TABLE_LOCKS, SYS.M_TRANSACTIONS, SYS.M_BLOCKED_TRANSACTIONS
|
| SQL-запросы | SYS.M_ACTIVE_STATEMENTS, SYS.M_SQL_PLAN_STATISTICS, SYS.M_EXPENSIVE_STATEMENTS, SYS.M_SQL_PLAN_CACHE_OVERVIEW
|
| Предупреждения | _SYS_STATISTICS.STATISTICS_CURRENT_ALERTS
|
Расширение выполняет запросы чтения и не должно изменять пользовательские данные.
Топология
Расширение создаёт следующие сущности:
sql:hana_db_host— хост SAP HANA;sql:hana_db_service— сервис SAP HANA;sql:hana_db_database— база данных SAP HANA.
Для сущностей сохраняются свойства:
- имя хоста;
- IP-адрес;
- версия сборки;
- имя базы данных;
- имя и порт сервиса;
- SQL-порт;
- состояние сервиса;
- сведения о лицензии;
- ограничения количества сессий и транзакций;
- состояние репликации.
Если на сервере установлен ЕдиныйАгент, расширение может связать сущность сервиса SAP HANA с соответствующим экземпляром процесса по IP-адресу и прослушиваемому порту.
Обзорная панель
В пакет входит обзорная панель:
SAP HANA DB Overview
Она содержит сведения о:
- отслеживаемых хостах;
- загрузке процессора;
- использовании памяти;
- дисковом пространстве;
- скорости дисковых операций;
- сетевом трафике;
- сервисах SAP HANA;
- базах данных;
- состоянии репликации;
- SQL-запросах и транзакциях.
Настройка SSL
Включите SSL в конфигурации конечной точки, если подключение SAP HANA должно быть зашифровано.
При использовании сертификата от общедоступного центра сертификации дополнительное хранилище обычно не требуется.
Для внутреннего или самоподписанного сертификата создайте доверенное хранилище PKCS12 на каждом АктивномШлюзе выбранной группы.
Каталог userdata:
Windows:
C:\ProgramData\astromkey\remotepluginmodule\agent\conf\userdata
Linux:
/var/lib/astromkey/remotepluginmodule/agent/conf/userdata
Имя хранилища:
sqlds_truststore
Пример импорта сертификата:
keytool -importcert \ -alias sap-hana-ca \ -file hana-ca.crt \ -keystore sqlds_truststore \ -storetype PKCS12 \ -storepass sqlds_truststore
После изменения хранилища перезапустите АктивныйШлюз.
При включённой проверке сертификата имя сервера в конечной точке должно соответствовать имени из сертификата.
Хранилище учётных данных
Вместо хранения имени пользователя и пароля непосредственно в конфигурации можно использовать хранилище учётных данных.
Учётные данные должны:
- иметь тип «Пользователь и пароль»;
- быть доступны расширениям;
- принадлежать пользователю, создающему конфигурацию;
- быть разрешены для выбранной области действия.
Пример фрагмента JSON:
"authentication": {
"scheme": "basic",
"useCredentialVault": true,
"skipVerifyHttps": false,
"credentialVaultId": "ИДЕНТИФИКАТОР_УЧЕТНЫХ_ДАННЫХ"
}
Настройка через API
Мастер создания конфигурации формирует JSON автоматически. Рекомендуется сначала настроить подключение через интерфейс, а затем использовать сформированный JSON как шаблон для API.
Пример:
[
{
"value": {
"enabled": true,
"description": "SAP HANA production",
"version": "2.4.2",
"featureSets": [
"Base Metrics",
"Host Infrastructure Metrics",
"Backup Metrics",
"Replication Metrics"
],
"sqlHanaRemote": {
"endpoints": [
{
"host": "hana01.example.local",
"port": 30015,
"authentication": {
"username": "ASTROM_MONITOR",
"password": "ЗАМЕНИТЕ_ПАРОЛЬ"
},
"ssl": true,
"validateCertificates": true
}
]
}
},
"scope": "ag_group-default"
}
]
Замените:
- адрес и порт SAP HANA;
- имя пользователя и пароль;
- наборы функций;
- имя группы АктивныхШлюзов;
- параметры SSL.
Не храните действующие пароли в файлах конфигурации и системах контроля версий.
Чтобы включить все наборы функций, можно указать:
"featureSets": [ "all" ]
Включение всех наборов может существенно увеличить нагрузку и объём принимаемых данных.
Проверка работы
После активации конфигурации:
- Выполните проверку подключения.
- Убедитесь, что конфигурация перешла в рабочее состояние.
- Подождите несколько интервалов сбора.
- Найдите сущности SAP HANA в списке объектов.
- Проверьте появление хоста, базы данных и сервисов.
- Откройте панель
SAP HANA DB Overview. - Проверьте поступление метрик.
- Если включены журнальные наборы, проверьте поступление событий.
- Убедитесь, что отсутствуют ошибки прав доступа и тайм-ауты запросов.
Устранение неполадок
Драйвер не найден
Проверьте:
- наличие файла
ngdbc.jar; - каталог установки;
- права на чтение файла;
- установку драйвера на всех АктивныхШлюзах группы;
- перезапуск службы после установки драйвера.
Ошибка подключения
Проверьте:
- имя сервера;
- SQL-порт;
- доступность порта с АктивногоШлюза;
- правила межсетевого экрана;
- состояние SAP HANA;
- соответствие конечной точки требуемой базе данных;
- настройки SSL.
Ошибка аутентификации
Проверьте:
- имя пользователя и пароль;
- состояние пользователя;
- необходимость смены первоначального пароля;
- срок действия пароля;
- назначение роли
MONITORING; - доступ к системным представлениям.
Ошибка сертификата
Проверьте:
- доверие к корневому и промежуточным сертификатам;
- наличие сертификатов в
sqlds_truststore; - имя сервера в сертификате;
- установку хранилища на всех АктивныхШлюзах группы;
- перезапуск службы после изменения хранилища.
Часть метрик отсутствует
Проверьте:
- включён ли соответствующий набор функций;
- существуют ли необходимые системные представления в используемой версии SAP HANA;
- права пользователя;
- фильтры схем и таблиц;
- наличие исходных данных;
- ошибки выполнения SQL-запросов в состоянии расширения.
Запросы завершаются по тайм-ауту
Проверьте нагрузку на SAP HANA и выполнение запроса вручную.
При необходимости увеличьте параметр тайм-аута тяжёлых запросов. Не увеличивайте его без предварительной диагностики.
Создались новые сущности
Проверьте, не изменялось ли значение Override Captured Host Name. Оно участвует в формировании идентификаторов сущностей.
Рекомендации по производительности
- Не включайте наборы функций, данные которых не используются.
- Применяйте фильтры схем и таблиц.
- Осторожно включайте сбор ресурсоёмких SQL-запросов.
- Учитывайте, что журнальные события увеличивают объём принимаемых данных.
- Не размещайте чрезмерное количество нагруженных конечных точек на одном АктивномШлюзе.
- Разделяйте крупные среды между несколькими группами АктивныхШлюзов.
- Контролируйте длительность системных запросов после включения новых наборов.
- Сначала проверяйте конфигурацию в тестовой среде.
История изменений
| Версия | Изменения |
|---|---|
| 2.4.2 |
|