Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Добавлена инструкция по очистке очереди Бизнес-хуков

...

Code Block
titleКонфигурация очередей в агенте HEX: /etc/hydra/hex/hex.yml
...
hydra:
  command_queues:
    # <Очередь для приёма команд>: <Очередь для отправки результата>
    - 'hydra_commands': 'hydra_command_results'
    - 'hydra_commands_reset-switch-port': 'hydra_command_results'
...

Безусловное автоматическое удаление сообщений из очередей

...

Задача

Провижининг используется только для формирования команд по конфигурациям. RADIUS-взаимодействия нет — агент HARD не установлен. Сообщения с профилями и привязками оборудования накапливаются в очередях Oracle, напрасно занимая бесценное место в табличных пространствах.

Бизнес-хуки Гидры не используются. Сообщения копятся в очереди Oracle, занимая место в табличных пространствах

Решение

Настроить в AcitveMQ получение этих сообщений, но без сохранения их в самом брокере. Для этого в конфигурации ActiveMQ можно использовать директиву <stop/>, прерывающую маршрутизацию:

Code Block
languagexml
titleКонфигурация маршрутов в ActiveMQ: /etc/hydra/activemq/instances-enabled/provisioning/activemq.xml
...
    <camelContext xmlns="http://camel.apache.org/schema/spring" id="camel">
        <!-- Очередь команд провижининга AQ_BI_HYDRA_COMMANDS -->
        <route>
            <from uri="oracleTopic:topic:AIS_NET.HP_COMMANDS_1?clientId=ActiveMQ&amp;durableSubscriptionName=HP"/>
            <to uri="activemq:queue:hydra_commands_1"/>
        </route>
        <!-- Очередь результатов выполнения команд провижининга AQ_BI_HYDRA_COM_RES -->
        <route>
            <from uri="activemq:queue:hydra_command_results_1"/>
            <to uri="oracleTopic:topic:AIS_NET.HP_COM_RES_1?clientId=ActiveMQ&amp;durableSubscriptionName=HP"/>
        </route>
        <!-- Очередь профилей AQ_BI_HYDRA_PROFILES -->
        <route>
            <from uri="oracleTopic:topic:AIS_NET.HP_PROFILES_1?clientId=ActiveMQ&amp;durableSubscriptionName=HP"/>
            <stop/>
            <to uri="activemq:queue:hydra_profiles_1"/>
        </route>
        <!-- Очередь привязок оборудования AQ_BI_HYDRA_EQUIP_BINDS -->
        <route>
            <from uri="oracleTopic:topic:AIS_NET.HP_EQUIPMENT_BINDS_1?clientId=ActiveMQ&amp;durableSubscriptionName=HP"/>
            <stop/>
            <to uri="activemq:queue:hydra_equipment_binds_1"/>
        </route>
        <!-- Очередь сообщений бизнес-хуков AQ_BI_HYDRA_MESSAGES -->
        <route>
            <from uri="oracleTopic:topic:AIS_NET.HYDRA_MESSAGES?clientId=ActiveMQ&amp;durableSubscriptionName=HP"/>
            <stop/>
        </route>
    </camelContext>
...

Директиву to из маршрута удалять не стоит: при необходимости «включения» достаточно будет закомментировать или удалить строку с stop.
После этого все сообщения из очереди Oracle будут разбираться и удаляться исходя из RETENTION в ALL_QUEUES.

...