6.1 KiB
Сервисы
— это скрипты которые, зачастую, оформлены в юниты systemd. Сейчас есть такие сервисы:
dhcp_lever
Этот скрипт не очень похож на сервис, т.к. выполняется при каждом запросе от DHCP сервера. Работа DHCP организована так:
- Запрос приходит от абонента с опцией-82, далее с помощью dhcp-relay направляется на dhcp сервер где и находится этот скрипт
- ISC-DHCP-server выполняет этот скрипт, передавая параметры в таком порядке: действие, ip адрес для абонента, мак адрес абонента, мак адрес свича через которые получен запрос, порт свича с которого пришёл запрос.
- Биллинг оповещается через http get запрос о событии в dhcp сервере
- По мак адресу свича и его порту ищется абонент.
- Если он найден то проверяется установлен-ли флаг "Динамические настройки по dhcp" в блоке "Устройство" на странице абонента.
- Если флаг динамических настроек есть то проверяется совпадает ли новый ip с dhcp сервера с тем что есть у абонента, и если он совпадает то ничего не происходит. В противном случае обновляем информацию об абоненте на сервере доступа к сети (NAS - Network Access Server).
Беспокоится о том что не будет обновлена другая информация не нужно, об этом позаботится periodic. А если вам нужно немедленно обновить абонента без ожидания то просто нажмите на кномку Сохранить на странице абонента.
dialing
Этот сервис общается с автоматической телефонной станцией на основе Asterisk. Слушает в ожидании событий и отправляет комманды в asterisk. Пока умеет только смс, слушает входящие и отправляет те что были созданы из web интерфейса.
Настройка — В самом скрипте нужно указать параметры досупа к asterisk, секретное слово, и адрес web сервера биллинга. Секретное слово API_AUTH_SECRET должно совпадать с тем что в настройках биллинга. Но аккуратно, если кто-то узнает это секретное слово то безопасность будет под угрозой, ведь зло настроенный человек или бот сможет выполнять удалённо комманды через api. Правда это если он находится в доверенной подсети, хотя адрес отправителя, как известно, можно подменить. Так что поставьте на этот скрипт ограниченные для чтения права.
telebot
Этот сервис разговаривает с вами когда вы пишете в Telegram канал биллинга.
Настройка — В настройках биллинга укажите telegram bot token в директиве TELEGRAM_BOT_TOKEN. Это вся настройка. Теперь запустите его с помощью юнита djing_telebot.service, предварительно скопировав его в папку с юнитами systemd.
monitoring_agent
Это тоже не совсем сервис, как и dhcp_lever он связывает систему мониторинга с биллингом. Сейчас работает с Nagios, но изменить его для любой другой системы мониторинга совсем не сложно, достаточно подправить параметры приходящиие от этой системы. Каждый раз когда в биллинге происходит событие, Nagios дёргает этот скрипт и он даёт знать биллингу какое устройство не в сети или появилось после сбоя. Дальше биллинг на основе этого посылает оповещения ответственным за участок на котором находится оборудование и выставляет статусы на карте и в списке устройств.
Настройка — Для работы этому скрипту так же надо передать секретное слово биллинга, так что тоже рекомендую ограничить права на чтение. Кроме этого надо указать адрес web сервера биллинга.
periodic
Периодически запускается чтоб проверить совпадает-ли информация в биллинге с тем что находится в NAS. Завершает закончившие действовать услуги, проводит периодические платежи. Просто укажите в cron или systemd.timer этот скрипт на периодичность, например, в пол часа.