Можно настроить правила MySQL Enterprise Monitor, советников и графы на основе бизнес-правил организации, методов наиболее успешной практики и типов проблем, которые можно ожидать.
Для общих сценариев, повторного использования или редактирования советники и графы обеспечены MySQL Enterprise Monitor. Чтобы создать новых советников и графы, откройте страницу Advisors и выберите , чтобы создать советника, или Import/Export, чтобы создать граф.
Подобные советники группируются по категориям. Чтобы создать нового советника, выберите на странице Advisors.
Категории советников по умолчанию:
Administration
Agent
Availability
Backup
Cluster
Graphing
Memory Usage
Monitoring and Support Services
Operating System
Performance
Query Analysis
Replication
Schema
Security
Можно также создать собственную категорию советника, создавая советника, изменив параметр Advisor Category.
Графы определяются в XML-файлах, затем импортировали в MEM. Новый настраиваемый график показан в категории Graphing на странице Advisors.
Для примера того, как создать граф, посмотрите раздел 30.1.9.
Элементы XML для создания графа следующие:
version
Номер версии графа. Вообще важно только со связанными графами и используется только внутренне.
uuid
Уникальный идентификатор графа. Каждый пересмотр (версия) требует нового uuid, который используется только внутренне.
name
Видимое имя графа, которое показано в рамках списка графов. Отметьте: графы сортированы в алфавитном порядке.
frequency
Произвольно определите частоту для графа, по умолчанию 1 минута. Можно использовать секунды, минуты, часы и дни.
rangeLabel
Этикетка диапазона оси Y. Например, граф об использовании дискового
пространства может использовать MB.
series
Каждый ряд содержит этикетку и выражение. Этикетка это видимое название ряда и простое выражение, которое его определяет.
variables
Каждое определение переменной содержит имя, экземпляр и элемент dcItem. Экзщемпляр определяет, какие данные показывает граф, каждый элемент dcItem содержат пространство имен, имя класса и attribName:
nameSpace
Пространство имен (тип) пункта сбора данных.
className
Класс (тип пространства имен) пункта сбора данных.
attribName
Название атрибута пункта сбора данных.
Чтобы создать нового советника, нажмите кнопку на странице Advisors. Чтобы создать советника на основе существующего, выберите Copy Advisor из меню Advisor. Можно отредактировать любой элемент советника во время процесса копирования, в отличие от редактирования существующего советника. Чтобы удалить советника, выберите Delete Advisor в меню Advisor.
В отличие от основанных на выражении советников, невозможно скопировать одного из основанных на GUI советников, чтобы использовать в качестве основания для своего советника.
Можно поменять имя советника, изменить категорию, кому советник принадлежит, установить собственный номер версии и изменить порог и частоту советника.
Если вы не определяете номер версии для нового советника, версия 1.0 автоматически добавляется.
Можно также отредактировать выражение советника. Для получения дополнительной информации о выражениях советника см. главу 18. Выражение может быть столь же простым, как единственный параметр сервера, или может быть сложным, объединив многократные параметры с математическими операциями.
У выражения есть две главных особенности:
Выражение проверяет, нарушается ли наиболее успешная практика.
Результат выражения должен всегда быть 1 или 0 (соответствие true или false).
Например, если предоставление возможности двоичной
регистрации является наиболее успешной практикой для рабочего сервера
(как Oracle рекомендует), тогда эта наиболее успешная практика нарушена, если
log_bin = OFF.
Следовательно, выражение для советника
Binary Logging Not Enabled
это %log_bin% == OFF
. Если это оценивается как 1, событие поднято, потому что
наиболее успешной практике не следуют.
Выражение составлено из одной или более переменных и ноля или большего количества математических операторов. MySQL Enterprise Monitor использует Java Expression Parser. Операторы и функции состоят из:
Оператор IN().
Функции MySQL LEAST(),
LOCATE(), ABS(),
MOD(), NOW()
(вернет время с начала эпохи Unix UTC в секундах),
UNIX_TIMESTAMP (технически не делает ничего) и
INTERVAL [n] SECOND, MINUTE, HOUR, WEEK, MONTH
.
Функции операторов перечислены на этой странице: http://www.singularsys.com/jep/doc/html/operators.html .
Сравнения с метками времени MySQL и датами, собранными агентом в
стандартном формате MySQL 'YYYY-MM-DD
hh:mm:ss[..nanos]'
Функции IF: IF
(
вернут condition,
true_expression,
false_expression)true_expression или
false_expression, в зависимости от
condition = true или false.
Эта функция использует оценку короткого замыкания, таким образом, только одно
из выражений оценено.
Функции LEFT(
string,
length) и
RIGHT(
string,
length).
Функции NUM(
string).
Функция CAST(
expression as type)
не осуществляется. Вместо этого используйте
NUM(string
), чтобы использовать последовательности в качестве чисел.
Для полного списка встроенных переменных, используемых, чтобы создать советников, посмотрите Server Option, System Variable, and Status Variable Reference.
Создание выражения зависит от переменных, определенных во фрейме Variable Assignment. Эта структура связывает переменные, используемые в области выражения с данными, собранными от целевого экземпляра сервера MySQL: переменные статуса сервера, информация о статусе операционной системы и информация о таблице. Имена переменной связаны с элементами в выпадающем меню Data Item. Чтобы определить больше, чем одну переменную, нажмите кнопку .
Остающиеся области определяют информацию, которую вы получаете в электронном письме уведомления или информационном всплывающем окне, связанном с каждым советником.
Сохраняя новый Советник, выберите уникальное имя, не используемое любым существующим Советником.
Когда MySQL Enterprise Monitor оценивает выражение, он заменяет переменные значениями. Например, у части выражения для советника MyISAM Key Cache Has Sub-Optimal Hit Rate вычисляется частота успешных обращений следующим образом:
100-((%Innodb_buffer_pool_reads% / %Innodb_buffer_pool_read_requests%)*100)
Если текущее значение
%Innodb_buffer_pool_reads% = 4522 и
%Innodb_buffer_pool_read_requests% = 125989,
процент совпадений составляет 96.4%:
100 -((4522 / 125989) * 100)
В соответствии с соглашением, советники используют в MySQL
% как разделитель, например,
%Key_reads%.
Это делает переменные более идентифицируемыми.
Переменные могут использоваться в атрибутах
Description,
Advice, Action и
Links советника, а также в выражениях.
Это позволяет вам сообщить о текущем значении выражения.
Например, можно добавить сообщение
The
current value of Innodb_buffer_pool_reads is
%Innodb_buffer_pool_reads%. в текстовое поле
Advice. Когда это показано на экране, значение
%Innodb_buffer_pool_reads% заменено в тексте.
Если %%Innodb_buffer_pool_reads%% =
4522, сообщение становится
The current value of
Innodb_buffer_pool_reads is 4522.
У каждого выражения есть пороговое значение, которое вызывает тревогу.
Ключевое слово THRESHOLD
связано со значением, которые оценивают с аварийным уровнем: любым из
Notice, Warning или
Critical.
Например, выражение для исполнительного советника Thread Cache Size May Not Be Optimal:
100-((%Threads_created% / %Connections%) * 100) < THRESHOLD
THRESHOLD = 95% для уровня Info, 85% для
Warning и 75% для Critical, производит тревоги трех разных уровней.
Выражения могут быть прямыми. Выражение для Binary Logging Not Enabled (одна из тревог Administration):
%log_bin% == THRESHOLD
Когда результат OFF, вызывается только одна
тревога уровня Warning. Вы не можете использовать только выражение
%log_bin% == "OFF", потому что это не проверило
бы двоичную регистрацию на достижение порога, а значит
не приведет к тревоге.
Определите точные условия, когда каждое выражение должно быть оценено, чтобы избежать ложных тревог. Например, выражение для MyISAM Key Cache Has Sub-Optimal Hit Rate:
(%Uptime% > 10800) && (%Key_read_requests% > 10000) && (100-((%Key_reads% / %Key_read_requests%) * 100) < THRESHOLD)
Первая часть выражения, (%Uptime% > 10800),
задерживает оценку выражения в течение 10800 секунд (3 часа). Когда сервер
запускается, он мог бы требовать времени, чтобы достигнуть статуса, который
является представительным для нормального функционирования. Например,
буферный пул InnoDB, кэш ключей
MyISAM и кэш SQL-запроса могли бы потребовать
некоторое время, чтобы заполнится данными приложения,
после которого кэшированные данные повышают производительность.
Кроме того, если некоторая часть системы в большой степени не
используется, тревога могла бы быть вызвана на основе ограниченных данных.
Например, если ваше приложение не использует механизм хранения MyISAM,
советник MyISAM Key Cache Has
Sub-Optimal Hit Rate мог быть вызван на основе очень
ограниченного использования других таблиц MyISAM, например, таблицы
mysql.user.
Поэтому у этого советника есть вторая часть:
(%Key_read_requests% > 10000).
Советник не оценен, если нет значимой деятельности,
связанной с ключевым кэшем.
Добавьте последовательности в двойных кавычках в текстовых полях
Expression или
Thresholds. Например, выражение для советника
Slave I/O Thread Not Running:
(%Slave_running% == "ON") && (%Slave_IO_Running% != THRESHOLD)
Точно так же пороговое текстовое окно
Critical Alerts установлено в
"Yes".
Когда выражение оценено, также
"OFF" или "ON"
заменяют %Slave_running%,
"Yes" или "No" для
%Slave_IO_Running%,
в зависимости от состояния вашей системы. Если ведомый работает,
но поток I/O нет, выражение становится:
("ON" == "ON") && ("No" != "Yes")
Без кавычек это выражение не оценилось бы к
TRUE как должно.
Так, чтобы это интерпретировалось правильно, оператор
== преобразовывается в
= прежде, чем быть переданным
анализатору выражений MySQL.
Редактируя или определяя советника, можно ввести текст в формате Wiki в
текстовые поля Problem Description,
Advice, Recommended
Action и Links and Further Reading.
Можно отформатировать и подчеркнуть текст и добавить гиперссылки, используя
нотации, перечисленные в следующей таблице.
Таблица 30.1. Форматирование с разметкой Wiki
| Маркер | Описание |
|---|---|
__ |
Жирный текст |
~~ |
Выделите курсивом текст |
\\ |
Создайте разрыв строки |
\\ \\ |
Создайте двойной разрыв строки |
\\\\ |
Создайте двойной разрыв строки |
* |
Создайте пункт маркированного списка |
# |
Создайте пронумерованный пункт списка |
\ |
Используйте |
'{'moreInfo:name|url'}' |
Создайте гиперссылку |
Например, следующий текст Wiki:
Replication is a __very nice feature__ of MySQL.Replication can be very
useful for solving problems in the following areas:
* Data Distribution
* Load Balancing
* Backup and Recovery
You can check replication status and start a slave using the following
commands: SHOW SLAVE STATUS \\\\G\\START SLAVE; '{'moreInfo:MySQL Manual: Replication
FAQ|http://dev.mysql.com/doc/refman/en/faqs-replication.html'}'
переведен в следующую разметку HTML:
Replication is a <b>very nice feature</b> of MySQL.Replication can be very useful for solving problems in the following areas: <ul><li>Data distribution</li> <li>Load Balancing</li> <li>Backup and recovery</li> </ul>You can check replication status and start a slave with the following commands: SHOW SLAVE STATUS \G;<br/>START SLAVE; <a href="http://dev.mysql.com/doc/refman/en/faqs-replication.html" target="_blank" >MySQL Manual: Replication FAQ</a>
Эта секция документирует шаги, чтобы создать советника.
Чтобы создать советника, нажмите кнопку на странице Advisors. Новая страница советника показана.
Этот пример создает советника, который проверяет, были ли разорваны связи,
используя запрос KILL, и производит событие.
Создайте своего советника, выполнив эти шаги:
Используя текстовое окно Advisor Name, дайте советнику соответствующее имя, такое как "Connections killed".
Из выпадающего списка Advisor Category выберите категорию советника.
Определите переменную для своего выражения в поле Variable Assignment.
В поле Variable введите
%connections_killed%, переменную, которая
используется в текстовом окне Expression
.
В списке Data Item выберите
mysql:status:Com_kill.
В поле Instance введите
local.
Введите следующее выражение в текстовую область Expression.
'%connections_killed% > THRESHOLD'
Установите следующий порог:
Установите уровень Info Alert =
0. Информационное событие произведено, если 1
или больше связей закрыты.
Добавьте соответствующие записи для полей
Problem Description,
Advice и Links.
Произвольно, используйте разметку Wiki
для этих текстовых областей. Можно также сослаться на переменную
%connections_killed%
в этих текстовых полях.
Сохраните советник.
После того, как вы создадите советника, наметьте его для сервера MySQL, который вы хотите контролировать. Для получения инструкций относительно настройки советника см. таблицу 18.3.
Эта секция документирует шаги, чтобы создать граф. Прежде, чем создать граф, рассмотрите предыдущие разделы этой главы о том, как графы и правила используют подобные компоненты. Для обзора специфики графов посмотрите раздел 30.1.2.
Этот пример создает граф, который проверяет и сравнивает использование диска, показывая использование и полное доступное дисковое пространство со временем.
Начните с перехода к разделу
страницы , там нажмите на ссылку
Import/Export. Выберите раздел
Custom Rule/Graph/Data Items Import.
Именно сюда импортируется XML-файл.
Определение, чтобы проверить использование дискового пространства, может быть похожим на следующее:
<?xml version="1.0"?>
<com_mysql_merlin_server_graph_Design>
<version>1.0</version>
<uuid>a57c2bba-ea9b-102b-b396-94aca32bee29</uuid>
<name>Custom Graph 001</name>
<rangeLabel>MB</rangeLabel>
<series>
<label>used</label>
<expression>used_fs/1024/1024</expression>
</series>
<series>
<label>total_size</label>
<expression>total_fs/1024/1024</expression>
</series>
<displayprofile>
<name>Disk Usage - All Filesystems</name>
<type>Aggregate</type>
<aggregate op="sum">
<source>used</source>
<source>total_size</source>
</aggregate>
</displayprofile>
<variables>
<name>used_fs</name>
<dcItem>
<nameSpace>os</nameSpace>
<className>fs</className>
<attribName>fs_used</attribName>
</dcItem>
<instance>/</instance>
</variables>
<variables>
<name>total_fs</name>
<dcItem>
<nameSpace>os</nameSpace>
<className>fs</className>
<attribName>fs_total</attribName>
</dcItem>
<instance>/</instance>
</variables>
</com_mysql_merlin_server_graph_Design>
После успешной загрузки графа показано уведомление.
Это также создает нового советника с тем же самым именем, как новый граф, который не запланирован по умолчанию. Перейдите в , , Graphing, чтобы определить местонахождение и включить новый советник.
Этот граф показан на соответствующей странице графов (как любой граф) под
именем, определенным в рамках предопределения, которое является в примере
выше Custom Graph 001.
Эта секция описывает, как формировать свои сборы данных для контролирующего агента.
Контролирующий агент может формироваться, чтобы собрать данные непосредственно от сервера MySQL, используя запрос. Это позволяет вам расширить функциональность агента и создать советников, которые анализируют данные, собранные специализированным сбором данных.
Чтобы создать сбор данных, необходимо добавить класс к
custom.xml в каталоге
etc установки вашего агента.
Каждый определенный класс это сбор данных.
custom.xml утвержден
items-mysql-monitor.dtd.
После определения сбора данных это доступно, чтобы выбрать в выпадающем меню Data Item фрейма Variable Assignment страницы Advisor.
Следующие разделы описывают этот процесс подробно.
Следующий XML показывает структуру сбора данных:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE classes SYSTEM "items-mysql-monitor.dtd">
<classes>
<class>
<namespace>NameSpace</namespace>
<classname>ClassName</classname>
<precondition><![CDATA[Add Precondition Query Here]]></precondition>
<query><![CDATA[Add Main Query Here]]></query>
<attributes
<attribute name="AttributeName1"/>
<attribute name="AttributeName2"/>
</attributes>
</class>
</classes>
Таблица 30.2. Элементы класса сбора данных
| Элемент | Описание |
|---|---|
|
Контейнерный элемент для всех определенных классов. |
|
Контейнерный элемент для определения коллекции. |
|
Логическая группировка для нового пункта сбора данных. |
|
Название сбора данных. Не используйте пробелы или специальные символы в этом элементе. |
|
(Дополнительный) Запрос, который проверяет некоторые условия. Если он вернет true, главный запрос выполняется. Например, запрос предварительного условия может использоваться, чтобы проверить версию сервера MySQL. Посмотрите раздел 30.2.2.1. |
|
Главный запрос. Для получения дополнительной информации посмотрите раздел 30.2.2.2. |
|
Позволяет вам маркировать типы данных, возвращенные запросом. Возможные типы: STRING, INTEGER и FLOAT. Эта информация запрашивается советником, получающим данные. Также возможно определить один или несколько признаков как счетчики. Посмотрите раздел 30.2.3. |
Значения в пространстве имен и элементах имени класса используются в качестве первых двух элементов имени.
Эта секция описывает предварительное условие и главные запросы для сбора данных.
Эта секция описывает дополнительные запросы предварительного условия. Запросы предварительного условия решают, что особые условия верны прежде, чем выполнить главный запрос. Например, они используются в советниках по умолчанию, чтобы проверить версию сервера MySQL, потому что некоторые главные запросы не могут быть выполнены на более старых версиях сервера. Ниже приведен пример запроса предварительного условия, который проверяет версию сервера MySQL:
<precondition> <![CDATA[SELECT @@version NOT LIKE '5.0%' AND @@version NOT LIKE '5.1%']]> </precondition>
Если версия сервера выше, чем 5.1, предварительное условие возвращает true, и главный запрос выполняется. Если сервер MySQL версии 5.0.x или 5.1.x, предварительное условие возвращает false, и главный запрос не выполняется.
Главные запросы позволяют вам получить данные из проверенного сервера.
Определяя запросы, следующие ограничения применяются:
Запрос должен быть определен в контейнере
<![CDATA[]]>. Например:
<![CDATA[SELECT X FROM Y AS FOO]]>.
Не должно быть символов между CDATA и [, а также между [ и началом запроса.
То же самое правило относится к закрывающим ]].
Только операторы SELECT возможны. Невозможно использовать INSERT, UPDATE, DELETE и т.д.
Невозможно определить больше, чем один запрос в классе.
Агент должен иметь достаточные права, чтобы управлять запросом.
Не определяйте запросы, которые занимают больше времени, чем определено в советнике. Например, если запрос занимает 2 минуты, чтобы работать, но определенный советниками график требует, чтобы запрос выполнялся каждую минуту, никакие результаты не возвращены. Чтобы избежать этого, проверьте свой запрос полностью на проверенном сервере. Если сбор данных развернут на многих агентах, он должен быть проверен на каждом проверенном сервере и графике.
Запрос может возвратить только одну строку, если тип результата не
CLASS_TYPE_1STCOL_ATTRIBUTES. См.
раздел 30.2.3.2.
Для каждого значения, полученного от сервера, необходимо назначить имя. Таким образом, необходимо использовать следующий формат, где NAME это имя, относящееся к сбору данных:
SELECT X AS NAME FROM Y
Пункты показаны в выпадающем меню Data Item
фрейма Variable Assignment
новой страницы советника. Они принимают следующий формат:
namespace:classname:name. Например,
mysql:status:open_files_limit.
Примеры, используемые в этой секции, взяты от советников по умолчанию, поставленных с вашей установкой MySQL Enterprise Monitor installation.
Следующий пример используется советником Server Has Anonymous Accounts:
<class>
<namespace>mysql</namespace>
<classname>anonymous_user</classname>
<query><![CDATA[SELECT COUNT(*) AS user_count FROM mysql.user
WHERE user='']]></query>
</class>
В этом советнике переменная %user_count%
отображается на Data Item
mysql:anonymous_user:user_count,
определенный в запросе.
Возможно отформатировать результат запроса с разметкой Wiki. Это позволяет вам показать информацию из запроса непосредственно в советнике.
Следующий пример взят от сбора данных, используемого советником Server Has Accounts Without A Password:
<query>
<![CDATA[SELECT GROUP_CONCAT('\\\\\n* ', '\'',user,'\'@\'',host,'\''
ORDER BY user, host)
as user FROM mysql.user WHERE password='' /*!50507 AND (plugin = '' OR
plugin IS NULL OR plugin = 'mysql_native_password') OR
(plugin = 'sha256_password' AND authentication_string= '')*/]]>
</query>
Разметка Wiki форматирует пользователя и хост в информацию, показанную на странице Events в MySQL Enterprise Monitor User Interface. Этот пример перечисляет имя пользователя и хоста для всех учетных записей без определенного пароля.
Чтобы правильно оценить данные, возвращенные по условию сбора, назначьте признаки на возвращенные значения.
Признаки определяются, используя следующий формат:
<attributes> <attribute name="AttributeName1" counter="true" type="INTEGER"/> <attribute name="AttributeName2" counter="false" type="STRING"/> </attributes>
Таблица 30.3. Элементы признака
| Имя | Описание |
|---|---|
name |
Название признака определяется в пункте AS запроса. |
counter |
Является ли признак типом счетчика.
|
type |
Тип значения атрибута. Возможные значения: INTEGER, STRING или FLOAT. |
Если тип признака неправильно определяется в определении признака,
например, INTEGER вместо STRING, невозможно изменить значение в
custom.xml после запуска агента.
Это вызвано тем, что для агента невозможно изменить типы признака после того,
как они определяются. Попытка изменить их приводит к ошибке
InvalidValueForTypeException.
Чтобы исправить это, необходимо остановить агент, отредактировать определение
типа и перезапустить агент.
Если все признаки имеют тот же самый тип, не надо определять типы для каждого признака. Вместо этого определите элемент по умолчанию в начале списка атрибутов. В следующем примере элемент по умолчанию назначает тот же самый счетчик и тип каждому признаку:
<attributes>
<default counter="true" type="INTEGER"/>
<attribute name="bytes_read"/>
<attribute name="bytes_written"/>
</attributes>
Возможно отвергнуть настройку по умолчанию, назначая
counter, type
в определении признака. Например:
<attributes>
<default counter="true" type="INTEGER"/>
<attribute name="total_wait_time_ms"/>
<attribute name="total_statements"/>
<attribute name="max_wait_time_ms" counter="false"/>
<attribute name="total_errors"/>
<attribute name="total_warnings"/>
<attribute name="total_rows_returned"/>
<attribute name="total_lock_time_ms"/>
</attributes>
Возможно возвратить больше чем один ряд, используя тип результата
CLASS_TYPE_1STCOL_ATTRIBUTES.
Этот тип результата позволяет возвращение набора результатов с двумя
колонками как пара ключ/значение. В отличие от атрибутов по умолчанию,
которые взяты от имени столбца, ключ это название атрибута, а значение
это значение атрибута.
Значение ключа должно быть уникальным в наборе результатов.
Следующий пример показывает, как набор результатов с 2 колонками возвращен
и отформатирован элементом resulttype:
<class>
<namespace>mysql</namespace>
<classname>rpl_semi_sync_vars</classname>
<query><![CDATA[
SHOW GLOBAL VARIABLES WHERE
Variable_name='rpl_semi_sync_master_timeout' OR
Variable_name='rpl_semi_sync_master_trace_level' OR
Variable_name='rpl_semi_sync_master_wait_no_slave' OR
Variable_name='rpl_semi_sync_master_enabled' OR
Variable_name='rpl_semi_sync_slave_enabled'
]]></query>
<resulttype>CLASS_TYPE_1STCOL_ATTRIBUTES</resulttype>
<attributes>
<attribute name="rpl_semi_sync_master_timeout" counter="false" type="INTEGER"/>
<attribute name="rpl_semi_sync_master_trace_level" counter="false" type="INTEGER"/>
<attribute name="rpl_semi_sync_master_wait_no_slave" counter="false" type="STRING"/>
<attribute name="rpl_semi_sync_master_enabled" counter="false" type="STRING"/>
<attribute name="rpl_semi_sync_slave_enabled" counter="false" type="STRING"/>
</attributes>
</class>
В периоды обслуживания для серверов баз данных можно приостановить обработчики событий. Агенты продолжают собирать данные, данные хранятся в хранилище, и события произведены и показаны. Уведомления, электронные письма и так далее не произведены.
Чтобы позволить затемненный период для отдельного экземпляра, можно использовать контекстное меню на странице MySQL Instances. Откройте меню экземпляров и выберите Enable Event Handler Blackout. Имя экземпляра станет серым, чтобы указать на присутствие активного затемнения. Никакие обработчики событий не приводятся в действие для отобранного экземпляра на время затемненного периода.
Можно также позволить затемненный период, введя следующий URL в строку адреса браузера, заменив соответствующие значения имени хоста, порта и имени сервера:
https://HostName:18443/rest?command=blackout&server_name=ServerName:3306&blackout_state=true
URL состоит из следующих компонентов:
Имя хоста Service Manager: URL для MySQL Enterprise Service Manager.
command:
команда, чтобы выполнить. Это может быть одним из следующего:
blackout: применяет или удаляет
blackout_state к указанным типам актива.
blackout_status:
запросит текущий статус указанного актива.
blackout_state:
может быть одним из следующего:
true:
затемнить указанные активы.
false:
удалить затемнение из указанных активов.
Asset type: может быть одним из следующего:
server_name:
имя и номер порта экземпляра MySQL.
server_uuid:
UUID экземпляра MySQL.
group_name:
имя группы. См. главу 17.
asset_type:
(используемый только для затемнения агентов и blackout_status)
может быть одним из следующеих значений:
agent.Agent:
определяет агента как тип актива. Команда или URL должна также содержать
параметр agent_id.
mysql.MysqlServer:
определяет экземпляр MySQL как тип актива. Команда или URL
должна также содержать параметр id
со значением UUID экземпляра MySQL.
Войдите в MySQL Enterprise Service Manager как пользователь с правом blackout. См. раздел 22.5. Используйте имя пользователя и пароль, которые вы определили, когда первоначально входили в Monitor UI.
Вы можете также организовать затемнение группы серверов, вводя следующий URL в строку адреса вашего браузера, заменяя соответствующие параметры:
https://localhost:18443/rest?command=blackout&group_name=Finance&blackout_state=true
Когда диалоговое окно аутентификации HTTP откроется, введите параметры для администратора.
Чтобы подтвердить, что сервер затемняется проверьте, что его имя стало серым в Monitor UI.
Чтобы повторно активировать затемненную группу серверов или сервер,
используйте соответствующий URL и строку запроса, изменяя
blackout_state=true на
blackout_state=false.
Это должно быть сделано пользователем с административными привилегиями.
Перезапуск MySQL Enterprise Monitor НЕ активирует затемненный сервер.
Чтобы затемнить агент, используйте следующий URL:
https://localhost:18443/rest?command=blackout&agent_id=agentID&blackout_state=true
Чтобы затемнить агент и все в настоящее время проверяемые им экземпляры MySQL, используйте следующий URL:
https://localhost:18443/rest?command=blackout&agent_id=agentID&blackout_state=true&recursive=true
Чтобы проверить затемненный статус агента, используйте следующий URL:
https://localhost:18443/rest?command=blackout_status&agent_id=agentID&asset_type=agent.Agent
Чтобы проверить затемненный статус экземпляра MySQL, используйте следующий URL:
https://localhost:18443/rest?command=blackout_status&id=mysqlUUID&asset_type=mysql.MysqlServer
Можно также проверить затемненный статус экземпляра MySQL, используя его имя сервера:
https://localhost:18443/rest?command=blackout_status&server_name=serverName
В настоящее время невозможно проверить затемненный статус группы.
Также возможно управлять затемнениями из командной строки или скрипта.
Примеры в этой секции используют curl.
Можно управлять командами из командной строки или добавить к текстовому
файлу и сохранить как *.sh или
*.bat в зависимости от вашей платформы.
В Unix используйте chmod +x blackout.sh , чтобы сделать файл исполняемым.
Перезапуск MySQL Enterprise Service Manager или MySQL Enterprise Monitor Agent не удаляет затемнение.
Команда blackout позволяет затемнить
отдельный экземпляр MySQL.
Для затемнения отдельного экземпляра MySQL необходимо обеспечить следующее:
--user:
имя пользователя и пароль для пользователя Service Manager, управляющего
командой. Гарантируйте, что этот пользователь имеет правильные права,
чтобы выполнить затемнения.
URL Service Manager API. Например:
"https://servicemanager:18443/rest"
command=blackout:
команда затемнения.
Одно из следующего:
server_name=
: название сервера.ServerName
server_uuid=: UUID экземпляра MySQL.
AlphanumericString
Чтобы затемнить сервер, используя
server_name:
curl -G -k --user myadmin:mypassword "https://servicemanager:18443/rest" \
--data-urlencode "command=blackout" \
--data-urlencode "server_name=servername:3306" \
--data-urlencode "blackout_state=true"
Чтобы затемнить сервер, используя
server_uuid:
curl -G -k --user myadmin:mypassword "https://servicemanager:18443/rest" \
--data-urlencode "command=blackout" \
--data-urlencode "server_uuid=62e74f29-526a-11ba-77fb-0242xy112504" \
--data-urlencode "blackout_state=true"
Чтобы удалить затемнение, управляйте той же самой командой с
"blackout_state=false":
curl -G -k --user myadmin:mypassword "https://servicemanager:18443/rest" \
--data-urlencode "command=blackout" \
--data-urlencode "server_uuid=62e74f29-526a-11ba-77fb-0242xy112504" \
--data-urlencode "blackout_state=false"
Также возможно затемнить все экземпляры MySQL, проверенные определенным агентом. Для получения дополнительной информации посмотрите здесь.
Команда blackout позволяет вам затемнять
группы экземпляров MySQL. Для получения дополнительной информации о
MySQL Enterprise Service Manager Groups см.
главу 17.
Для затемнения группы экземпляров MySQL необходимо обеспечить следующее:
--user: имя пользователя и пароль
для Service Manager. Гарантируйте, что этот пользователь имеет правильные
права, чтобы выполнить затемнение.
URL Service Manager API. Например:
"https://servicemanager:18443/rest"
command=blackout:
команда затемнения.
group_name=: имя группы для затемнения.
GroupName
Следующая команда затемняет все экземпляры MySQL в группе
Group 1.
curl -G -k --user myadmin:mypassword "https://servicemanager:18443/rest" \
--data-urlencode "command=blackout" \
--data-urlencode "group_name=Group 1" \
--data-urlencode "blackout_state=true"
Чтобы удалить затемнение, управляйте той же самой командой с
"blackout_state=false".
curl -G -k --user myadmin:mypassword "https://servicemanager:18443/rest" \
--data-urlencode "command=blackout" \
--data-urlencode "group_name=Group 1" \
--data-urlencode "blackout_state=false"
Команда blackout позволяет вам затемнить
агента или агента и все экземпляры MySQL, которые он в
настоящее время контролирует.
Для затемнения агента необходимо обеспечить следующее:
--user:
имя пользователя и пароль для Service Manager.
Гарантируйте, что этот пользователь имеет правильные права,
чтобы выполнить затемнение.
URL Service Manager API. Например:
"https://servicemanager:18443/rest"
command=blackout:
команда затемнения.
id=: id затемняемого агента.
alphanumericString
Для затемнения агента выполните:
curl -G -k --user myadmin:mypassword "https://servicemanager:18443/rest" \
--data-urlencode "command=blackout" \
--data-urlencode "agent_id=1e365f83-b703-4588-9472-877c90a2c49f" \
--data-urlencode "blackout_state=true"
Для затемнения агента и всех экземпляров MySQL, которые это контролирует, выполните:
curl -G -k --user myadmin:mypassword "https://servicemanager:18443/rest" \
--data-urlencode "command=blackout" \
--data-urlencode "agent_id=1e365f83-b703-4588-9472-877c90a2c49f" \
--data-urlencode "blackout_state=true" --data-urlencode "recursive=true"
Команда blackout_status
позволяет вам проверить, затемняется экземпляр агента или
MySQL в настоящее время.
Чтобы проверить затемненный статус, необходимо обеспечить следующее:
--user: имя пользователя и пароль для
Service Manager. Гарантируйте, что этот пользователь имеет правильные права,
чтобы выполнить затемнение.
URL Service Manager API. Например:
"https://servicemanager:18443/rest"
command=blackout_status:
команда blackout status.
id=: id проверяемого агента
или экземпляра MySQL.
alphanumericString
asset_type: одно из следующего:
agent.Agent:
проверить затемненный статус агента.
mysql.MysqlServer:
проверить затемненный статус экземпляра MySQL.
Следующая команда проверяет затемненный статус агента:
curl -G -k --user myadmin:mypassword "https://servicemanager:18443/rest" \
--data-urlencode "command=blackout_status" \
--data-urlencode "id=1e365f83-b703-4588-9472-877c90a2c49f" \
--data-urlencode "asset_type=agent.Agent"
Следующая команда проверяет затемненный статус экземпляра MySQL:
curl -G -k --user myadmin:mypassword "https://servicemanager:18443/rest" \
--data-urlencode "command=blackout_status" \
--data-urlencode "id=750cead2-441d-11ea-b3e7-dfdaa5ad712e" \
--data-urlencode "asset_type=mysql.MysqlServer"