WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Можно настроить правила 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. Например, граф об использовании дискового
пространства может использовать series Каждый ряд содержит этикетку и выражение. Этикетка это видимое название
ряда и простое выражение, которое его определяет. variables Каждое определение переменной содержит имя, экземпляр и элемент dcItem.
Экзщемпляр определяет, какие данные показывает граф, каждый элемент dcItem
содержат пространство имен, имя класса и attribName: nameSpace Пространство имен (тип) пункта сбора данных. className Класс (тип пространства имен) пункта сбора данных. attribName Название атрибута пункта сбора данных. Чтобы создать нового советника, нажмите кнопку
Copy Advisor из меню Advisor.
Можно отредактировать любой элемент советника во время процесса копирования,
в отличие от редактирования существующего советника. Чтобы удалить
советника, выберите Delete Advisor
в меню Advisor. В отличие от основанных на выражении советников, невозможно скопировать
одного из основанных на GUI советников, чтобы использовать в качестве
основания для своего советника. Можно поменять имя советника, изменить категорию, кому советник
принадлежит, установить собственный номер версии и изменить
порог и частоту советника. Если вы не определяете номер версии для нового советника,
версия 1.0 автоматически добавляется. Можно также отредактировать выражение советника.
Для получения дополнительной информации о выражениях советника см.
главу 18. Выражение может быть столь же простым, как
единственный параметр сервера, или может быть сложным, объединив многократные
параметры с математическими операциями. У выражения есть две главных особенности: Выражение проверяет, нарушается ли
наиболее успешная практика. Результат выражения должен всегда быть 1 или 0
(соответствие true или false). Например, если предоставление возможности двоичной
регистрации является наиболее успешной практикой для рабочего сервера
(как Oracle рекомендует), тогда эта наиболее успешная практика нарушена, если
Выражение составлено из одной или более переменных и ноля или большего
количества математических операторов. MySQL Enterprise Monitor
использует Java Expression Parser. Операторы и функции состоят из: Оператор Функции MySQL Функции операторов перечислены на этой странице:
http://www.singularsys.com/jep/doc/html/operators.html
. Сравнения с метками времени MySQL и датами, собранными агентом в
стандартном формате MySQL Функции Функции Функции Функция Для полного списка встроенных переменных, используемых, чтобы
создать советников, посмотрите
Server Option, System Variable, and
Status Variable Reference. Создание выражения зависит от переменных, определенных во фрейме
Variable Assignment. Эта структура связывает
переменные, используемые в области выражения с данными, собранными от
целевого экземпляра сервера MySQL: переменные статуса сервера, информация о
статусе операционной системы и информация о таблице. Имена переменной связаны
с элементами в выпадающем меню Data Item.
Чтобы определить больше, чем одну переменную, нажмите кнопку
. Остающиеся области определяют информацию, которую вы получаете в
электронном письме уведомления или информационном всплывающем окне,
связанном с каждым советником. Сохраняя новый Советник, выберите уникальное имя, не используемое
любым существующим Советником. Когда MySQL Enterprise Monitor оценивает выражение, он заменяет переменные
значениями. Например, у части выражения для советника
MyISAM Key Cache Has Sub-Optimal
Hit Rate вычисляется частота успешных
обращений следующим образом: Если текущее значение
В соответствии с соглашением, советники используют в MySQL
Переменные могут использоваться в атрибутах
У каждого выражения есть пороговое значение, которое вызывает тревогу.
Ключевое слово Например, выражение для исполнительного советника
Thread Cache Size
May Not Be Optimal: Выражения могут быть прямыми. Выражение для
Binary Logging Not Enabled
(одна из тревог Administration): Когда результат Определите точные условия, когда каждое выражение должно быть оценено,
чтобы избежать ложных тревог. Например, выражение для
MyISAM Key Cache Has
Sub-Optimal Hit Rate: Первая часть выражения, Кроме того, если некоторая часть системы в большой степени не
используется, тревога могла бы быть вызвана на основе ограниченных данных.
Например, если ваше приложение не использует механизм хранения MyISAM,
советник MyISAM Key Cache Has
Sub-Optimal Hit Rate мог быть вызван на основе очень
ограниченного использования других таблиц MyISAM, например, таблицы
Добавьте последовательности в двойных кавычках в текстовых полях
Точно так же пороговое текстовое окно
Когда выражение оценено, также
Без кавычек это выражение не оценилось бы к
Так, чтобы это интерпретировалось правильно, оператор
Редактируя или определяя советника, можно ввести текст в формате Wiki в
текстовые поля Таблица 30.1. Форматирование с разметкой Wiki
__ Жирный текст
~~ Выделите курсивом текст \\ Создайте разрыв строки \\ \\ Создайте двойной разрыв строки \\\\ Создайте двойной разрыв строки
* Создайте пункт маркированного списка
# Создайте пронумерованный пункт списка
\ Используйте '{'moreInfo:name|url'}' Создайте гиперссылку Например, следующий текст Wiki: переведен в следующую разметку HTML: Эта секция документирует шаги, чтобы создать советника. Чтобы создать советника, нажмите кнопку Advisors.
Новая страница советника показана. Этот пример создает советника, который проверяет, были ли разорваны связи,
используя запрос Создайте своего советника, выполнив эти шаги: Используя текстовое окно
Advisor Name,
дайте советнику соответствующее имя, такое как "Connections killed". Из выпадающего списка Advisor Category
выберите категорию советника. Определите переменную для своего выражения в поле
Variable Assignment. В поле Variable введите
В списке Data Item выберите
В поле Instance введите
Введите следующее выражение в текстовую область
Expression. Установите следующий порог: Установите уровень Info Alert =
Добавьте соответствующие записи для полей
Problem Description,
Advice и Links.
Произвольно, используйте разметку Wiki
для этих текстовых областей. Можно также сослаться на переменную
Сохраните советник. После того, как вы создадите советника, наметьте его для сервера MySQL,
который вы хотите контролировать. Для получения инструкций относительно
настройки советника см.
таблицу 18.3. Эта секция документирует шаги, чтобы создать граф. Прежде, чем создать
граф, рассмотрите предыдущие разделы этой главы о том,
как графы и правила используют подобные компоненты.
Для обзора специфики графов посмотрите
раздел 30.1.2. Этот пример создает граф, который проверяет и сравнивает использование
диска, показывая использование и полное доступное дисковое
пространство со временем. Начните с перехода к разделу Определение, чтобы проверить использование дискового пространства,
может быть похожим на следующее: После успешной загрузки графа показано уведомление. Это также создает нового советника с тем же самым именем, как новый граф,
который не запланирован по умолчанию. Перейдите в
Graphing, чтобы определить местонахождение и
включить новый советник. Этот граф показан на соответствующей странице графов (как любой граф) под
именем, определенным в рамках предопределения, которое является в примере
выше Эта секция описывает, как формировать свои
сборы данных для контролирующего агента. Контролирующий агент может формироваться, чтобы собрать данные
непосредственно от сервера MySQL, используя запрос.
Это позволяет вам расширить функциональность агента и создать
советников, которые анализируют данные, собранные
специализированным сбором данных. Чтобы создать сбор данных, необходимо добавить класс к
После определения сбора данных это доступно, чтобы выбрать в выпадающем
меню Data Item фрейма
Variable Assignment страницы Advisor. Следующие разделы описывают этот процесс подробно. Следующий XML показывает структуру сбора данных: Таблица 30.2. Элементы класса сбора данных Контейнерный элемент для всех определенных классов. Контейнерный элемент для определения коллекции. Логическая группировка для нового пункта сбора данных. Название сбора данных. Не используйте пробелы
или специальные символы в этом элементе. (Дополнительный) Запрос, который проверяет некоторые условия.
Если он вернет true, главный запрос выполняется.
Например, запрос предварительного условия может использоваться, чтобы
проверить версию сервера MySQL. Посмотрите
раздел 30.2.2.1.
Главный запрос. Для получения дополнительной информации посмотрите
раздел 30.2.2.2. Позволяет вам маркировать типы данных, возвращенные запросом.
Возможные типы: STRING, INTEGER и FLOAT. Эта информация запрашивается
советником, получающим данные. Также возможно определить один или несколько
признаков как счетчики. Посмотрите
раздел 30.2.3.
Значения в пространстве имен и элементах имени класса используются в
качестве первых двух элементов имени. Эта секция описывает предварительное условие и главные запросы
для сбора данных. Эта секция описывает дополнительные запросы предварительного условия.
Запросы предварительного условия решают, что особые условия верны прежде, чем
выполнить главный запрос. Например, они используются в советниках по
умолчанию, чтобы проверить версию сервера MySQL,
потому что некоторые главные запросы не могут быть выполнены на более старых
версиях сервера. Ниже приведен пример запроса предварительного условия,
который проверяет версию сервера MySQL: Если версия сервера выше, чем 5.1, предварительное условие возвращает
true, и главный запрос выполняется. Если сервер MySQL версии 5.0.x или 5.1.x,
предварительное условие возвращает false, и главный запрос не выполняется. Главные запросы позволяют вам получить данные из проверенного сервера. Определяя запросы, следующие ограничения применяются: Запрос должен быть определен в контейнере
Только операторы SELECT возможны. Невозможно использовать
INSERT, UPDATE, DELETE и т.д. Невозможно определить больше, чем один запрос в классе. Агент должен иметь достаточные права, чтобы управлять запросом. Не определяйте запросы, которые занимают больше времени, чем
определено в советнике. Например, если запрос занимает 2 минуты, чтобы
работать, но определенный советниками график требует, чтобы запрос
выполнялся каждую минуту, никакие результаты не возвращены.
Чтобы избежать этого, проверьте свой запрос полностью на проверенном сервере.
Если сбор данных развернут на многих агентах, он должен быть проверен на
каждом проверенном сервере и графике. Запрос может возвратить только одну строку, если тип результата не
Для каждого значения, полученного от сервера, необходимо назначить имя.
Таким образом, необходимо использовать следующий формат, где NAME это
имя, относящееся к сбору данных: Пункты показаны в выпадающем меню Data Item
фрейма Variable Assignment
новой страницы советника. Они принимают следующий формат:
Примеры, используемые в этой секции, взяты от советников по умолчанию,
поставленных с вашей установкой MySQL Enterprise Monitor installation. Следующий пример используется советником
Server Has Anonymous Accounts: В этом советнике переменная Возможно отформатировать результат запроса с разметкой Wiki. Это позволяет
вам показать информацию из запроса непосредственно в советнике. Следующий пример взят от сбора данных, используемого советником
Server Has Accounts Without A Password: Разметка Wiki форматирует пользователя и хост в информацию,
показанную на странице Events в MySQL Enterprise Monitor User Interface.
Этот пример перечисляет имя пользователя и хоста для всех учетных записей
без определенного пароля. Чтобы правильно оценить данные, возвращенные по условию сбора, назначьте
признаки на возвращенные значения. Признаки определяются, используя следующий формат: Таблица 30.3. Элементы признака name Название признака определяется в пункте AS запроса. counter Является ли признак типом счетчика. type Тип значения атрибута. Возможные значения: INTEGER,
STRING или FLOAT. Если тип признака неправильно определяется в определении признака,
например, INTEGER вместо STRING, невозможно изменить значение в
Если все признаки имеют тот же самый тип, не надо определять типы для
каждого признака. Вместо этого определите элемент по умолчанию в начале
списка атрибутов. В следующем примере элемент по умолчанию назначает тот же
самый счетчик и тип каждому признаку: Возможно отвергнуть настройку по умолчанию, назначая
Возможно возвратить больше чем один ряд, используя тип результата
Значение ключа должно быть уникальным в наборе результатов. Следующий пример показывает, как набор результатов с 2 колонками возвращен
и отформатирован элементом В периоды обслуживания для серверов баз данных можно приостановить
обработчики событий. Агенты продолжают собирать данные, данные хранятся в
хранилище, и события произведены и показаны. Уведомления, электронные письма
и так далее не произведены. Чтобы позволить затемненный период для отдельного экземпляра, можно
использовать контекстное меню на странице MySQL
Instances. Откройте меню экземпляров и выберите
Enable Event Handler Blackout.
Имя экземпляра станет серым, чтобы указать на присутствие активного
затемнения. Никакие обработчики событий не приводятся в действие для
отобранного экземпляра на время затемненного периода. Можно также позволить затемненный период, введя следующий URL в строку
адреса браузера, заменив соответствующие значения имени хоста,
порта и имени сервера: URL состоит из следующих компонентов: Имя хоста Service Manager: URL для MySQL
Enterprise Service Manager. Asset type: может быть одним из следующего: Войдите в MySQL Enterprise Service Manager
как пользователь с правом blackout. См.
раздел 22.5.
Используйте имя пользователя и пароль, которые вы определили, когда
первоначально входили в Monitor UI. Вы можете также организовать затемнение группы серверов, вводя следующий
URL в строку адреса вашего браузера, заменяя соответствующие параметры: Когда диалоговое окно аутентификации HTTP откроется, введите
параметры для администратора. Чтобы подтвердить, что сервер затемняется проверьте, что его имя
стало серым в Monitor UI. Чтобы повторно активировать затемненную группу серверов или сервер,
используйте соответствующий URL и строку запроса, изменяя
Перезапуск MySQL Enterprise Monitor НЕ
активирует затемненный сервер. Чтобы затемнить агент, используйте следующий URL: Чтобы затемнить агент и все в настоящее время проверяемые им экземпляры
MySQL, используйте следующий URL: Чтобы проверить затемненный статус агента, используйте следующий URL: Чтобы проверить затемненный статус экземпляра MySQL,
используйте следующий URL: Можно также проверить затемненный статус экземпляра MySQL, используя
его имя сервера: В настоящее время невозможно проверить затемненный статус группы. Также возможно управлять затемнениями из командной строки или скрипта.
Примеры в этой секции используют В Unix используйте chmod +x blackout.sh
, чтобы сделать файл исполняемым. Перезапуск MySQL Enterprise Service Manager или MySQL Enterprise Monitor
Agent не удаляет затемнение. Команда Для затемнения отдельного экземпляра MySQL
необходимо обеспечить следующее: URL Service Manager API. Например:
Одно из следующего: Чтобы затемнить сервер, используя
Чтобы затемнить сервер, используя
Чтобы удалить затемнение, управляйте той же самой командой с
Также возможно затемнить все экземпляры MySQL, проверенные определенным
агентом. Для получения дополнительной информации посмотрите
здесь. Команда Для затемнения группы экземпляров MySQL необходимо обеспечить следующее: URL Service Manager API. Например:
Следующая команда затемняет все экземпляры MySQL в группе
Чтобы удалить затемнение, управляйте той же самой командой с
Команда Для затемнения агента необходимо обеспечить следующее: URL Service Manager API. Например:
Для затемнения агента выполните: Для затемнения агента и всех экземпляров MySQL, которые
это контролирует, выполните: Команда Чтобы проверить затемненный статус, необходимо обеспечить следующее: URL Service Manager API. Например:
Следующая команда проверяет затемненный статус агента: Следующая команда проверяет затемненный статус экземпляра MySQL:
Глава 30. Персонализация MySQL Enterprise Monitor
30.1. Создание советников и правил
30.1.1. Создание советников
Категории советников по умолчанию
30.1.2. Обзор создания графа
MB
.
30.1.3. Обзор создания советника
log_bin
= OFF
.
Следовательно, выражение для советника
Binary Logging Not Enabled
это %log_bin% == OFF
. Если это оценивается как 1, событие поднято, потому что
наиболее успешной практике не следуют.IN()
.LEAST()
,
LOCATE()
, ABS()
,
MOD()
, NOW()
(вернет время с начала эпохи Unix UTC в секундах),
UNIX_TIMESTAMP
(технически не делает ничего) и
INTERVAL [n] SECOND, MINUTE, HOUR, WEEK, MONTH
.'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
), чтобы использовать последовательности в качестве чисел.30.1.4. Переменные
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)
%
как разделитель, например,
%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.30.1.5. Пороги
THRESHOLD
связано со значением, которые оценивают с аварийным уровнем: любым из
Notice
, Warning
или
Critical
.
100-((%Threads_created% / %Connections%) * 100) < THRESHOLD
THRESHOLD
= 95% для уровня Info, 85% для
Warning и 75% для Critical, производит тревоги трех разных уровней.
%log_bin% == THRESHOLD
OFF
, вызывается только одна
тревога уровня Warning. Вы не можете использовать только выражение
%log_bin% == "OFF"
, потому что это не проверило
бы двоичную регистрацию на достижение порога, а значит
не приведет к тревоге.
(%Uptime% > 10800) && (%Key_read_requests% > 10000)
&& (100-((%Key_reads% / %Key_read_requests%) * 100) < THRESHOLD)
(%Uptime% > 10800)
,
задерживает оценку выражения в течение 10800 секунд (3 часа). Когда сервер
запускается, он мог бы требовать времени, чтобы достигнуть статуса, который
является представительным для нормального функционирования. Например,
буферный пул InnoDB
, кэш ключей
MyISAM
и кэш SQL-запроса могли бы потребовать
некоторое время, чтобы заполнится данными приложения,
после которого кэшированные данные повышают производительность.mysql.user
.
Поэтому у этого советника есть вторая часть:
(%Key_read_requests% > 10000)
.
Советник не оценен, если нет значимой деятельности,
связанной с ключевым кэшем.30.1.6. Применение строк
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.30.1.7. Формат Wiki
Problem Description
,
Advice
, Recommended
Action
и Links and Further Reading
.
Можно отформатировать и подчеркнуть текст и добавить гиперссылки, используя
нотации, перечисленные в следующей таблице.
Маркер
Описание bold
__italic
~~G
item 1
item 1
_
\
для
экранирования специальных символов
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'}'
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>
30.1.8.
Создание нового советника: пример
KILL
, и производит событие.%connections_killed%
, переменную, которая
используется в текстовом окне Expression
.mysql:status:Com_kill
.local
.
'%connections_killed% > THRESHOLD'
0
. Информационное событие произведено, если 1
или больше связей закрыты.%connections_killed%
в этих текстовых полях.30.1.9.
Создание нового графа: пример
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>
Custom Graph 001
.30.2. Специальный сбор данных
custom.xml
в каталоге
etc
установки вашего агента.
Каждый определенный класс это сбор данных.custom.xml
утвержден
items-mysql-monitor.dtd
.30.2.1. Custom.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>
Элемент
Описание classes
class
namespace
classname
precondition
query
attributes
30.2.2. Запросы
30.2.2.1. Запросы предварительного условия
<precondition>
<![CDATA[SELECT @@version NOT LIKE '5.0%' AND @@version NOT LIKE '5.1%']]>
</precondition>
30.2.2.2. Главные запросы
<![CDATA[]]>
. Например:
<![CDATA[SELECT X FROM Y AS FOO]]>
.
Не должно быть символов между CDATA и [, а также между [ и началом запроса.
То же самое правило относится к закрывающим ]].CLASS_TYPE_1STCOL_ATTRIBUTES
. См.
раздел 30.2.3.2.
SELECT X AS NAME FROM Y
namespace:classname:name
. Например,
mysql:status:open_files_limit.
<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
,
определенный в запросе.30.2.2.3.
Форматирование Wiki в запросах
<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>
30.2.3. Признаки сбора данных
<attributes>
<attribute name="AttributeName1" counter="true" type="INTEGER"/>
<attribute name="AttributeName2" counter="false" type="STRING"/>
</attributes>
Имя
Описание true
: да.false
: нет.custom.xml
после запуска агента.
Это вызвано тем, что для агента невозможно изменить типы признака после того,
как они определяются. Попытка изменить их приводит к ошибке
InvalidValueForTypeException
.
Чтобы исправить это, необходимо остановить агент, отредактировать определение
типа и перезапустить агент.30.2.3.1. Значения по умолчанию
<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>
30.2.3.2. Возврат нескольких строк
CLASS_TYPE_1STCOL_ATTRIBUTES
.
Этот тип результата позволяет возвращение набора результатов с двумя
колонками как пара ключ/значение. В отличие от атрибутов по умолчанию,
которые взяты от имени столбца, ключ это название атрибута, а значение
это значение атрибута.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>
30.3. Затемненные периоды уведомления о событии
https://HostName:18443/rest?command=blackout&server_name=ServerName:3306&blackout_state=true
command
:
команда, чтобы выполнить. Это может быть одним из следующего:blackout
: применяет или удаляет
blackout_state
к указанным типам актива.blackout_status
:
запросит текущий статус указанного актива.blackout_state
:
может быть одним из следующего:true
:
затемнить указанные активы.false
:
удалить затемнение из указанных активов.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.
https://
localhost:18443
/rest?command=blackout&group_name=Finance
&blackout_state=true
blackout_state=true
на
blackout_state=false
.
Это должно быть сделано пользователем с административными привилегиями.
https://
localhost:18443
/rest?command=blackout&agent_id=agentID
&blackout_state=true
https://
localhost:18443
/rest?command=blackout&agent_id=agentID
&blackout_state=true&recursive=true
https://
localhost:18443
/rest?command=blackout_status&agent_id=agentID
&asset_type=agent.Agent
https://
localhost:18443
/rest?command=blackout_status&id=mysqlUUID
&asset_type=mysql.MysqlServer
https://
localhost:18443
/rest?command=blackout_status&server_name=serverName
30.3.1. Затемнения скриптов
curl
.
Можно управлять командами из командной строки или добавить к текстовому
файлу и сохранить как *.sh
или
*.bat
в зависимости от вашей платформы.Затемнение сервера
blackout
позволяет затемнить
отдельный экземпляр MySQL.--user
:
имя пользователя и пароль для пользователя Service Manager, управляющего
командой. Гарантируйте, что этот пользователь имеет правильные права,
чтобы выполнить затемнения."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"
Затемнение группы
blackout
позволяет вам затемнять
группы экземпляров MySQL. Для получения дополнительной информации о
MySQL Enterprise Service Manager Groups см.
главу 17.--user
: имя пользователя и пароль
для Service Manager. Гарантируйте, что этот пользователь имеет правильные
права, чтобы выполнить затемнение."https://servicemanager:18443/rest"
command=blackout
:
команда затемнения.group_name=
: имя группы для затемнения.
GroupName
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.
Гарантируйте, что этот пользователь имеет правильные права,
чтобы выполнить затемнение."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"
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. Гарантируйте, что этот пользователь имеет правильные права,
чтобы выполнить затемнение."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"
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"
Найди своих коллег! |
Вы можете направить письмо администратору этой странички, Алексею Паутову.