Мониторинг GoldenGate с помощью Oracle Enterprise Manager 12c

imageДолгое время лучшим и рекомендуемым способом управление инфраструктурой Oracle были консольные средства. Oracle мало уделял внимания средствам, позволяющим автоматизировать рутинную (а иногда совсем даже нерутинную) работу администраторов.

Ситуация постепенно менялась. Сначала Oracle выпустил DBA Studio, потом его переименовали в Enterpise Manager, сделали трехзвенным.

Но настоящий рассвет Oracle Enterprise Manager произошел, когда Oracle принял решение, что все его продукты будут управляться с помощью Oracle Enterprise Manager. В результате мы увидели его в управление стэком Fusion Middleware, Oracle Applications и т.д. Темпы развития продукта начали ускоряться. А потом появился Cloud…

Enterprise Manager 12c имеет в своем названии букву "c", которая означает "cloud". По сути, это первый продукт, который Oracle обозвал "12cloud". В принципе, это довольно логично, потому как в Cloud одну из основных ролей играет мощная система мониторинга и управления. С этого момента Enterprise Manager 12c стал не просто важным для Oracle продуктом. Он стал один из центральных. А следовательно все большие усилия вкладываются в этот продукт и модули под него.

Архитектура Oracle Enterprise Manager 12c

Сразу нужно сказать, что мы будем работать с 12cR2. Т.е пропустим первый релиз, чтобы избежать первопроходческих граблей. Архитектура OEM 12c показана на рисунке:

image

Как моно видеть у нас есть:

  • Oracle Management Repository (служебная СУБД, используемая Oracle Management Server),
  • Oracle Management Server – сервер приложений, на котором развернута бизнес-логика OEM 12c
  • Cloud Control Console – веб-консоль администратора

Все это довольно стандартно, а вот на стороне хостов, управляемых OEM 12c, все немного интереснее. Теперь там есть агент и модули (plug-in). Агент нужно ставить в любом случае, а plug-in только те, которые соответствуют сервисам, развернутым на этом хосте.

Агент – это платформозависимая часть, а модуль (plug-in) не зависит от платформы.

Мониторинг GoldenGate с помощью Enterprise Manager 12c

Будем считать, что сам Enterprise Manager 12c мы поставили. Теперь нам нужно поставить агента, а сверху plug-in для GoldenGate.

Установка агента Enterprise Manager 12c

1. Агенты EM 12c на UNIX-платформы ставятся полностью удаленно через ssh (с Windows мне в свое время пришлось потанцевать с бубном, поскольку требовалось ставить cygwin), а это в свою очередь требует "правильной" настройки системы эскалации привилегий sudo. Для этого в файле /etc/sudoers нужно:

  • Закомментировать параметр "Defaults    requiretty"
  • Убрать восклицательный знак в параметре "Defaults   !visiblepw"

Т.е. эти параметры будут выглядеть вот так:

#
# Disable "ssh hostname sudo <cmd>", because it will show the password in clear.
#         You have to run "ssh -t hostname sudo <cmd>".
#
#Defaults    requiretty

#
# Refuse to run if unable to disable echo on the tty. This setting should also be
# changed in order to be able to use sudo without a tty. See requiretty above.
#
Defaults   visiblepw

2. Теперь переходим в EM 12c и выбираем в меню Setup->Add Target->Add Targets Manual. Выбираем "Add Host Targets" и жмем кнопку Add Host…

image

Затем добавляем имя сервера, на который нужно установить агент, указываем операционную систему.

image

Указываем каталог, в который необходимо проинсталлировать агента (/u01/app/oracle/agent). Поле Instance Directory будет заполнено автоматически. Затем указываем имя и пароль, под которыми будем подключаться к удаленному серверу.

image

Ждем окончания развертывания. Проверяем, что все прошло успешно.

image

Агент развернут. Теперь на этот агент мы можем навешивать функции работы с различными системами за счет инсталляции модулей (plug-inов).

Установка plug-in GolenGate

Plug-inы можно устанавливать вручную, предварительно скачав их с edelivery.oracle.com, но проще всего их ставить непосредственно с support.oracle.com. Воспользуемся последним способом. Для этого идем в меню Setup->Extensibility->Self Update. В списке обновлений нужно найти раздел Plug-in, а в нем уже Oracle GoldenGate. Скачиваем plug-in.

image

Затем жмем кнопку Apply для перехода на страницу непосредственного развертывания модуля сначала на Management Server (Deploy On->Management Servers), а потом на агенты (Deploy On->Management Agents). После инсталляции на Management Server сам сервер EM 12c нужно будет перезапустить.

imageimageimage

Все агенты и plug-ins установлены. Осталось теперь выполнить настройки со стороны GoldenGate и Enterprise Manager увидит конфигурацию менеджеров, extract и replicat.

Настройка взаимодействия между GoldenGate и Enterprise Manager

Схема взаимодействия GoldenGate и агента Enterprise Manager следующая:

image

Как можно видеть Manager, Replicat, Extract пишут данные о своей работе в локальное хранилище BerkleyDB. JAgent – это модуль, написанный на Java и отслеживающий данные в BerkleyDB, а также передающий данные агенте Oracle Enterprise Manager.

Вот что нам нужно для настройки подключения OEM агента к GoldenGate:

  1. Включить JAgent. Для этого в файле $GOLDENGATE_HOME/GLOBALS ставим параметр
    ENABLEMONITORING
  2. Между EM Agent и JAgent должна существовать аутенфикация. Пароль будет храниться в Oracle Wallet. Для его создания запускаем следующие команды в $GOLDENGATE_HOME:
    ./pw_agent_util.sh -jagentonly
  3. Настроить JAgent на определенный сетевой порт. Делается это в файле $GOLDENGATE_HOME/cfg/Config.properties:
    agent.type.enabled=OEM — по-умолчанию OGGMON
    jagent.rmi.port=5559
    jagent.host=localhost
    jagent.jmx.port=5555
    jagent.username=root
  4. Создать Berkley Datastore. Для этого в консоли GGSCI выполняем команды:
    GGSCI> CREATE DATASTORE
    GGSCI> STOP MANAGER
    GGSCI> START MANAGER
    GGSCI> START JAGENT
    GGSCI> INFO ALL

    Program     Status      Group       Lag at Chkpt  Time Since Chkpt
    MANAGER     RUNNING
    JAGENT      RUNNING

  5. Настроить plug-in в OEM на порт в п.1. Для этого идем Setup->Add Target->Configure Auto Discovery.
    image
    В открывшемся окне выбираем "All Discovery Modules. Выбираем сервер, на котором будем искать инсталляции GoldenGate и жмем кнопку "Configure"
    image
    Выбираем строку с GoldenGate, нажимаем кнопку "Edit parameter" и настраиваем параметры. Если вы настраивали все так как я писал, то нужно будет поменять только пароль.
    image
    Закрываем окном и жмем кнопку Run Discovery Now. По окончанию будет выдано окно
    image
    Это окно мы закрываем и для соответствующей ноды выбираем число в столбце "Discovered Targets’. Среди найденных целей увидим GoldenGate и GoldenGate Manager
    image
    Выбираем цель типа Oracle GoldenGate и с помощью кнопки Promote добавляем экземпляр GoldenGate в Enterprise Manager.
  6. Агент проинсталлирован. Теперь перейдем в специализированную панель мониторинга GoldenGate, Для этого заходит в меню Target->GoldenGate
    image

Заключение

Наличие в GoldenGate модуля для интеграции с Oracle Enterprise Manager делает его еще более привлекательным решения, особенно в сетях с больших количеством узлов репликации. GoldenGate Agent for Enerprise Manager.

Пока что этот модуль работает на чтение, но будем развиваться в.т.ч. и за счет управления  всей системой в в целом.

14 Comments

  1. Мы как-то заводили мониторинг в em, но частота обновления данных крайне низка( обновление раз в 10 минут крайне мало), GG monitor гораздо быстрее в этом плане.

    • В параметрах агента Enterprise Manager есть настройка, которая регулирует частоту отчетности агента о происходящем на сервере.

  2. Если заходить в OEM-GoldenGate-Incident Manager то у меня вылетает
    ORA-00932: inconsistent datatypes: expected – got CHAR

    Какой-то баг, похоже. Хотя на функционал не вижу чтоб влияло

  3. Да, и ещё. Неужели только статус ГГ из OEM можно мониторить, даже лаги нельзя? Не нашел такой метрики у него.

  4. start jagent вываливается с ошибкой:
    2013-04-25 12:03:33 WARNING OGG-01930 Datastore error in ‘dirbdb’: BDB0113 Thr
    ead/process 1212896/1213064 failed: BDB1507 Thread died in Berkeley DB library.
    кто сталкивался?

    • Есть такая проблема на ранних версиях. Решается обновлением gg до 11.2.1.0.5.
      В 11.2.1.0.1 можно сделать repaire datastore, но скорее всего проблема опять скоро вылезет

  5. Патч установил, спасибо. BDB и Jagent заработали, но теперь в autodiscovery ну удается найти GG. пробовал уже на 2 разных машинах. есть ли какиенибудь там тонкости? я слышал, что мониторинг плохо рабоатет (вообще не работает) если manager установлен как Windows service. Так ли это? Если нет, то какие методы диагностики посоветуете?

  6. С методами диагностики там как-то не очень все хорошо. Но бывали случаи, когда OEM не находил GG. Нужно смотреть на саму систему. Если есть желание, то пишите мне на почту aryndin99@oraclegis.com. Обсудим детали.

Leave a Reply

Your email address will not be published. Required fields are marked *