OProxy

Материал из ISPWiki

Перейти к: навигация, поиск

oProxy — прокси-сервер с функцией балансировки нагрузки и обеспечения отказоустойчивости, работающий совместно с ISPmanager Cluster. Основные функции:

  1. Проксирование HTTP-трафика, балансировка нагрузки между серверами, обеспечение отказоустойчивости (прозрачное автоматическое отключение/подключение упавших узлов).
  2. Обработка статических запросов без участия Apache.
  3. Проксирование Mysql-трафика, балансировка, обеспечение отказоустойчивости.
  4. Точный подсчёт входящего и исходящего HTTP трафика по отдельным сайтам, подсчёт количества запросов и суммарного времени ответа.
  5. Точный подсчёт MySQL трафика по отдельным пользователям, подсчёт количества запросов, суммарного времени ответа.
  6. Выполнение команд (см. clusterctl)

Содержание

Принцип работы

Утилита слушает заданные конфигурационным файлов TCP- или UNIX-сокеты (см. oproxy.conf). Далее из cluster_nodes.conf (см. clusterctl) выбираются все узлы, для которых задана специальная роль HTTP или MySQL соответственно. Для всех узлов у прокси имеется статистика, сколько сейчас узел обрабатывает запросов. Выбирается узел, обрабатывающий их меньше всего. Делается попытка подключения к нему. Если попытка не удалась — узел на несколько секунд (задаётся конфигурационным файлом) метится как down и делается попытка подключения к следующему. И так далее. И только в случае, если все узлы в дауне, соединение сбрасывается.

Помимо проксирования HTTP и MySQL, утилита умеет слушать специальный командный сокет, на котором по паролю клиент может от рута запустить любую команду. См. clusterctl.

Конфигурация

По умолчанию, oProxy ищет конфиг в /usr/local/ispmgr/etc/oproxy.conf. Подробности смотрите в статье oproxy.conf.

Опции запуска

Usage:

  oproxy [keys]

Keys:
  --config Path to configuration file. Default is /usr/local/ispmgr/etc/oproxy.conf
  --version Print version and exit.
  -help  Display this list of options
  --help  Display this list of options

Управление прокси-сервером

Для управления прокси-сервером разработан специальный язык OpQL и утилита oproxyctl. Например, останавливать oProxy лучше всего командой:

/usr/local/ispmgr/sbin/oproxyctl 'stop daemon'

В этом случае, корректно будет завершена работа (сброшена статистика, удалены все UNIX-сокеты и т.д.).

Трафик

Если значение log_statistics_period в oproxy.conf больше нуля, статистика по трафику сохраняется в файл /usr/local/ispmgr/var/oproxy-traf.log. В ином случае, её можно посмотреть командами:

/usr/local/ispmgr/sbin/oproxyctl 'show traffic http'

или

/usr/local/ispmgr/sbin/oproxyctl 'show traffic mysql'

В случае, если настроено сохранение статистики в файл, эти команды покажут статистику по трафику с момента последнего сохранения её в файл.

Источник — «http://ru.ispdoc.com/index.php/OProxy»
Была ли эта информация полезной? Да | Нет
Личные инструменты