Этот сайт посвящается администрированию баз данных OpenEdge Progress.
Не корысти ради, а познания для!

С уважением,
Валерий Башкатов
Сайт разработан при участии компании Progress Technologies, официального дистрибьютора Progress Software Corp. на территории стран СНГ и Латвии.

RSS RSS подписка на обновления сайта

Поиск по сайту

Лучшие материалы

Orphus System
На сайте функционирует система коррекции ошибок. Обнаружив неточность в тексте, выделите её и нажмите Ctrl+Enter



Результаты опроса: Нужны ли книги по Progress OpenEdge на русском языке? (опрос проводился с мая 2009 по ноябрь 2010)

Да, нужны. Потому что будет легче понять материал - 268
Нет, не нужны. Достаточно материалов на английском языке - 10
Не знаю, мне всё равно - 6

А знаете ли вы что..



Подготовка к работе ProMonitor


Настройка ProMonitor должна осуществляться по следующему плану:
  • Установка файлов ProMonitor;
  • Создание базы данных ProMonitor;
  • Определение баз данных для мониторинга;
  • Проверка правильности работы мониторинга;
  • Настройка экстренных сообщений, далее Alerts;
  • Внедрение параметров запуска и останова ProMonitor в стандартные скрипты запуска баз данных;
  • Настройка периода очистки данных.
И так, начнем...
Распакуйте архив ProMonitor в отдельную директорию на сервере. Учтите, что свободного места на дисках сервера должно быть достаточно, т.к. база данных, формируемая ProMonitor`ом очень быстро растет. Например, в самый загруженный день, при формировании всего 5 выборок и при наличии свыше 800 пользователей в системе, база может вырасти от 50 до 100 Мб. В меню Maint программы есть два пункта, предназначенных для контроля размера базы данных, это Purge Data и Super Purge, которые позволят держать базу данных в пределах нормальных размеров.
Создайте пустую (empty) базу данных с блоком 4k или 8k, используя любой удобный для Вас способ. Использовать отдельную базу данных для ProMonitor рекомендуется по следующим причинам: отдельная база данных обеспечивает «чистоту» схемы ваших «боевых» баз;  если объединять базы данных ProMonitor`a  и Вашей «боевой» базы, то статистика будет собираться недостоверная, т.к. в нее войдут статистические данных генерируемый самим монитором. Отметим, что даже если база монитора выделена в отдельную базу, процесс мониторинга будет появляться в контролируемой базе в качестве пользователя ( Type = SELF или REMC)  и будет генерировать определенную нагрузку I/O. Если Вы планируете использование в базе данных Storage Areas, можно использовать структурный файл pm.st (pm10.st для Progress v10). Если Вы решили использовать этот файл, необходимо также использовать соответствующий файл определения данных (pm.df) вместо общего файла (vst.df).
Запустите Progress-сессию относительно созданной базы данных, и используя Data Dictionary загрузите в неё ProMonitor Data Definitions (vst.df). Теперь можно скомпилировать исходный код. Для этого воспользуйтесь встроенной возможностью редактора Progress (Tools -> Application Compiler) или же можно использовать примитивную программу compile.p, которая поставляется вместе с ProMonitor. При этом существует две программы (promon2.p и quickie2.p), которые требуют выполнения дополнительных шагов для своей компиляции. Для этого вам необходимо:
  • Иметь подключение к базе ProMonitor;
  • Иметь подключение к любой другой базе данных, можно к простой empty, у которой логическое имя должно быть “targetdb”. Подключиться к базе с таким  логическим именем можно несколькими способами:
    • с помощью ABL: CONNECT <dbname> -ld targetdb;
    • с помощью Data Dictionary: Data Dictionary -> Database -> Connect;
    • с помощью командной строки: mpro <dbname> -ld targetdb.
Запустите брокера  базы данных ProMonitor. Это может быть сделано как в одно, так и в много пользовательском режиме. Но исходя из некоторых соображений, базу рекомендуется запускать в многопользовательском режиме. Если процесс мониторинга будет запускаться в фоновом режиме, а именно этот способ рекомендуется, то в случае необходимости, его работу можно будет легко остановить, используя proshut или promon. В зависимости от выбранных настроек, в базе данных ProMonitor может создаваться большое количество записей, а как известно, обработка транзакции происходит лучше в многопользовательском режиме. В этом режиме вы можете запускать дополнительную копию приложения ProMonitor, для формирования различных отчетов, в то время как процесс сбора статистики будет выполняться в фоновом или интерактивном режимах. И наконец, доступ к базе данных ProMonitor может быть осуществлен с удаленных машин.
Для запуска брокера базы данных ProMonitor рекомендуются следующие значения стартовых параметров:
  • -L, должен быть установлен не ниже 16 000;
  • должен быть запущен как минимум один процесс APW (proapw);
  • должен быть запущен BIW (probiw);
  • установите BI Buffers (-bibufs) равным 50;
  • для современных многопроцессорных систем используйте параметр –spin равный 32 000;
  • установите BI Cluster Size равным 16 Мб;
  • если для промышленной базы данных используется параметр Direct I/O (-directio), то он должен быть использован и для базы ProMonitor;
  • если BI файл промышленной базы данных располагается на отдельном диске, разместите BI файл базы ProMonitor там же;
  • для обеспечения удаленных подключений, воспользуйтесь параметров Service Name (-S).
Теперь можно запускать главную программу ProMonitor, которая называется menu.p. Для этого запустите клиентскую Progress – сессию относительно базы данных ProMonitor, используя следующую команду:
mpro <DB> -p menu.p
где, DB это имя базы данных ProMonitor. Так же рекомендуется использовать клиентские параметры –Bt 4086 и –TB 31 –TM 32.
Затем, в основном меню выберите пункт Maint -> Configuration. Это программа настройки конфигурации. С помощью нее контролируется частота и количество формируемых выборок (samples) модулями ProMonitor и Client Statistics, а также другие параметры настройки. Проигнорируйте поля Default DB и Exit Flag, поскольку они будут обсуждены позже. Для того чтобы проверить, что установка программы прошла успешно, введите в поле Sampling Frequency значении 10 (в секундах), а в поле Number of Samples введите 2. Для Unix и Linux систем введите id принтера по умолчанию в поле Default Printer, это тоже самое значение, что используется для lp –d. Поле Page Size устанавливает количество строк отправляемых на принтер. На текущий момент, так же, проигнорируйте поля Alert Color и Temp File Configuration, так как о них будет рассказано позже. Нажмите F1 и сохраните изменения.
Для того чтобы указать по каким базам данных необходимо собирать статистику, выберите меню Maint -> DB Maintenance. Для локальных баз данных, т.е. базы которые запущены там же где работает ProMonitor, необходимо указать полный путь. Для удаленных баз, находящихся на других машинах, необходимо указать соответствующие параметры подключения, такие как Host Name (-H) и  Service Name (-S). Обратите внимание, на дополнительные подсказки внизу экрана, которые отображаются для каждого заполняемого поля. Если у вас очень много баз данных, мониторинг которых должен осуществлять ProMonitor, то для автоматического их добавления в базу, вы можете воспользоваться программой dbipcs.p, работа которой основывается на использовании утилиты proutil dbipcs. Эта программа должна запускаться из командной строки Unix/Linux, т.к. она отсутствует в стандартном меню.
В меню Maint существует пункт, в котором можно посмотреть список всех контролируемых баз данных, называется он DB List.
ProMonitor также способен собирать статистику по базам данных, версия которых отличается от текущей. Для этого вам необходимо обеспечить чтобы база данных ProMonitor и сам процесс сбора данных работали под большей версией Progress. Например, для мониторинга версий V9 и V10, ProMonitor должен быть запущен под версией V10. При настройке пункта меню DB Maintenance, необходимо заполнить поле Version, например: “9.1E SP05” или “10.1B”. База данных с более старшей версией должна быть настроена как удаленная база данных (Remote Database), для этого в поле Remote Database необходимо установить значение “yes”, это необходимо даже если контролируемая база находится на том же сервере где будет работать ProMonitor. Версия ProMonitor V10 не может контролировать баз данных, работающие под версией V8. Ниже приведено более подробное описание назначения и использования полей меню DB Maintenance.

  • Database Name – здесь необходимо ввести уникальное имя базы данных в пределах ProMonitor;
  • Version – версия Progress для базы данных. первый символ всегда должен быть цифрой, например, правильно будет указать 10.1A, а неправильно – V10.1A. Это особенно важно, если имеется необходимости контролировать базы данных на разных версиях Progress;
  • Site id – поле используется для описания расположения базы данных, например, hardware node, physical location, plant id и т.п. На текущий момент, поле не используется, но в будущем предполагается задействовать его для расширения мониторинга Remote Database;
  • Description – описание базы данных в свободной форме;
  • Database Path – для локальных баз данных указывается полный путь к базе без суффикса .db. Для удаленных (Remote) указывается только имя базы данных без суффикса;
  • Connection Parameters – указываются параметры, необходимые для подключения к базам данных, например, Service Name (-S), Host Name (-H) и Network Protocol (-N). Внимание: не используйте параметр Read Only (-RO), поскольку он не позволит ProMonitor`у собирать корректную статистику из VST;
  • Remote Database – устанавливается в “yes” для каждой базы данных, которая запущена не на текущей машине;
  • Monitoring On – используется для включения или отключения мониторинга базы данных;
  • Load DB Log – если установлено “yes”, то при каждом снятии статистики в базу данных ProMonitor будет записывать лог контролируемой базы. При этом будут записаны только изменения которые произошли с момента последнего снятия статистики. Перед тем как включить этот флаг, убедитесь что загружены все необходимые фильтры Log Filters. Установка этой опции значительно увеличит размер базы данных ProMonitor. Имейте ввиду, загрузка лога не возможна для удаленных (Remote) баз данных. Для получения более подробной информации о Log Filters, прочитайте часть этого документа под названием “Мониторинг log-файла”;
  • Monitor AI – эта опция используется для сбора специфической статистики по работе After-Imaging. VST (Virtual System Tables) только частично содержат информацию по AI, поэтому, когда эта опция установлена в “yes”, дополнительная информация собирается с помощью rfutil aimage list. Опция не может быть использована для удаленных (Remote) баз данных, поскольку для них нельзя запустить команду rfutil удаленно;
  • Create User I/O – формирование пользовательской статистики User I/O может быть включено (on) или выключено (off). Если опция включена, то по каждому пользователю собирается индивидуальная статистика по использованию DB, BI и AI. Это очень детальный мониторинг ввода/вывода, поэтому каждая выборка будет длиться дольше, особенно если с базой работает много пользователей. Это может создать дополнительную нагрузку на машину, на которой расположена база данных ProMonitor, а так же вызовет быстрый рост размера этой базы. Однако, иногда, значимость этой статистики более велика чем увеличение нагрузки на сервер, и обычно, ухудшение производительности не заметно, поэтому здесь об этом сказано только для информации;
  • Record all Trx – у записываемых транзакций существует два основных статуса: ACTIVE и ALLOCATED. Если установлено “yes”, то информация о транзакциях будет записываться по обеим статусам. Если “no” – то информация будет собираться только по статусу ALLOCATED. Эта опция влияет только на размеры базы данных. Ниже приведет пример окна  Display Last Sample, в котором отображаются транзакции с обоими статусами.

  • Program Name – возможность фиксировать работающую программу. Доступно не для всех систем. Точнее сам Progress на текущий момент не поддерживает такую возможность, но некоторые приложения сохраняют эту информацию, а следовательно, если немного поправить код ProMonitor, то её можно использовать. К настоящему времени ProMonitor корректно поддерживает эту возможность для системы Mfg/Pro. Ниже приведен пример окна Display Last Sample, отображающего имена программ, запускаемых процессами в Mfg/Pro, но даже здесь имеются пробелы, которые связаны с ошибками в работе в Mfg/Pro.

  • Table I/O – опция предназначена для мониторинга использования таблиц. При этом, при каждом снятии статистики создается по одной записи на каждую таблицу. По каким таблицам будет осуществляться мониторинг, определяется параметрами запуска брокера –basetable и –tablerangesize;
  • User Table I/O – эта опция должна использоваться только для версий V10 и выше. Когда установлено “yes”, создаются записи по каждому пользовательскому процессу, для каждой используемой им таблицы, у которой не нулевое значение I/O. Поскольку ее использование может привести к созданию большого количества записей за короткий период – используйте эту опцию весьма осторожно. Опция так же требует использования параметров, которые описаны выше для Table I/O;
  • User Index I/O -  опция также используется только для версий V10 и выше. Когда установлено “yes”, создаются записи по каждому пользовательскому процессу, для каждого используемого им индекса, у которого не нулевое значение I/O. Поскольку ее использование может привести к созданию большого количества записей за короткий период – используйте эту опцию весьма осторожно. На текущий момент эта опция не работает, и будет добавлена только в будущих версиях ProMonitor;
  • Index I/O - опция предназначена для мониторинга использования индексов. При этом, при каждом снятии статистики создается по одной записи на каждый индекс. Для корректной работы необходимо использовать параметрами запуска брокера –baseindex и –indexrangesize;
  • Record Lock Count – используется три следующих значения: None – значение по умолчанию, что означает, не снимать статистику по блокированию записей (No Record Lock); Quick – использование VST _UserLock для сбора статистики по заблокированным записям. Эта таблица ограниченна 512-ю записями на один процесс. Если какой-либо процесс способен заблокировать большее количество записей, то этот метод не будет отображать корректные данные. Тем не менее, он работает быстрее и с меньшими нагрузками на систему чем Full; Full – используется VST _Lock, и собирает более точную статистику по блокированным записям, в то же время выбор этого значения может увеличить время формирования одной выборки (Sample). Поэтому рекомендуется предварительно проверить необходимое время формирования выборки для промышленной базы данных. Если это займет более чем несколько секунд, то рекомендуется отключить эту опцию (None) или использовать значение Quick;
  • Find Lock Holder – возможность использовать эту опцию появится если в поле Record Lock Counts установлено значение Full. Если выбрано “no”, то ProMonitor будет собирать информацию только относительно процессов которые находятся в очереди на получение блокировки. Если “yes” – то дополнительно к этому, будет собираться информация о процессах которые удерживают блокировку, которую ожидают другие процессы. Значении “yes” увеличит время формирования выборки, а также увеличит процент использования CPU. При этом, иногда использование CPU может ощущаться существенно. Ниже приведен пример окна Queued Locks –All DBs, отображающего процесс находящиеся в очереди ожидания блокировки и процессы удерживающие их.

Следующий шаг по настройке ProMonitor это создание экстренных сообщений, далее Alerts.

Для каждой подконтрольной базы данных можно установить отдельный набор таких сообщений. Но на этот шаг необходимо много времени и он не является обязательным. Поэтому, если вы все же захотите это сделать, то обратитесь к соответствующей части этого документа, называемой “Модуль Alert Basics”.
Перед запуском процесса мониторинга не забудьте настроить переменную среды окружения DLC.
Если программы ProMonitor располагаются в каталоге отличном от каталога расположения базы данных ProMonitor, то необходимо указать этот каталог в переменной среды окружения PROPATH.
Так же, в переменной PATH необходимо прописать путь $DLC/bin. Это необходимо например для вызова утилиты promon для локальных баз данных непосредственно из ProMonitor или для осуществления мониторинга AI. 

<-- Введение

 

 Тестирование -->

 





Главная |  Статьи |  Книги |  Гостевая |  Ссылки |  От автора |  Download ProKb


������ ᠩ� pr Online ProKB Blogger Welcome to Russian Progress Users Group at Facebook Welcome to Russian Progress Users Group at LinkedIn
© 2009 - 2011 Все права на материалы, находящиеся на сайте www.openedge.ru, охраняются в соответствии с законодательством РФ, в том числе, об авторском праве и смежных правах.
При любом использовании материалов сайта ссылка на источник обязательна.