GBLog
GBLog - утилита для просмотра отладочной информации сервера баз данных. Существует 2 её варианта:
GBLog.exe
Простое приложение, взаимодействие которого с сервером происходит через сообщения Windows
- Технология работы
- Чтобы вывести отладочное сообщение, сервер ищет окно с заданным именем (GBLog) и шлет ему сообщение.
- Требования
- GBLog.exe должен быть запущен не только на том же компьютере, что и сервер БД, но и в той же сессии (таким образом, нельзя использовать GBLog.exe в сессиях терминального сервера)
- В свойствах сервиса, который обслуживает сервер БД, должна стоять галочка "Разрешить взаимодействие с рабочим столом"
LogSrv.exe
Более продвинутое приложение, которое может работать и как GBLog.exe, и как сервер, получающий информацию с других компьютеров Может показывать несколько серверов, каждый в отдельной закладке. Закладки добавляются автоматически, с приходом первого пакета от сервера. Закладка "IbLocal" означает что данное окно отображает локальные пакеты, посланные с данной машины. Программа так же показывает загрузку процессоров и размер общей\свободной памяти (для этого нужно правой кнопкой выбрать пункт меню "Производительность"). С помощью программы можно проводить стоп/старт/рестарт Firebird-серверов. Эта команда доступна при нажатии CTRL+ALT+правая кнопка мыши.
- Технология работы
- Сервер БД при запуске читает список адресов лог-серверов из ветки реестра HKEY_LOCAL_MACHINE\SOFTWARE\GbSoft\GbLogSrv.
Каждая запись в этой ветке должна иметь тип DWORD, имя = IP адрес (или IP-адрес:порт), значение = 1.
- пример .reg файла:
REGEDIT4 [HKEY_LOCAL_MACHINE\SOFTWARE\GbSoft\GbLogSrv] "192.168.10.88:9090"=dword:00000001
- Под linux список серверов лежит в /etc/gb.conf, каждая строка содержит IP адрес или IP адрес:порт
- Сервер БД отправляет отладочные сообщения по протоколу UDP по указанным адресам на указанный порт (если не порт указан, то на порт 9090)
- Требования
- На сервере БД нужно разрешить в брандмауэре отправку UDP-сообщений на нужный порт
- На компьютере, где запущен LogSrc.exe, нужно разрешить в брандмауэре прием UDP-сообщений на нужный порт
- Указанный порт должен быть свободен