Глава 11. Приложение Б

Oписание формата файлов /var/stargazer/admins/*.adm.

В каталоге /var/stargazer/admins (путь может быть изменен в настройках плагина store_files) находятся файлы содержащие параметры администраторов системы. Имя файла имеет вид: <login>.adm, где <login> — логин администратора. Файл имеет формат «ключ-значение». Каждая строка файла содержит название параметра и его значение, разделенные знаком «=», или коментарий начинающийся с символа «#». Допустимы следующие параметры:

  • Password — пароль администратора в зашифрованном виде;

  • ChgStat — право на изменение статистики абонента, может принимать значения 0 и 1;

  • ChgConf — право на изменение данных учетной записи абонента, может принимать значения 0 и 1;

  • ChgCash — право на изменение состояния счета абонента, может принимать значения 0 и 1;

  • ChgPassword — право на изменение пароля абонента, может принимать значения 0 и 1;

  • UsrAddDel — право на добавление и удаление абонентов, может принимать значения 0 и 1;

  • ChgAdmin — право на изменение параметров администраторов системы а также их добавление и удаление, может принимать значения 0 и 1;

  • ChgTariff — право на добавление, удаление и изменение тарифов, может принимать значения 0 и 1.

Описание формата файлов /var/stargazer/users/*/*.

Данные абонентов хранятся в каталогах вида /var/stargazer/users/<login>, где <login> — логин абонента. В каталогах содержатся файлы conf, stat, stat.<YYYY>.<MM>, stat2.<YYYY>.<MM>, log, log2 и подкаталоги messages и detail_stat. Файл conf содержит данные учетной записи абонента, файл stat содержит статистику абонента за последний месяц, файлы stat.<YYYY>.<MM> и stat2.<YYYY>.<MM> содержат статистику абонента за предыдущие месяцы. Они различаются только полнотой представления — файл stat2.<YYYY>.<MM> содержит больше информации. Файлы log и log2 содержат журнал изменений (в том числе подключений и отключений). Файл log2 идентичен файлу log за исключением того что при отключении абонента в него пишется причина отключения. Подкаталог messages содержит файлы с сообщениями абоненту. Имена файлов представляют собой метку времени создания сообщения в формате UNIX Timestamp. Подкаталог detail_stat содержит в себе детальную статистику абонента, разбитую по годам, месяцам и дням: <YYYY>/<MM>/<DD>. Файлы учетной записи, статистики и детальной статистики представлены в формате «ключ-значение». Каждая строка файла состоит из названия параметра и его значения разделенных символом «=», пустые строки и строки начинающиеся с символа «#» (комментарии) игнорируются.

Описание параметров файла conf:

  • Password — пароль абонента (в открытом виде);

  • IP — список IP-адресов, разделенных запятой, с которых разрешена авторизация абонента (может содержать * — авторизация разрешена с любого адреса);

  • Tariff — название текущего тарифного плана абонента;

  • TariffChange — название тарифного плана, который будет установлен в начале следующего месяца (может быть пустым);

  • Credit — величина кредита абоненту;

  • CreditExpire — дата истечения срока кредитования абонента в формате UNIX Timestamp (может содержать 0 — «вечный» кредит);

  • DisabledDetailStat — параметр, отключающий ведение детальной статистики для абонента, может принимать значения 0 и 1;

  • Down — принудительное отключение абонента, может принимать значения 0 и 1;

  • Passive — «заморозка» абонента (для таких абонентов запрещена авторизация и не снимается абонентская плата), может принимать значения 0 и 1;

  • RealName — реальные ФИО абонента, текстовое поле;

  • Address — почтовый адрес абонента в произвольном формате, текстовое поле;

  • Phone — номера телефонов абонентов в произвольном формате, текстовое поле;

  • Note — примечание, текстовое поле;

  • Email — адрес электронной почты абонента, текстовое поле;

  • Group — группа в которую входит абонент, текстовое поле;

  • AlwaysOnline — включение доступа без авторизации, может принимать значение 0 или 1, для функционирования требует плагин auth_ao;

  • CreationTime — момент создания учетной записи абонента, UNIX Timestamp;

  • Userdata0 ... Userdata9 — дополнительные текстовые параметры которые могут содержать вспомогательную информацию.

Описание параметров файла stat:

  • U0 … U9, D0 … D9 — текущие данные о трафике абонента в байтах по направлениям;

  • Cash — состояние счета абонента;

  • FreeMb — количество «бесплатных мегабайт» у абонента (в деньгах);

  • LastActivityTime — момент последней активности абонента, UNIX Timestamp;

  • LastCashAdd — последнее изменение счета абонента;

  • LastCashAddTime — момент последнего изменения счета абонента, UNIX Timestamp;

  • PassiveTime — количество секунд проведенное в состоянии «заморожен».

Описание параметров файла stat.<YYYY>.<MM>

  • U0 … U9, D0 … D9 — данные о трафике абонента в байтах по направлениям на конец месяца;

  • Cash — состояние счета абонента на конец месяца;

Описание параметров файла stat2.<YYYY>.<MM>

  • U0 … U9, D0 … D9 — данные о трафике абонента в байтах по направлениям на конец месяца;

  • Cash — состояние счета абонента на конец месяца;

  • FreeMb — количество «бесплатных мегабайт» у абонента (в деньгах) на конец месяца;

  • LastActivityTime — момент последней активности абонента, UNIX Timestamp;

  • LastCashAdd — последнее изменение счета абонента;

  • LastCashAddTime — момент последнего изменения счета абонента, UNIX Timestamp;

  • PassiveTime — количество секунд проведенное в состоянии «заморожен».

Описание формата файлов /var/stargazer/tariff/*.tf.

Файлы /var/stargazer/tariffs/*.tf содержат информацию о тарифах. Имя файла имеет вид <name>.tf, где <name> — название тарифа. Файл имеет формат «ключ-значение». Каждая строка файла содержит название параметра и его значение разделенные символом «=», пустые строки и строки начинающиеся с символа «#» (коментарии) игнорируются.

Описание тарифа состоит из общих параметров и параметров специфичных для каждого направления. Параметры описывающие направления содержат в своем названии номер направления к которому они относятся.

Описание параметров файла тарифов:

  • Fee — величина абонентской платы;

  • Free — количество «бесплатных мегабайт» входящих в абонентскую плату (в деньгах);

  • PassiveCost — стоимость «заморозки» абонента;

  • TraffType — тип тарификации трафика:

    • up+down — входящий и исходящий трафик тарифицируется суммарно;

    • up — тарифицируется только исходящий трафик;

    • down — тарифицируется только входящий трафик;

    • max — тарифицируется большее количество трафика;

  • Period — тип абонплаты:

    • day — ежедневная абонплата (параметр Fee трактуется как значение списываемое ежедневно);

    • month — ежемесячная абонплата (классическая, параметр Fee трактуется как значение списываемое за месяц, в том числе в режиме SpreadFee);

  • ChangePolicy — политика смены тарифа:

    • allow — на период действия политики смена тарифного плана разрешена;

    • to_cheap — на период действия политики разрешена смена тарифного плана на более дешевый;

    • to_expensive — на период действия политики разрешена смена тарифного плана на более дорогой;

    • deny — на период действия политики смена тарифного плана запрещена;

  • ChangePolicyTimeout — момент завершения действия политики тарификации (0 - политика тарификации не завершается никогда);

  • PriceDayA0 … PriceDayA9 — цена трафика по соответствующему направлению в дневной период до превышения порога;

  • PriceDayB0 … PriceDayB9 — цена трафика по соответствующему направлению в дневной период после превышения порога;

  • PriceNightA0 … PriceNightA9 — цена трафика по соответствующему направлению в ночной период до превышения порога;

  • PriceNightB0 … PriceNightB9 — цена трафика по соответствующему направлению в ночной период после превышения порога;

  • Threshold0 … Threshold9 — величина порога по каждому из направлений в байтах;

  • Time0 ... Time9 — интервал времени считающийся «дневным» (остальное время считается «ночным») в формате HH1:MM1-HH2:MM2;

  • SinglePrice0 ... SinglePrice9 — отключает «пороговую» тарификацию (трафик при этом считается по допороговой цене), может принимать значения 0 и 1;

  • NoDiscount0 … NoDiscount9 — отключает тарификацию по времени (трафик при этом считается по «дневной» цене), может принимать значения 0 и 1.