В этой главе описываются основанные на GUI советники. Это советники, которые формируются, используя диалог, а не выражение.
Agent Health Advisor контролирует использование ресурсов контролирующего агента, коммуникационный статус, отставание и использование памяти.
Диалог конфигурации Agent Health Advisor разделен на следующие функциональные области:
Секция General определяет пороги использования оперативной памяти и CPU. Эти пороги производят события, если определенное пороговое значение нарушает использование CPU и RAM. Оба пороговых определения используют окно скользящего среднего значения. Хотя возможно использовать очень маленькие значения для окна скользящего среднего значения, большие значения, больше секунды, рекомендуются.
Рис. 20.1. Agent Health - General
Agent CPU Threshold: позволяет вам определить пороги для процента использование CPU. Значение по умолчанию Critical = 10%.
Memory Usage Thresholds (% of max allowed): позволяет вам определить пороги для использования оперативной памяти как процент максимального размера кучи, ассигнованного контролирующему агенту. Значения по умолчанию:
Notice = 70.
Warning = 85.
Critical = 90.
Секция Communication определяет пороги в течение времени ожидания и ошибок HTTP между агентом и MySQL Enterprise Service Manager.
Рис. 20.2. Agent Health - General
Agent Latency Thresholds: позволяет вам определить пороги для разницы во времени между временем, когда данные были собраны и временем, когда MySQL Enterprise Service Manager получил собранные данные. Это может быть вызвано часами, которые не синхронизированы, сетевыми проблемами и так далее. Значения по умолчанию:
Warning = 1 минута.
Critical = 10 минута.
При определенных обстоятельствах, таких как сильно нагруженный MySQL Enterprise Service Manager, события могут быть подняты в течение Agent host time out of sync relative to dashboard. Они могут произойти даже при том, что MySQL Enterprise Service Manager и проверенный хост синхронизированы с тем же самым сервером времени, и никаких проблем синхронизации времени не существует.
Agent Health Advisor сравнивает время в MySQL Enterprise Service Manager с временем на проверенном хосте. Если никакие проблемы синхронизации времени не существуют, эти ложные положительные события автозакрываются.
HTTP Error Thresholds (% of total requests): позволяет вам определить пороги для количества ошибок HTTP как процент общего количества запросов HTTP. Значения по умолчанию:
Notice = 10.
Warning = 20.
Critical = 30.
Если контролирующий агент неспособен общаться с MySQL Enterprise Service Manager, это хранит собранные данные в памяти до предела 10 МБ, затем в файловой системе, до предела 10 МБ, давая полный предел неудовлетворенного хранения 20 МБ. Если предел достигнут, неудовлетворенные данные пропущены.
Рис. 20.3. Agent Health - Backlog
Backlog Memory Usage Thresholds (% of max allowed): позволяет вам определить порог для суммы RAM, используемой отставанием, как процент максимальной позволенной RAM, 10 МБ. Значение по умолчанию Warning = 80 соответствует 8 МБ используемой RAM.
Backlog Disk Usage Thresholds (% of max allowed): позволяет вам определить порог для суммы дискового пространства, используемого отставанием, как процент максимального позволенного дискового пространства, 10 МБ. Значение по умолчанию Warning = 80 соответствует 8 МБ используемого дискового пространства.
Эта секция описывает советник MySQL Enterprise Backup Health, который проверяет статус резервных копий согласно тому, добились ли они успеха или потерпели неудачу.
Notify on succeeded or failed backups : позволяет вам произвести событие для успешности или неуспешности резервной копии. Значения по умолчанию:
Notice = Success.
Emergency = Failure.
Нет никаких других типов возврата.
Notify when incremental backups are not being used: позволяет вам произвести событие, если контролирующий агент обнаруживает, что возрастающие резервные копии не используются. Выберите Yes, чтобы произвести событие.
Notify when backup lock time is excessive: позволяет вам произвести событие, если время блокировки превышает определенные пороги. Значения по умолчанию:
Notice = 10 секунд.
Warning = 1 минута.
Notify when the last successful full backup is too old: позволяет вам произвести событие, если последнее полное резервное копирование более старое, чем определенный порог. Значение по умолчанию:
Warning = 7 дней.
Notify when the last successful incremental backup is too old: позволяет вам произвести событие, если последнее инкрементное резервное копирование более старое, чем определенный порог. Значение по умолчанию:
Warning = 2 дня.
MySQL Process Discovery Advisor позволяет вам найти и, произвольно, установить связь с непроверенными серверами MySQL. Если вы принимаете решение не делать попытку связи с обнаруженными экземплярами, они перечисляются в списке Unmonitored MySQL Instances панели MySQL Instances.
Если вы выключаете этого советника, уведомления для непроверенных экземпляров и связанные события не показаны в пользовательском интерфейсе.
Таблица 20.1. Управление MySQL Process Discovery Advisor
| Имя | Описание |
|---|---|
Attempt Connection |
Делать ли попытку связи. Если это установлено в No, советник продолжает поднимать события, связанные с непроверенными экземплярами. Если установлено в Yes, связь предпринята, используя поставляемые параметры. |
Alert Level |
Уровень тревоги, если непроверенный сервер обнаружен. |
Admin User |
Пользователь root экземпляра или пользователь, который имеет права
Привилегия Если вы принимаете решение позволить опцию
Auto-Create Less Privileged Users,
этот пользователь используется, чтобы создать пользователей
с требуемыми полномочиями, чтобы контролировать этот сервер.
В этом случае это также требует привилегий
|
Admin Password |
Пароль для Admin User. |
Auto-Create Less Privileged Users |
Контролируя сервер, многократные уровни пользователя могут использоваться, чтобы гарантировать, что связь не считается открытой неопределенно.
Если у вас нет соответствующих пользователей, они автоматически создаются, если этот выбор разрешен. Использование этих низкопривилегированных пользователей рекомендуется. |
General User |
Этот пользователь обращается с общими контрольными задачами, которые
не требуют уровня
|
General Password |
Пароль для пользователя с общими привилегиями. |
Limited User |
Этот пользователь используется для запросов, которые ограничиваются единственной связью и могут управляться с глобальными привилегиями SELECT. Примеры этих видов запросов включают получение метаданных от таблиц базы данных INFORMATION_SCHEMA или любой SQL, который используется, чтобы контролировать специализированную статистику. Если вы вручную управляете созданием этого пользователя, у него должны быть, по крайней мере, глобальные права SELECT и SHOW DATABASES. |
Limited Password |
Пароль для пользователя с ограниченными привилегиями. |
MySQL Instance Identity Source |
Выберите механизм, чтобы генерировать уникальную идентичность для экземпляра MySQL.
|
Default auto-close enabled yes.
Отслеживает хосты с двумя идентификаторами (SSH ключи или Windows SID), анализируя изменения в сети хостов экземпляров. Советник вызывает условие, если тот же самый хост изменил свои сетевые параметры больше, чем 4 раза за 10 минут по умолчанию.
Change Rate: количество изменений в период времени.
Every: период времени, за который прослежены изменения.
Default auto-close enabled yes
Отслеживает серверы, UUID которых дублирован или становится связанным с многими различными именами хоста или связями, за определенный период времени. Эти изменения измерены уровнем, то есть определенным количеством изменений за определенный период времени.
Change Rate: количество изменений за период времени.
Every: период времени, за который прослежены изменения.
Например, если Change Rate = 5, Every = 10 минут, а UUID сервера изменил имя хоста 5 раз за 8 минут, событие произведено.
Default auto-close enabled yes
Предупреждает, если схема sys
не устанавливается на проверенном сервере MySQL.
Этот советник также позволяет вам автоматически установить схему
sys. Для этого установите
Install By Default =
Yes.
Схема sys
поддерживается в MySQL 5.6 и выше.
См. MySQL sys Schema.
Отслеживает использование CPU на проверенном сервере или группах серверов.
Рис. 20.4. CPU Usage
Moving Average Window: продолжительность окна скользящего среднего значения.
CPU Usage Thresholds: формируйте пороги для процента полного использования CPU.
CPI I/O Wait Thresholds: формируйте пороги для CPU I/O Wait как процент полного процессорного времени.
Default auto-close enabled yes
Позволяет обнаружение выбросов CPU. CPU считают изолированной частью, если условия, определенные здесь, соблюдаются.
Не рекомендуется позволить это для всех операционных систем, только для определенных групп.
Рис. 20.5. CPU Outliers
Enable CPU Outlier Detection: Позволить ли обнаружение изолированной части CPU.
Minimum Server Count for Outlier Detection: Минимальный необходимый объем выборки перед обнаружением.
Small Group Notification: Произвести ли событие, если объем выборки слишком маленький, чтобы позволить обнаружение.
Outlier Percentile: процент, относительно других CPU в группе, в которой CPU считают изолированной частью.
Отслеживает использование дискового пространства файловой системы.
Default auto-close enabled yes
Рис. 20.6. Filesystem - General
Секция General позволяет вам выбрать файловую систему, чтобы контролировать. Следующие типы доступны:
Local Disk: позволяет контролировать локальные жесткие диски.
Network Mount: позволяет контролировать файловые системы на проверенном сервере.
RAM Disk: позволяет контролировать RAM-диски на сервере.
CDROM: позволяет контролировать дисководы для компакт-дисков на сервере.
Swap: позволяет контролировать файлы подкачки системы.
Выберите типы файловой системы, как требуется, из выпадающего списка.
Чтобы удалить тип файловой системы, щелкните x на этикетке файловой системы.
Рис. 20.7. Filesystem - Estimated Full Capacity
Секция Estimated Full Capacity показывает время до полного заполнения на основе существующей нагрузки.
Extrapolate Free Space to Zero in Graphs: позволяет изобразить в виде графика время до полного заполнения на основе существующей нагрузки.
Free Space Running Out Thresholds: произведет события на основе того, когда свободное пространство, как предполагается, закончится.
Рис. 20.8. Filesystem - Percentage of Space
Секция Percentage of Space производит события на основе процента доступного свободного пространства относительно полного пространства на проверенном устройстве.
Рис. 20.9. Filesystem - Percentage Used in Time Range
Контролирует процент дискового пространства, потребляемого за единицу времени.
MySQL Process Advisor контролирует загрузку MySQL CPU и использование памяти.
Возможно отредактировать размер Moving Average Window и изменить график этого советника.
Эта секция описывает советники Query Analysis.
Контролирует среднее время выполнения нормализованного SQL-оператора и производит события, если время выполнения превышает определенные пороги.
У этого советника есть следующие параметры:
Average Execution Time Thresholds: Производит события, если среднее время выполнения превышает определенные пороги.
Minimum Execution Count: Минимальное число раз, которое нормализованный запрос должен быть выполнен, прежде чем это сможет произвести событие.
One Alert per Query: Определите, как произведены события. Возможные значения:
Yes: произведите событие для каждого нормализованного запроса, который превышает порог.
No: произведите единственное событие для MySQL Server, суммирующее все запросы, которые превышают пороги. Это поведение по умолчанию.
DML Statements Only: Определите, для которых запросов произведены события. Возможные значения:
Yes: только для запросов DML.
No: для всех SQL-операторов.
Предпреждает, когда количество рабочих потоков резко растет за короткий период времени. Например, на основе умолчания для этого советника, если среднее значение Threads_running увеличилось на 50% или больше, но меньше, чем 80%, за 1 минуту, это поднимает тревогу типа Warning.
Window Size: продолжительность окна скользящего среднего значения, по которому сделан контроль.
Growth Rate Thresholds: темп роста процента запросов во время определенного окна скользящего среднего значения.
Minimum Running Threads: минимальное количество потоков перед событием.
Производит события, когда нормализованный SQL-оператор производит ошибки или предупреждения в течение времени.
One Alert Per Query: произведет события для запросов, которые возвращают ошибки или предупреждения. Возможные значения:
Yes: событие для каждого нормализованного запроса, который возвращает ошибку или предупреждение.
No: единственное событие на сервер MySQL, суммируя все запросы, которые произвели ошибки или предупреждения.
Notification level when discovering queries with errors: выберите желаемый уровень уведомления для запросов с ошибками.
Notification level when discovering queries with warnings: выберите желаемый уровень уведомления для запросов с предупреждениями.
Позволяет сообщить аналитические данные о запросе.
Enable Example Query: обеспечивает подробные данные о запросах и их параметрах. Предоставление возможности этого параметра увеличивает RAM, используемую контролирующим агентом.
Эта особенность требует включения
events_statements_history_long в
performance_schema.setup_consumers.
Это отключено по умолчанию в MySQL 5.6.
Enable Example Explain: выполнить EXPLAIN в выбранном операторе. Это выполняется для запросов, время выполнения которых превышает значение, определенное в Auto-Explain Threshold.
Auto-Explain Threshold: объясняет выполнение запросов, время выполнения которых больше значения, определенного здесь.
Explain создает данные о запросе, используя Performance Schema.
Explain поддерживается для всех запросов DML в MySQL 5.6.3
или выше. В более ранних версиях поддерживается только
SELECT.
Советники Group Replication, Group Replication Configuration и Group Replication Status обеспечивают непрерывный анализ условия ваших топологий репликации группы. Советник конфигурации анализирует конфигурацию серверов, проверяя неверную конфигурацию, которая могла привести к нестабильным или опасным установкам, советник статуса непрерывно контролирует серверы, которые ушли в офлайн или вышли из синхронизации с другими членами группы.
Советники также наполняют следующие графы уровня группы:
Group Replication - Transactions Rows Validating - Per Member
Group Replication - Transactions Checked - Per Member
Group Replication - Conflicts Detected - Per Member
Group Replication - Transactions In Queue - Per Member
Советник Group Replication Configuration проверяет конфигурацию проверенной топологии группы и поднимает события, если какой-либо из элементов группы неправильно или небезопасно настроен.
Рис. 20.10. Советник Group Replication Configuration
Выберите необходимый уровень уведомления для каждого параметра конфигурации. Уровни уведомления о событии могут формироваться для следующего:
Notification level for general configuration problems: проверяет следующие переменные и предупреждает о потенциальных проблемах:
group_replication_bootstrap_group
: производит тревогу, если переменная установлена в ON.
group_replication_force_members
: производит тревогу, если переменная не пуста.
group_replication_allow_local_disjoint_gtids_join:
производит тревогу, если переменная установлена в ON.
group_replication_enforce_update_everywhere_checks:
производит тревогу, если переменная установлена в OFF.
group_replication_single_primary_mode
: производит тревогу, если переменная установлена в OFF.
Notification level for AUTO_INCREMENT
configuration problems: проверяет
auto_increment_increment
и предупреждает, если следующим условиям не отвечают:
auto_increment_increment
больше или равен количеству узлов.
auto_increment_offset
меньше или равен
auto_increment_increment.
Notification level for security configuration problems: проверяет следующие переменные конфигурации безопасности:
group_replication_ssl_mode:
производит тревогу, если переменная установлена в OFF.
Советник Group Replication Status проверяет топологию, потерю кворума, отказоустойчивости и сетевого разделения.
Для получения дополнительной информации посмотрите Group Replication.
Рис. 20.11. Советник Group Replication Status
Выберите необходимый уровень уведомления для каждого параметра конфигурации. Уровни уведомления о событии могут формироваться для следующего:
Notification level when discovering a Group
Replication member with a state of ERROR:
выберите необходимый уровень для событий, если элемент группы
Member_state =
ERROR.
Для получения дополнительной информации посмотрите The replication_group_members Table.
Notification level when discovering a Group Replication that is at risk of loss of quorum: уровень уведомления, если у проверенной топологии четное число участников.
Notification level when discovering a Group Replication has lost quorum: уровень уведомления, если больше половины участников проверенной топологии офлайн.
Minimum odd number of ONLINE members to be tolerant to failures: уровень уведомления, если число членов проверенной топологии в онлайн падает ниже определенного числа.
Notification level for network partitioning detection: уровень уведомления, если один или несколько членов топологии онлайн, но недостижимы другими участниками.
Эта секция описывает следующих советников Security:
Для получения дополнительной информации о MySQL Enterprise Audit Plugin см. MySQL Enterprise Audit.
Этот советник позволяет вам формировать события для плагина контрольного журнала. У этого советника есть следующие параметры:
Events Lost Threshold: производит
события для событий аудита, которые потеряны из-за настройки сервера
audit_log_strategy =
PERFORMANCE.
Введите число потерянных событий.
Write Wait Percent Thresholds: производит события для количества ждущих записей контрольного журнала, Процент вычисляется как количество ждущих к записываемым.
Events Filtered Threshold: производит события для количества событий аудита, которые отфильтрованы конфигурацией контрольного журнала.
Detect Filtering Configurations: если Yes, производит события для любой конфигурации, которая фильтрует события контрольного журнала. Если установлено в No, такие конфигурации проигнорированы.
Для получения дополнительной информации о MySQL Enterprise Firewall см. MySQL Enterprise Firewall.
Этот советник позволяет вам формировать события для MySQL Enterprise Firewall. У этого советника есть следующие параметры:
Firewall Enabled Threshold: производит события, если брандмауэр установлен, но не включен. Чтобы изменить уровень тревоги, измените значение 0 ("OFF") к необходимому порогу.
Access Denied Threshold: производит события для числа запросов, которые отклонены брандмауэром. Введите число отклоненных запросов.
Access Suspicious Threshold: производит события для числа запросов, которые считались подозрительными брандмауэром.
Анализирует конфигурацию учетных записей пользователей MySQL на сервере и сообщает, когда следующие проблемы были обнаружены:
Broad Host Specifier Exclusion Regex:
У сервера MySQL есть учетные записи пользователей с чрезмерно широкими
спецификаторами хоста. Доступ к MySQL определяется именем пользователя и
именем хоста, которые найдены в колонках User и Host таблицы
mysql.user. Значение User это
имя, которое клиент должен поставлять, соединяясь с сервером.
Значение Host указывает на хост, с которого пользователь может соединиться.
Если это буквальное имя хоста, пользователь ограничивается связями только от
того хоста. Если имя хоста содержит подстановочный символ
%, пользователь может соединиться от любого
хоста, который соответствует подстановочному символу
(потенциально от любого хоста вообще).
Буквальные значения хоста являются лучшими и
% хуже. Пользователи, у которых есть значения
хоста, содержащие подстановочные знаки, более восприимчивы к атакам, чем
пользователи с буквальными значениями хоста, потому что нападающие могут
попытаться соединиться с более широкого диапазона машин.
Например, если есть значения пользователя и хоста
root и %,
это означает, что можно соединиться как пользователь root от
любой машины, если вы знаете пароль.
В отличие от этого, если имя хоста localhost или
127.0.0.1, нападающий может попытаться
соединиться как пользователь root только от хоста сервера.
Советник позволяет вам определить список исключения, используя регулярные
выражения, для пользователей, которым можно использовать
% для их хоста в таблице
mysql.user. Никакие события не произведены для
пользователей, соответствующих этому образцу. Например так:
^(user1|user2)$
разрешает только user1 или user2 использовать
% для их хоста в таблице
mysql.user. Событие произведено для любого
другого пользователя с % для их хоста.
Global Privilege User Exclusion Regex:
У сервера MySQL могут быть учетные записи пользователей с привилегиями на
всех базах данных и таблицах (*.*). В большинстве экземпляров глобальные
привилегии должны быть позволены только для пользователя root MySQL и
возможно для пользователей, которым вы доверяете или используете в целях
резервирования. Глобальные привилегии, такие как
DROP,
ALTER,
DELETE,
UPDATE,
INSERT и
LOCK TABLES
могут быть опасными.
Этот советник позволяет определить регулярное выражение, описывающее
пользователей, которым позволено иметь глобальные привилегии на таблицу
mysql.user
(ALTER, DELETE,
DROP, INSERT,
LOCK_TABLES или
UPDATE). Например:
^(user1@host1|user2@host2)$
разрешает только user1 на host1 или user2 на host2 иметь глобальные
привилегии на таблице mysql.user. Событие
произведено для любого другого пользователя с теми привилегиями.
Strong MySQL Privilege User Exclusion Regex:
Этот советник позволяет определить регулярное выражение, описывающее
пользователей, которым позволено иметь глобальные привилегии на таблице
mysql.user
(CREATE_USER,
FILE,
GRANT,
PROCESS,
LOCK_TABLES,
SHUTDOWN,
SUPER или
RELOAD). Например:
^(user1@host1|user2@host2)$
разрешает только user1 на host1 или user2 на host2 иметь сильные
привилегии на таблице mysql.user. Событие
произведено для любого другого пользователя с теми привилегиями.
Database Level Privileges On All Databases User Exclusion Regex:
Привилегии, такие как SELECT, INSERT, и ALTER, позволяют пользователю просматривать и изменять данные. Такие операции должны быть ограничены только теми базами данных, к которым пользователю нужен доступ.
Этот советник позволяет вам определить регулярное выражение, которое
описывает те учетные записи пользователей, которым позволяют иметь привилегии
уровня базы данных на всех базах данных в таблице
mysql.user
(ALTER,
CREATE,
DELETE,
DROP,
INDEX,
INSERT,
SELECT,
UPDATE). Например:
^(user1@host1|user2@host2)$
разрешает только user1 на host1 или user2 на host2
иметь привилегии уровня базы данных на всех базах данных в таблице
mysql.user. Событие произведено для любого
другого пользователя с теми привилегиями.
Регулярные выражения могут быть применены к серверу, всем экземплярам, работающим на сервере, группе (все серверы в группе) или глобально (все серверы), в зависимости от выбранного актива.
Для получения дополнительной информации см. здесь.
Эта секция описывает советников NDB Cluster.
Эта секция не описывает основанных на выражении советников. Для получения информации об основанных на выражении советниках NDB Cluster см. главу 19.4.
Рис. 20.12. Советник Group Replication Status
Таблица 20.2. Управление советником NDB Cluster Memory Usage
| Имя | Описание |
|---|---|
Free Data Memory Thresholds (% free memory allowed) |
События произведены, если процент свободной памяти данных в узле данных кластера понижается ниже порогов, определенных здесь. Вставки базы данных начинают терпеть неудачу, поскольку вся память потребляется. |
Free Index Memory Thresholds (% free memory allowed) |
События произведены, если процент свободной памяти индекса в узле данных кластера понижается ниже порогов, определенных здесь. Вставки базы данных начинают терпеть неудачу, поскольку вся память потребляется. |
Этот советник также ответственен за наполнение графов NDB Data Node - Data Memory.
Рис. 20.13. Советник Group Replication Status
Таблица 20.3. Управление советником NDB Cluster Status
| Имя | Описание |
|---|---|
Notification level when a NDB Cluster has all nodes of the same type (MGM, API, NDB) not running. |
Проверяет наборы узлов и производит событие, если узлы не находятся в
статусах |
Notification level when a NDB Cluster is DEGRADED, when some of the data nodes are not running. |
Проверяет, что группа узлов данных установлена и производит события
для узлов, которые не находятся в статусах
|
Notification level when a Management (mgmd) node is not connected. |
Проверяет узел и статус процесса и производит события, если узел
не находится в статусе |
Notification level when a Data node (ndbd or ndbmtd) is not running. |
Проверяет узел и статус процесса и производит события, если любой узел
не находится в статусах |
Notification level when an API node is not connected |
Проверяет статус узла и производит события, если узел не находится в статусе CONNECTED. |
Data nodes uptime in seconds to be detected as restart |
Чтобы выполнить полезную работу, узлы данных кластера должны работать последовательно. Нормально для производственной системы работать непрерывно в течение многих недель, месяцев или дольше. Если узел данных был недавно перезапущен, это может быть результатом запланированного обслуживания, но это может также произойти из-за незапланированного события, которое должно быть исследовано. Этот советник производит события, если обнаружен узел данных, который работал в течение короткого срока. |
Этот советник также наполняет граф NDB Data Nodes.