Spec-Zone.ru › Ansible 2.5

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
    Варианты:
  • нет
  • да ←
Динамическая загрузка конфигурации в оперативную память.
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
    Варианты:
  • нет
  • да ←
Сохранение конфигурации в базе данных 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 пользователь

Пример:
{'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, что означает, что разработчики гарантируют отсутствие несовместимых изменений интерфейса.

Автор

  • 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.5/modules/proxysql_query_rules_module.html

Spec-Zone.ru

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