Spec-Zone.ru › Ansible 2.6

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
При 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API