proxysql_query_rules - Модифицирует правила запросов с помощью интерфейса администрирования proxysql.
Новое в версии 2.3.
Описание
- Модуль proxysql_query_rules модифицирует правила запросов с использованием интерфейса администрирования proxysql.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- PyMySQL (Python 2.7 и Python 3.X), или
- MySQLdb (Python 2.x)
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| 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 bool |
| Динамическая загрузка конфигурации в оперативную память. |
| log | Запрос будет записан в журнал. | |
| login_host | Значение по умолчанию: "127.0.0.1" | Хост, используемый для подключения к интерфейсу администрирования ProxySQL. |
| login_password | Пароль, используемый для аутентификации в интерфейсе администрирования ProxySQL. | |
| login_port | Значение по умолчанию: 6032 | Порт, используемый для подключения к интерфейсу администрирования ProxySQL. |
| login_user | Имя пользователя, используемое для аутентификации в интерфейсе администрирования 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 bool |
| Сохранение конфигурации в базе данных SQLite на диске для сохранения конфигурации. |
| schemaname | Критерии фильтрации, соответствующие schemaname. Если schemaname не NULL, запрос будет соответствовать только тогда, когда подключение использует schemaname в качестве своего схемы по умолчанию. | |
| state |
| При 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 dict | При создании/обновлении вернёт недавно изменённое правило, во всех остальных случаях вернёт список правил, соответствующих заданным критериям. | Изменённый или удалённый из proxysql mysql-пользователь Пример: {'changed': True, 'msg': 'Добавлено правило в mysql_query_rules', 'rules': [{'active': '0', 'apply': '0', 'cache_ttl': None, 'client_addr': None, 'comment': None, 'delay': None, 'destination_hostgroup': 1, 'digest': None, 'error_msg': None, 'flagIN': '0', 'flagOUT': None, 'log': None, 'match_digest': None, 'match_pattern': None, 'mirror_flagOUT': None, 'mirror_hostgroup': None, 'negate_match_pattern': '0', 'proxy_addr': None, 'proxy_port': None, 'reconnect': None, 'replace_pattern': None, 'retries': None, 'rule_id': '1', 'schemaname': None, 'timeout': None, 'username': 'guest_ro'}], 'state': 'present'} |
Статус
Этот модуль помечен как stableinterface, что означает, что разработчики этого модуля гарантируют, что не будут вноситься несовместимые изменения интерфейса.
Техническое обслуживание
Этот модуль помечен как community, что означает, что его поддерживает сообщество Ansible. Дополнительную информацию см. в разделе Техническое обслуживание и поддержка модулей.
Список других модулей, поддерживаемых сообществом Ansible, см. здесь.
Автор
- Ben Mildren (@bmildren)
Подсказка
Если вы заметили какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/proxysql_query_rules_module.html