RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
Visa 
4274 3200 2453 6495 

Глава 5. Установка агента монитора

MySQL Enterprise Monitor Agent контролирует сервер MySQL и посылает данные MySQL Enterprise Service Manager. Данные интерпретируются MySQL Enterprise Advisors и показываются в пользовательском интерфейсе MySQL Enterprise Monitor. Следующий раздел описывает, как установить агента на всех платформах.

Сильно рекомендуется, чтобы MySQL Enterprise Monitor Agent 8.0 был установлен для использования с MySQL Enterprise Service Manager 8.0.

5.1. Общие примечания, связанные с агентом

Эта секция описывает важные особенности агента.

  • Агент использует трех пользователей с различными уровнями связи: Admin, General (опционально) и Limited (опционально). Они могут быть созданы вручную или процессом конфигурации и установкой.

  • Как правило, один агент устанавливается на хосте, контролирует хост и все экземпляры MySQL на нем. Агент может также контролировать удаленные экземпляры MySQL.

  • Агенты автоматически обнаруживают экземпляры MySQL на хосте. Добавление нового экземпляра MySQL может быть выполнено в MySQL Enterprise Monitor UI или из командной строки.

  • Выбор экземпляра MySQL, чтобы контролировать, опционален во время установки. Если вы принимаете решение определить экземпляр MySQL, управляя инсталлятором, дополнительные экземпляры MySQL на хосте обнаруживаются и сообщаются в пользовательском интерфейсе MySQL Enterprise Monitor. Оттуда можно добавить соответствующую конфигурационную информацию.

  • Чтобы обнаружить местную связь в IPv6, агент требует настройки системы на разрешение localhost как ::1, что может означать редактирование файла /etc/hosts.

    Это потому, что SHOW PROCESSLIST всегда сообщает localhost даже когда связано с ::1 без разрешения адреса. Если разрешение localhost не формируется для IPv6, агент не может обнаружить локальную IPv6-связь сервера MySQL.

  • Можно назначить экземпляр MySQL на группу с помощью инсталлятора агента, который показан в MySQL Enterprise Service Manager.

  • Конфигурационные файлы старого агента (mysql-monitor-agent.ini и agent-instance.ini) больше не существуют. Надо использовать custom.xml.

  • Пароли теперь сохранены в зашифрованном формате, таким образом, вы больше не можете восстанавливать пароли из конфигурационных файлов.

  • Service Manager теперь связывает агента, который контролирует хост, сканируя все экземпляры MySQL на хосте, а также контролирует хранилище данных Service Manager.

    Рекомендуется установить MySQL Enterprise Service Manager на выделенном сервере без других установленных экземпляров MySQL.

  • Для получения списка поддерживаемых платформ, которые поддерживает установка агента, см. http://www.mysql.com/support/supportedplatforms/enterprise-monitor.html .

5.2. Создание учетных записей пользователей MySQL для агента монитора

MySQL Enterprise Monitor Agent требует пользователя, формируемого в каждом экземпляре MySQL, который проверяется, с подходящими привилегиями, чтобы собрать информацию о сервере, включая имена переменных, репликацию и информацию о статусе механизма хранения.

Агент требует пользователя Admin и может произвольно использовать пользователей General или Limited в зависимости от требований к защите системы. Во время процесса установки будет предложено создать пользователей General и Limited. Можно позволить агенту соединяться с базой данных, используя пользователя Admin для всех задач, но рекомендуется создать General или Limited для задач, которые не требуют root-доступа к базе данных. Не необходимо создавать обоих пользователей. Возможно создать одного или другого. Агент использует пользователя с самыми низкими требуемыми полномочиями для запроса и изменяет его на пользователя с более высокими привилегиями только если запрос этого требует.

  • Admin: пользователь, который имеет права SUPER. Они требуются, чтобы управлять определенными запросами, например, SHOW MASTER LOGS или SHOW ENGINE INNODB STATUS в зависимости от версии, которая проверяется.

    Контролируя сервер MySQL 5.5, необходимо также предоставить права CREATE и INSERT на схему, в которой создается таблица инвентаря. Таблица инвентаря хранит уникальные идентификаторы для экземпляра MySQL и составлена по умолчанию в схеме mysql.

    Таблица инвентаря не используется в MySQL Server 5.6 или выше.

    Если вы намереваетесь автоматически создать пользователей General и Limited, необходимо также предоставить пользователю Admin право CREATE USER. Необходимо также предоставить права SHOW VIEW, PROCESS, REPLICATION CLIENT, SELECT и SHOW DATABASES глобально и UPDATE на таблицу performance_schema.threads с правом GRANT OPTION для всех.

    Если вы намереваетесь установить схему sys из MySQL Enterprise Monitor, в дополнение к упомянутым выше привилегиям необходимо также предоставить пользователю Admin права CREATE, INSERT, CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE VIEW и TRIGGER.

  • General: Этот дополнительный пользователь обращается с общими контрольными задачами, которые не требуют привилегии уровня SUPER. Более низкопривилегированные пользователи используются, пока более высокие привилегии не требуются. В этом случае MEM временно загружается как пользователь SUPER, затем отступает к обычному пользователю.

    Если вы вручную управляете созданием этого пользователя, предоставьте ему по крайней мере права EXECUTE, PROCESS, REPLICATION CLIENT, SELECT и SHOW DATABASES глобально и UPDATE на таблице performance_schema.threads. Если вы намереваетесь использовать EXPLAIN на обзорах, необходимо также предоставить SHOW VIEW.

    Если вы контролируете MySQL 5.1.63 или ранее, необходимо предоставить SUPER пользователю General. Агент требует этой привилегии, чтобы использовать SHOW BINARY LOGS.

  • Limited: Этот дополнительный пользователь используется для запросов, которые должны быть ограничены единственной связью.

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

    Если вы вручную управляете созданием этого пользователя, он должно иметь по крайней мере права EXECUTE, SELECT и SHOW DATABASES глобально и UPDATE на таблице performance_schema.threads. Если вы намереваетесь использовать EXPLAIN на обзорах, необходимо также предоставить SHOW VIEW.

Создание пользователя Admin

Если вы не хотите предоставлять информацию пользователя root инсталлятору, можно создать пользователя вручную в вашем сервере MySQL и обеспечить эти параметры как комбинацию пользователя/пароля агента во время установки. Привилегии, требуемые для этой учетной записи пользователя, варьируются в зависимости от информации, которую вы собираете с использованием MySQL Enterprise Monitor Agent.

  • SHOW DATABASES: MySQL Enterprise Monitor Agent может собрать информацию с проверенного сервера MySQL.

  • REPLICATION CLIENT: MySQL Enterprise Monitor Agent может собрать статусы Replication master/slave. Эта привилегия необходима только, если вы используете MySQL Replication Advisor Rules.

  • SELECT: MySQL Enterprise Monitor Agent может собрать статистические данные для объектов таблицы.

  • SUPER: MySQL Enterprise Monitor Agent может выполнять SHOW ENGINE INNODB STATUS, чтобы собрать данные о таблицах InnoDB. Эта привилегия также требуется, чтобы получать информацию о репликации с использованием SHOW MASTER STATUS и, контролируя MySQL 5.5 или ранее, чтобы временно выключить репликацию, наполняя таблицу mysql.inventory для идентификации экземпляра MySQL. Таблица mysql.inventory не составлена в MySQL 5.6 или выше.

    SELECT требуется, чтобы читать данные по всем объектам из INFORMATION_SCHEMA. Если это не предоставляют, для MySQL Enterprise Monitor невозможно выполнить контроль объекта или статистику.

  • EXECUTE: требуется, чтобы выполнить функции помощника.

  • PROCESS: Контролируя сервер MySQL 5.1.24 или выше с InnoDB, требуется право PROCESS, чтобы выполнить SHOW ENGINE INNODB STATUS.

  • INSERT: Если вы контролируете MySQL 5.6 или выше, эта привилегия не требуется. Надо создать UUID, используемый агентом.

  • CREATE: Если вы контролируете MySQL 5.6 или выше, эта привилегия не требуется. MySQL Enterprise Monitor Agent может составить таблицы. Во время открытия агент составляет таблицу inventory в базе данных mysql, которая хранит UUID для сервера. Без этой таблицы агент не может определить UUID сервера, который это посылает, наряду с другой информацией MySQL Enterprise Service Manager.

  • UPDATE на таблице performance_schema.threads. Это сделано, чтобы предотвратить события SQL Statement Generates Warnings or Errors, которые могут быть вызваны планами EXPLAIN, выполняемыми Query Analyzer. Эти предупреждения произведены потому, что Performance_Schema захватывает только 1024 знака каждого запроса. Предоставление этой привилегии позволяет закрыть связь с Performance_Schema перед EXPLAIN и повторно подключиться после завершения EXPLAIN.

    Если вы управляете созданием пользователей General и Limited вручную, необходимо также предоставить эту привилегию тем пользователям.

Например, следующий запрос GRANT дает агенту необходимые права SELECT, REPLICATION CLIENT, SHOW DATABASES и SUPER:

GRANT SELECT, CREATE USER, REPLICATION CLIENT, SHOW DATABASES, SUPER,
      PROCESS ON *.* TO' agent_user
      '@'localhost';

При использовании Auto-Create Less Privileged Users также добавьте WITH GRANT OPTION.

Из соображений безопасности вы могли бы ограничить права CREATE и INSERT агенту так, чтобы это могло только составить таблицы в базе данных mysql:

GRANT CREATE, INSERT ON mysql.*
      TO 'agent_user
      '@'localhost';

Если ведущий или ведомый работают с MySQL до 5.6, необходимо предоставить SELECT на таблице mysql.inventory для каждого пользователя с привилегиями репликации на соответствующем ведущем. Это позволяет MySQL Enterprise Monitor Agent прочитать UUID ведущего репликации:

GRANT SELECT ON mysql.inventory
      TO 'replicationuser
      '@'%';

Выполните этот шаг после запуска агента на соответствующем сервере MySQL, чтобы гарантировать, что таблица mysql.inventory составлена правильно. Запустите агент, закройте его, выполните вышеупомянутую команду GRANT и запустите агент.

Если агент не может получить доступ к информации таблицы, предупреждение, содержащее эту информацию, написано в журнал агента.

Вы могли бы отключить регистрацию для запросов привилегий, чтобы предотвратить копирование информации ведомым. В этом случае выполните запрос SET SQL_LOG_BIN=0 до выполнения GRANT.

Если работаете с MySQL 5.6 или позже, не необходимо предоставлять select на mysql.inventory, так как master_uuid используется от статуса ведомого. Поэтому нет никакой потребности останавливать агента или устанавливать SQL_LOG_BIN = 0.

Создание пользователей Limited и General

Если у пользователя Admin есть необходимые привилегии, чтобы создать других пользователей, можно поставить флажок Auto-Create Less Privileged Users и они создаются для вас автоматически.

Если галочка Auto-Create Less Privileged Users снята, агент использует только пользователя Admin для контроля.

Если галочка Auto-Create Less Privileged Users снята, можно войти в параметры доступа для пользователей General и Limited. Если вы определяете этих пользователей, необходимо создать их вручную. Установщик пытается проверить этих пользователей и показывает предупреждающее сообщение, если они недействительны. Процесс установки продолжается, и агент работает правильно, но необходимо создать тех пользователей позже.

В типичной конфигурации агент работает на том же самом хосте, где сервер MySQL, который он контролирует, таким образом, имя хоста часто localhost. Если агент работает на машине кроме проверенного сервера (серверов) MySQL, то измените localhost на правильное значение. Для получения дополнительной информации о дистанционном мониторинге, посмотрите раздел 5.7.

5.3. Соображения о Java на UNIX-платформах

MySQL Enterprise Monitor Agent для UNIX-платформ поставляют с и без совместимой JVM. Для тех инсталляторов, которые не включают совместимую JVM, необходимо загрузить и установить совместимую версию, если у вас ее нет. Консультируйтесь с документацией поддержки своей платформы для получения информации о соответствующих установках.

На 64-битных платформах рекомендуется использовать 32-битный JRE с 32-битным MySQL Enterprise Monitor Agent. 32-битная версия использует значительно меньше RAM, чем 64-битная версия. Для получения дополнительной информации посмотрите здесь.

Библиотеки совместимости

Если вы намереваетесь использовать 32-битный JVM на 64-битной платформе, надо гарантировать, чтобы у вас были правильно установленные библиотеки совместимости, позволяя 64-битному приложению работать с 32-битной JVM.

Эти библиотеки отличаются между версиями Linux. Например, в Debian или Ubuntu, необходимо гарантировать, что устанавливается Multiarch или, используя более ранние версии, ia32-libs. В RedHat или CentOS необходимо гарантировать, что установлены glibc.i686, libXext.i686 и libXtst.i686.

5.4. Графический интерфейс агента

Эта секция описывает, как установить агент, используя Installation Wizard. Шаги идентичны методу установки из командной строки.

Чтобы установить в каталог по умолчанию (/opt/mysql/enterprise/agent), авторизуйтесь как root. Непривилегированный пользователь может установить в каталог /home/ user_name/mysql/enterprise/agent.

Чтобы автоматически запустить агент после перезагрузки, необходимо установить его как root. Если вы устанавливаете как непривилегированный пользователь, необходимо запустить агент вручную после каждой перезагрузки.

Хотя MySQL Enterprise Monitor Agent устанавливается как пользователь root, каталоги и файлы, в которые пишет агент, принадлежат пользователю mysql в группе mysql , которая включает logs/, spool/ и etc/agentManaged. Агент запущен и работает как пользователь mysql. При попытке установить в каталог, с которым пользователь mysql не может взаимодействовать, ошибка показана, объяснив, как исправить ситуацию.

Можно также установить Monitor Agent в режиме unattended. См. раздел 8.1.

Чтобы установить много агентов на той же самой машине, используйте опцию agentservicename с инсталлятором, чтобы определить уникальное сервисное имя каждый раз. См. installer_agentservicename.

В FreeBSD инсталлятор агента не связывает необходимый JRE 8.

Нет 64-битной установки агента для Microsoft Windows.

Чтобы установить агента, сделайте следующее:

  1. Управляйте инсталлятором как требуется вашей операционной системой.

  2. Отобразится диалог Language Selection. Выберите свой язык и нажмите OK.

    Диалог выбора каталога будет показан.

  3. Измените инсталляционный каталог или примите значение по умолчанию и выберите тип подключения для агента.

    • Installation directory: позволяет вам изменить инсталляционный путь.

    • TCP/IP: выберите, если агент использует TCP/IP, чтобы соединиться с проверенной базой данных. Этот выбор недоступен на платформах Microsoft Windows. TCP/IP используется по умолчанию.

    • Socket: выберите, если агент использует сокет, чтобы соединиться с проверенной базой данных. Это возможно только, если агент контролирует локальную базу данных. Этот выбор недоступен на платформах Microsoft Windows.

      Если вы выбираете Socket, необходимо указать путь позже в процессе установки.

    Нажмите Forward. Появится диалог Monitoring Options. Файлы копируются в инсталляционный каталог.

  4. Можно выбрать, контролировать ли хост, на котором агент устанавливается, или хост и экземпляр MySQL. Если вы выбираете только хост, необходимо формировать связь с MySQL Enterprise Service Manager, но никакая другая конфигурация не требуется. Если вы выбираете хост и базу данных, необходимо также сформировать параметры соединения с базой данных.

    Нажмите Forward. Если вы устанавливаете на Apple OS X, отобразится диалог Install as a service. Этот диалог позволяет вам установить агент как сервис, который перезапускается каждый раз, когда хост перезапущен. Этот выбор требует пароля Administrator.

    На всех других платформах показан диалог MySQL Enterprise Monitor Options.

  5. Закончите следующие шаги:

    • Hostname or IP address: имя хоста или IP-адрес сервера, где установлен MySQL Enterprise Service Manager.

    • Tomcat SSL Port: порт SSL MySQL Enterprise Service Manager.

    • Agent Username: имя пользователя агента. Это имя пользователя, которое все агенты должны использовать, чтобы соединиться с MySQL Enterprise Service Manager.

    • Agent Password: пароль агента. Это пароль, который все агенты должны использовать, чтобы соединиться с MySQL Enterprise Service Manager.

    • Re-enter: повторно введите пароль агента.

    Нажмите Forward, отобразится диалог Monitored Database Configuration Options .

  6. Monitored Database Configuration Options позволяет вам выбрать остающиеся шаги установки. Следующие варианты доступны:

    • Validate hostname, port, and Admin account privileges: выберите этот выбор, чтобы сделать попытку испытательной связи с базой данных с поставляемыми параметрами, определеными в диалоге Monitored Database Information. Если вы не выбираете этот выбор, установщик не делает попытку испытательной связи с базой данных с поставляемыми параметрами.

      Рекомендуется проверить связь.

    • Configure encryption settings for user accounts: выберите это, чтобы формировать диалог Encryption Settings. Если выбрано, этот диалог показан после Monitored Database Information. Диалог Encryption Settings позволяет вам определить возможности SSL для связей с SSL-экземплярами MySQL.

      Гарантируйте, что экземпляр MySQL имеет настроенный SSL.

    • Configure less-privileged user accounts: выберите, если вы намереваетесь определить пользователей General и Limited.

    Отобразится диалог Monitored Database Information .

  7. Monitored Database Information позволяет определить параметры связи для MySQL.

    • MySQL hostname or IP address: IP-адрес или имя хоста сервера, на котором работает экземпляр MySQL.

    • MySQL Port: порт экземпляра MySQL.

    • Admin User: пользователь-администратор для агента. Это может быть root или другой пользователь с правами SUPER.

    • Admin Password: пароль пользователя admin.

    • Re-enter Password: пароль пользователя admin.

    • Monitor Group: группа, к которой вы хотите добавить экземпляр в MySQL Enterprise Service Manager. Если группа не существует, она создается, а проверенный экземпляр добавлен к ней.

    Нажмите Forward. Если вы выбрали Validate hostname, port, and Admin account privileges в диалоге Monitored Database Configuration Options, поставляемые параметры проверяются.

    Если вы выбрали Configure encryption settings for user accounts в диалоге Monitored Database Configuration Options, выводится диалог Encryption Settings.

  8. Диалог Encryption Settings позволяет вам определить параметры SSL для связи с SSL-экземпляром MySQL.

    • Require Encryption: включает зашифрованные связи между агентом и экземплярем MySQL.

    • Allow Self-Signed Certificates: определяет, разрешены ли самоподписанные сертификаты.

    • CA Certificate: путь к сертификату CA.

  9. Если вы выбрали Configure less-privileged user accounts в диалоге Monitored Database Configuration Options, отобразится диалог Less Privileged User Account Creation.

    • Auto-create Less Privileged Users: выберите, чтобы автоматически создать пользователей, используя поставляемые параметры. Если вы не создаете этих пользователей, всеми запросами агента управляют как пользователь Admin.

    • General Username: имя пользователя General.

    • General Password: пароль пользователя General.

    • Limited Username: имя пользователя Limited.

    • Limited Password: пароль пользователя Limited.

    Нажмите Forward, чтобы создать учетную запись агента и закончить установку.

5.5. Запуск и остановка MySQL Enterprise Monitor Agent

MySQL Enterprise Monitor Agent может быть начат и остановлен в любое время. Если не запущен, информация о текущем статусе вашего сервера недоступна. MySQL Enterprise Service Manager обеспечивает предупреждение, если агент и сервер MySQL, который он контролирует, недоступны.

5.5.1. Старт/остановка агента в Windows

У вас есть выбор запуска Monitor Agent с заключительного инсталляционного экрана. Иначе можно сделать это из Start Menu, Programs, MySQL, MySQL Enterprise Monitor Agent. Просто выберите опцию Start MySQL Enterprise Monitor Agent.

В Windows Vista или позже запуск агента требует административных привилегий: вы должны войти как администратор. Чтобы запустить или остановить агента щелкают правой кнопкой мыши по пункту меню и выбирают Run as Administrator. То же самое ограничение относится к старту агента из командной строки. Надо открыть от имени администратора окно cmd, сделав щелчок правой кнопкой мыши по символу cmd и выбрать из меню Run as Administrator.

Чтобы сообщить о результатах, агент должен быть в состоянии соединиться с Monitor UI через порт, определенный во время установки. Значение по умолчанию для этого порта 18443, гарантируйте, что этот порт не заблокирован. Если вы нуждаетесь в помощи, исследуя установку агента, посмотрите, раздел 5.10.

Можно запустить агента из командной строки:

shell> sc start MySQLEnterpriseMonitorAgent

или:

shell> net start MySQLEnterpriseMonitorAgent

Можно также запустить агент, дав команду agentctl.bat start. Остановите агента, передав аргумент stop. Этот пакетный файл лежит в каталоге Agent.

Для подтверждения, что сервис работает, можно открыть окно Microsoft Management Console Services. Чтобы сделать это, перейдите в Control Panel, найдите Administrative Tools и нажмите Services. Найдите сервис MySQL Enterprise Monitor Agent и проверьте столбец Status.

Можно также начать агент из этого окна, а не через меню Start или из командной строки. Просто щелкните правой кнопкой мыши по MySQL Enterprise Monitor Agent и выберите Start. Запуск агента из этого окна открывает диалоговое окно, если агент не может соединиться с сервером MySQL, который контролирует. Никакая ошибка не показана, если агент неспособен соединиться с MySQL Enterprise Service Manager.

Всплывающее меню для старта агента также предлагает выбор остановки агента. Чтобы остановить агента из командной строки, вы должны только напечатать:

shell> sc stop MySQLEnterpriseMonitorAgent

или:

shell> net stop MySQLEnterpriseMonitorAgent

MySQLEnterpriseMonitorAgent это имя по умолчанию сервиса Monitor Agent.

5.5.2. Запуск/остановка агента в Mac OS X

Применение launchd

Предпочтительный метод состоит в том, чтобы использовать launchd, чтобы загрузить агент как сервис. После выбора "Install as a service" во время процесса установки, можно начать или остановить сервис агента, используя следующие команды.

Запустить:

shell> sudo launchctl load /Library/LaunchDaemons/mysql.agent.plist

Завершение:

shell> sudo launchctl unload /Library/LaunchDaemons/mysql.agent.plist

Применение init

Альтернативно скрипт init.d, чтобы запустить агент в Mac OS X лежит в /Applications/mysql/enterprise/agent/etc/init.d. Чтобы запустить агент, перейдите в этот каталог и в командной строке введите:

shell> ./mysql-monitor-agent start

Чтобы остановить агент, используйте команду stop:

shell> ./mysql-monitor-agent stop

Если агент не может быть остановлен потому, что файл pid, который содержит ID процесса агента, не может быть найден, можно использовать kill, чтобы послать сигнал TERM процессу:

shell> kill -TERM PID

Если вы управляете больше чем одним агентом на определенной машине, необходимо также определить путь к файлу ini, когда вы останавливаете агент. Выполнение mysql-monitor-agent stop без файла ini останавливает только агента, связанного с файлом ini по умолчанию.

Чтобы проверить, что агент работает, используйте следующую команду:

shell> ./mysql-monitor-agent status

Получающееся сообщение указывает, работает ли агент. Если агент не работает, используйте следующую команду, чтобы просмотреть последние десять записей в общем файле журнала агента:

shell> tail /Applications/mysql/enterprise/agent/logs/mysql-monitor-agent.log

Установка создает каталоги /Applications/mysql/enterprise/agent и logs, который расположен в каталоге agent.

Чтобы видеть все параметры командной строки, доступные, управляя агентом, перейдите в каталог /Applications/mysql/enterprise/agent/etc/init.d и выполните mysql-monitor-agent help, это показывает такое сообщение:

shell> ./mysql-monitor-agent {start|stop|restart|status}

Чтобы сообщить о результатах, агент соединяется с Monitor UI через порт, определенный во время установки. Значение по умолчанию для этого порта 18443, гарантируйте, что этот порт не заблокирован. Чтобы исследовать установку агента, посмотрите раздел 5.10.

5.5.3. Запус/остановка агента в Unix

Когда установка закончена, можно запустить агент из командной строки:

shell> /opt/mysql/enterprise/agent/etc/init.d/mysql-monitor-agent start

Для не-root установок команда была бы:

shell> /home/<user name>/mysql/enterprise/agent/etc/init.d/mysql-monitor-agent start

Чтобы остановить агента, используйте команду stop:

shell> ./mysql-monitor-agent stop

Если агент не может быть остановлен потому, что файл pid, который содержит ID процесса агента, не может быть найден, можно использовать kill для отправки сигнала TERM процессу:

shell> kill -TERM PID

Чтобы проверить, что агент работает, используйте следующую команду:

shell> ./mysql-monitor-agent status

Получающееся сообщение указывает, работает ли агент. Если агент не работает, используйте следующую команду, чтобы просмотреть последние десять записей в общем файле журнала агента:

shell> tail /opt/mysql/enterprise/agent/logs/mysql-monitor-agent.log

Установка создает каталог /opt/mysql/enterprise/agent с подкаталогом logs.

Чтобы видеть все параметры командной строки, доступные, управляя агентом, перейдите в каталог /opt/mysql/enterprise/agent/etc/init.d и выполните mysql-monitor-agent help:

shell> ./mysql-monitor-agent {start|stop|restart|status}

Чтобы сообщить о результатах, агент соединяется с Monitor UI через порт, определенный во время установки. Значение по умолчанию для этого порта 18443, гарантируйте, что этот порт не заблокирован. Чтобы исследовать установку агента, посмотрите раздел 5.10.

5.5.4. sql_mode

При запуске агент устанавливает на проверяемом экземпляре MySQL sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER . Если sql_mode=ONLY_FULL_GROUP_BY, запросы агента могут потерпеть неудачу. Локальный агент MySQL Enterprise Service Manager также установит на хранилище sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION.

5.6. Контроль многократных серверов MySQL

Можно контролировать многократные серверы MySQL (на той же самой машине или удаленно через различные машины) с использованием единственного агента.

Удостоверьтесь, что у экземпляра MySQL, который вы хотите контролировать, есть подходящий пользователь, чтобы использовать для соединения с хостом. Для получения дополнительной информации посмотрите раздел 5.2.

Как правило, агент просматривает хост и сообщает о непроверенных экземплярах MySQL в пользовательскому интерфейсе MySQL Enterprise Monitor. См. раздел 1.2. Для получения информации о том, как изменить статус экземпляра MySQL от непроверенного до проверенного, см. главу 15.

5.7. Настройка агента, чтобы контролировать удаленный сервер MySQL

Как правило, агент работает на той же самой машине, где серверы MySQL, которые он контролирует. Чтобы контролировать серверы MySQL, работающие на удаленных хостах, можно установить агент на любой машине.

Процесс для установки агента, чтобы контролировать сервер MySQL на удаленной машине идентичен процессу, описанному в главе 5. Следуйте указаниям, данными там, стараясь выбрать "host-only" и добавьте удаленные экземпляры MySQL позже или определите правильный IP-адрес или имя хоста для MySQL Enterprise Service Manager и аналогично для сервера MySQL: так как агент не работает на той же самой машине, где сервер MySQL, это не может быть умолчанием (localhost).

Гарантируйте, что агент имеет соответствующие права для входа на сервер MySQL от хоста кроме localhost и что порт, используемый сервером MySQL, как правило, 3306, должен быть открыт для удаленного доступа. Для получения дополнительной информации об авторизации, требуемой агентами, посмотрите раздел 5.2.

Агент также должен быть в состоянии авторизоваться в MySQL Enterprise Service Manager, как правило, используя порт 18443, поэтому гарантируйте, что соответствующий порт открыт.

Ограничения дистанционного мониторинга

  • Дистанционный мониторинг не обеспечивает данные об уровне операционной системы, такие как CPU, файлы и сетевая информация.

  • Контроль многократных экземпляров MySQL единственным агентом потенциально означает единственный пункт сбоя. Это особенно верно для дистанционного мониторинга, где потеря связи означает потерю контролирующих данных, тогда как агент на том же самом сервере, где экземпляр MySQL, продолжает контролировать и передает данные MySQL Enterprise Service Manager после повторного соединения.

  • Для автоматического обнаружения репликации не используйте дистанционный мониторинг для точных копий или источников. Агент должен быть установлен на той же самой машине, где сервер, который вы контролируете, чтобы работать правильно. Для получения дополнительной информации см. главу 27.

5.8. Контроль вне брандмауэра с тоннелем SSH

Если вы управляете сервером SSH на машине, на которой стоит MySQL Enterprise Service Manager и клиентом SSH на машине, на которой стоит агент, можно создать тоннель SSH так, чтобы агент мог обойти брандмауэр. Во-первых, необходимо внести корректировку в agent-mgmt-hostname value в файле etc/bootstrap.properties. Остановите агент и измените hostname так:

agent-mgmt-hostname = https://agent_name:password@localhost:18443/

Замените agent_name и password вашими значениями. Аналогично замените порт 18443, если вы не управляете Monitor UI на этом порте. Надо использовать localhost для имени хоста, так как агент соединяется через тоннель SSH.

Затем выполните следующую команду на машине, где агент работает:

shell> ssh -L 18443:Monitor_UI_Host:18443 -l user_name -N Monitor_UI_Host

По запросу введите пароль для user_name.

Если вы не управляете MySQL Enterprise Service Manager на порте 18443, замените соответствующим номером порта. Аналогично надо заменить Monitor_UI_Host правильным значением. user_name представляет действительного пользователя операционной системы на машине, которая выполняет MySQL Enterprise Service Manager.

Обязательно перезапустите агента так, чтобы новое значение для hostname вступило в силу. Для получения инструкций относительно перезапуска агента см.:

5.9. Тайм-аут связи HTTP

У связи HTTP между агентом и Service Manager есть тайм-аут по умолчанию в 250 секунд для предпринятой связи и в 300 секунд для установленной связи. Возможно отвергнуть эти значения в bootstrap.properties, добавляя следующие параметры:

  1. http-connect-timeout-ms=N: N это количество миллисекунд, чтобы ждать прежде, чем прекратить попытку подключения по HTTP.

  2. http-socket-timeout-ms=N : N это количество миллисекунд, чтобы ждать прежде, чем прекратить чтение или запись по HTTP.

Если установлено в ноль (0), никакой тайм-аут не определяется. Отрицательные величины не поддерживаются.

5.10. Поиск неисправностей агента

Первый шаг в поиске неисправностей агента это узнать, работает ли он или нет вообще. Чтобы сделать это см.:

Некоторые дополнительные подсказки:

  • Чтобы работать при запуске, агент требует правильных параметров логина для проверенного сервера MySQL. Авторизуйтесь на проверенном сервере MySQL и проверьте параметры входа. Сравните значения полей Host и User таблицы mysql.user со значениями, показанными в файле etc/agentManaged/mysqlConnection <id>/bean/json. Пароли зашифрованы, так что ими нельзя вручную управлять здесь, но пароль может быть изменен со страницы MySQL Instances в MySQL Enterprise Monitor User Interface или при помощи инструмента связи агента (agent.sh) из командной строки.

  • Использование неправильных параметров для входа в менеджер создает запись в файле журнала агента.

  • Легкий способ подтвердить, что агент может авторизоваться в менеджере состоит в том, чтобы напечатать https:// Monitor_UI_Host:18443/heartbeat в строку адреса вашего веб-браузера, заменяя соответствующим именем хоста и портом. Когда диалоговое окно HTTP authentication откроется, войдите с именем пользователя и паролем агента. Следующее сообщение указывает на успешный вход:

    <exceptions>
      <error>E0401: NullAgentPayloadException: []</error>
    </exceptions>
    

    Несмотря на то, что предыдущий листинг показывает ошибку, вы авторизовались успешно. Эта ошибка появляется потому, что вы авторизовались, но без полезной нагрузки.

    Если можно авторизоваться успешно как описано выше, и агент работает, то могут быть ошибки в конфигурации Агента. Сравните имя хоста, порт, имя агента и пароль, используемые в пользовательском интерфейсе MySQL Enterprise Monitor, а также проверьте их с помощью agent.sh.

  • Если аутентификация HTTP терпит неудачу, можно использовать неправильные параметры для агента. Попытка загрузиться в менеджер сервиса, используя неправильные параметры, создает запись в файле журнала агента.

    Если никакое диалоговое окно аутентификации HTTP не показано, и вы неспособны соединиться, имя хоста или номер порта могли бы быть определены неправильно. Сравните значения, которые вы ввели, с описанными как Application hostname and port: в configuration_report.txt. Отказ соединиться может также указывать, что порт заблокирован на машине с MySQL Enterprise Service Manager.

  • Чтобы проверить, является ли заблокированный порт проблемой, проверьте конфигурацию своего брандмауэра на этот номер порта. Откройте порт, определенный во время установки, и перезапустите агент. Если необходимо, можно контролировать вне брандмауэра, используя тоннель SSH. Для получения дополнительной информации посмотрите раздел 5.8.

  • Управление агентом из командной строки иногда показывает ошибки, которые не появляются в файле журнала или на экране, когда агент запущен из меню. Чтобы запустить агент из командной строки, см. инструкции, данные в начале этой секции.

  • Если у вас есть больше, чем один агент, работающий на той же самой машине, UUID должно быть уникальным.

  • Если агент и сервер MySQL, который это контролирует, работают на различных машинах, гарантируйте, что правильное значение host определяется для учетной записи агента. Правильный порт, как правило, 3306, должен также быть открыт для удаленного входа в систему. Для получения дополнительной информации о дистанционном мониторинге посмотрите раздел 5.7.

  • В MySQL 5.5 и ранее MySQL Enterprise Monitor Agent и MySQL Enterprise Service Manager используют уникальный идентификатор хоста, сохраненный в таблице mysql.inventory на проверенном MySQL Server, чтобы определить, является ли проверяемый экземпляр клоном. Идентификатор хоста текущего сервера сравнен с хранимым, когда агент запускается. Если произведенный идентификатор хоста и сохраненный идентификатор хоста не соответствуют, вы получаете ошибку, подобную следующей в файле журнала агента:

    %s: [%s] the hostid from mysql.inventory doesn't match our agent's host-id (%s != %s)
    We assume that this is a cloned host and shutdown now.
    Please TRUNCATE TABLE mysql.inventory on this mysql-instance and restart the agent.
    If this is a master for replication, please also run SET SQL_LOG_BIN = 0; first.
    

    Чтобы решить проблему, соединитесь с сервером MySQL, используя параметры, формируемые, когда вы установили агента, и затем усеките таблицу mysql.inventory:

    mysql> TRUNCATE mysql.inventory;
    

    Теперь перезапустите агента, который воссоздает таблицу mysql.inventory с обновленным UUID экземпляра и информацией hostid.

5.11. Отставание агента

Отставание агента это механизм кэширования, который хранит контролирующие данные пока агент не может общаться с MySQL Enterprise Service Manager. Отставание может сохранить 10 МБ проверенных данных в активной RAM.

  • Контроль одного экземпляра MySQL: отставание агента может сохранить до 40 минут проверенных данных, прежде чем кэш будет заполнен.

  • Контроль 10 экземпляров MySQL: отставание агента может сохранить до 4 минут проверенных данных, прежде чем кэш будет заполнен.

Поиск

 

Найди своих коллег!

Вы можете направить письмо администратору этой странички, Алексею Паутову. mailto:alexey.v.pautov@mail.ru