proxysql_query_rules - Изменение правил запросов с помощью интерфейса администрирования proxysql.
Новая версия с 2.3.
Описание
- Модуль proxysql_query_rules изменяет правила запросов с помощью интерфейса администрирования proxysql.
Параметры
| параметр | обязателен | по умолчанию | значения | комментарии |
|---|---|---|---|---|
| active | нет | Правило с active, установленным в False, будет отслеживаться в базе данных, но никогда не загружаться в структуры данных в оперативной памяти. | ||
| apply | нет | Используется в сочетании с flagIN и flagOUT для создания цепочек правил. Установка apply в True обозначает последнее правило для применения. | ||
| cache_ttl | нет | Количество миллисекунд, в течение которого сохраняется результат запроса в кэше. Обратите внимание, что в ProxySQL 1.1 cache_ttl измерялся в секундах. | ||
| client_addr | нет | Сопоставление трафика из определенного источника. | ||
| comment | нет | Поле свободного текста, используемое для описания правила запроса. | ||
| config_file | нет | Укажите конфигурационный файл, из которого нужно считать значения login_user и login_password. | ||
| delay | нет | Количество миллисекунд задержки выполнения запроса. Это механизм ограничения скорости и QoS, который позволяет назначать приоритет запросам. Значение добавляется к глобальной переменной mysql-default_query_delay, которая применяется ко всем запросам. | ||
| destination_hostgroup | нет | Направление сопоставленных запросов в этот хостгруппу. Это происходит, если нет начатого транзакции и у зарегистрированного пользователя установлено transaction_persistent в True (см. proxysql_mysql_users). | ||
| digest | нет | Сопоставление запросов с определенным хешем, возвращаемым stats_mysql_query_digest.digest. | ||
| error_msg | нет | Запрос будет заблокирован, и указанное error_msg будет возвращено клиенту. | ||
| flagIN | нет | Используется в сочетании с flagOUT и apply для создания цепочек правил. | ||
| flagOUT | нет | Используется в сочетании с flagIN и apply для создания цепочек правил. При установке flagOUT обозначает flagIN, используемый в следующей цепочке правил. | ||
| force_delete | нет | По умолчанию, мы избегаем удаления более одного расписания в одной партии. Однако, если вам нужно такое поведение, и вы не беспокоитесь об удаленных расписаниях, вы можете установить force_delete в True. | ||
| load_to_runtime | нет | True | Динамическая загрузка конфигурации mysql хоста в оперативную память. | |
| log | нет | Запрос будет записан в журнал. | ||
| login_host | нет | 127.0.0.1 | Хост, используемый для подключения к интерфейсу администрирования ProxySQL. | |
| login_password | нет | None | Пароль, используемый для аутентификации в интерфейсе администрирования ProxySQL. | |
| login_port | нет | 6032 | Порт, используемый для подключения к интерфейсу администрирования ProxySQL. | |
| login_user | нет | None | Имя пользователя, используемое для аутентификации в интерфейсе администрирования ProxySQL. | |
| match_digest | нет | Регулярное выражение, которое сопоставляет хеш запроса. Диалект регулярных выражений - re2 - https://github.com/google/re2 | ||
| match_pattern | нет | Регулярное выражение, которое сопоставляет текст запроса. Диалект регулярных выражений - re2 - https://github.com/google/re2 | ||
| mirror_flagOUT | нет | Включает зеркалирование запросов. Если установлено mirror_flagOUT, можно использовать для оценки зеркального запроса по заданной цепочке правил. | ||
| mirror_hostgroup | нет | Включает зеркалирование запросов. Если установлено mirror_hostgroup, можно зеркалить запросы в ту же или другую хостгруппу. | ||
| negate_match_pattern | нет | Если negate_match_pattern установлено в True, только запросы, не соответствующие тексту запроса, будут считаться соответствием. Это действует как оператор NOT перед регулярным выражением, сопоставляющим match_pattern. | ||
| proxy_addr | нет | Сопоставление входящего трафика по определенному локальному IP. | ||
| proxy_port | нет | Сопоставление входящего трафика по определенному локальному порту. | ||
| replace_pattern | нет | Это шаблон для замены сопоставленного шаблона. Обратите внимание, что это необязательно, и при его отсутствии процессор запросов только сохранит в кэше, направит или установит другие параметры без переписывания. | ||
| retries | нет | Максимальное количество попыток повторного выполнения запроса в случае обнаруженной ошибки при выполнении запроса. Если retries не указан, применяется глобальная переменная mysql-query_retries_on_failure. | ||
| rule_id | нет | Уникальный идентификатор правила. Правила обрабатываются в порядке rule_id. | ||
| save_to_disk | нет | True | Сохранение конфигурации mysql хоста в базу данных sqlite на диске для сохранения конфигурации. | |
| schemaname | нет | Критерии фильтрации, соответствующие schemaname. Если schemaname не NULL, запрос будет соответствовать только в том случае, если подключение использует schemaname в качестве своего схемы по умолчанию. | ||
| state | нет | present |
| Когда present - добавляет правило, когда absent - удаляет правило. |
| timeout | нет | Максимальная задержка в миллисекундах для выполнения сопоставленного или переписанного запроса. Если запрос работает дольше указанного порога, запрос автоматически убивается. Если timeout не указан, применяется глобальная переменная mysql-default_query_timeout. | ||
| username | нет | Критерии фильтрации, соответствующие имени пользователя. Если username не NULL, запрос будет соответствовать только в том случае, если соединение выполнено с правильным именем пользователя. |
Примеры
---
# This example adds a rule to redirect queries from a specific user to another
# hostgroup, it saves the mysql query rule config to disk, but avoids loading
# the mysql query config config to runtime (this might be because several
# rules are being added and the user wants to push the config to runtime in a
# single batch using the M(proxysql_manage_config) module). It uses supplied
# credentials to connect to the proxysql admin interface.
- proxysql_backend_servers:
login_user: admin
login_password: admin
username: 'guest_ro'
destination_hostgroup: 1
active: 1
retries: 3
state: present
load_to_runtime: False
# This example removes all rules that use the username 'guest_ro', saves the
# mysql query rule config to disk, and dynamically loads the mysql query rule
# config to runtime. It uses credentials in a supplied config file to connect
# to the proxysql admin interface.
- proxysql_backend_servers:
config_file: '~/proxysql.cnf'
username: 'guest_ro'
state: absent
force_delete: true
Значения возврата
Общие значения возврата описаны здесь Значения возврата, следующие поля уникальны для этого модуля:
| название | описание | возвращаемое значение | тип | пример |
|---|---|---|---|---|
| stdout | Измененный или удаленный пользователь mysql из proxysql | При создании/обновлении возвращает измененное правило, в других случаях возвращает список правил, соответствующих заданным критериям. | dict | {'msg': 'Добавление правила в mysql_query_rules', 'rules': [{'comment': None, 'username': 'guest_ro', 'flagOUT': None, 'match_pattern': None, 'destination_hostgroup': 1, 'proxy_port': None, 'active': '0', 'reconnect': None, 'mirror_flagOUT': None, 'apply': '0', 'schemaname': None, 'replace_pattern': None, 'cache_ttl': None, 'digest': None, 'retries': None, 'match_digest': None, 'mirror_hostgroup': None, 'log': None, 'negate_match_pattern': '0', 'flagIN': '0', 'client_addr': None, 'error_msg': None, 'delay': None, 'proxy_addr': None, 'timeout': None, 'rule_id': '1'}], 'state': 'present', 'changed': True} |
Статус
Этот модуль помечен как stableinterface, что означает, что разработчики данного модуля гарантируют отсутствие несовместимых изменений интерфейса.
Для получения помощи в разработке модулей, если у вас есть желание, пожалуйста, прочтите Информацию о сообществе и вклад, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/proxysql_query_rules_module.html