Показано с 1 по 5 из 5

Тема: Плагин Custom Trafic для ISPmanager 5 Lite

  1. #1

    Lightbulb Плагин Custom Trafic для ISPmanager 5 Lite

    Расстроившись малость от того, что в ISPmanager 5 Lite вырезали трафик, подумал денек и сделал собственный плагин подсчета трафика пользователей, для ISPmanager 5 Lite. Все бы ничего, но есть вопросик к разработчикам - как добавить сортировку, по объему трафика в таблице (скрин ниже)? Ну ни как не хочет работать сортировка...




    Для тех кто хочет его себе установить (на ваш страх и риск), инструкция ниже.
    Просьба не пинать за код скриптов, писал на досуге, дабы убить скуку, ценные рекомендации приветствуются...
    Установка простая, на примере CentOS 7 (файлы во вложении)


    1. Добавляем еще один формат лога Nginx (var/log/nginx/access.log):

    Код:
    log_format  traf  '$host $body_bytes_sent';
    access_log  /var/log/nginx/trafic.log traf buffer=8k;
    Не забываем перезапустить Nginx
    Таким образом вы добавите еще один лог, где будут указаны только домен и объем переданных данных.


    2. Далее открываем файл traff_out.sh и правим 11 и 14 строку

    Код:
    $trif_arr = array(300 => 30000, 600 => 50000, 1000 => 100000, 2000 => 150000);
    Поскольку в информации о пользователях нет информации о шаблоне и в шаблонах нет лимитов на трафик.
    Поэтому я присвоил лимиты на трафик по объему дискового пространства пользователей.
    В данном примере: дисковое пространство => лимит трафика
    Вам достаточно просто установить свои значения.

    Код:
    host="https://x.x.x.x:1500" features="xxx"
    host - меняем x.x.x.x на ваш IP
    features - понятия не имею что это и насколько оно необходимо (просветите дремучего), но можно посмотреть в исходном коде страницы ISPmanager, там JS скрипт, строка features: ""


    3. Копируем файлы в папки, список файлов вместе с правами ниже

    Код:
    /usr/local/mgr5/etc/xml/ispmgr_mod_mytrafic.xml - 644 root root
    /usr/local/mgr5/addon/mytrafic - 755 root root
    /usr/local/bin/traff_day.sh - 755 root root
    /usr/local/bin/traff_info.sh - 755 root root
    /usr/local/bin/traff_out.sh - 755 root root
    /etc/logrotate.d/trafic - 644 root root

    4. Добавляем задание Cron (Планировщик)

    Код:
    /usr/local/bin/traff_info.sh && /usr/local/bin/traff_day.sh
    50 * * * *

    5. Перерезапускаем панель
    killall core


    Если все правильно сделано, после перезапуска панели. в меню раздел Статистика, появится кнопка Трафик.
    Вложения Вложения
    Последний раз редактировалось Pegas-x; 21.06.2016 в 22:39. Причина: Изменены файлы во вложении и описание установки

  2. #2
    Senior Member
    Регистрация
    09.04.2013
    Адрес
    Москва
    Сообщений
    2,063

    По умолчанию

    Можно создать отдельный лог файл для трафика
    куда будет писаться только имя домена + объём трафика
    Профит: как минимум в разы меньше объёмы перерабатываемой информации скриптом, при подсчёте трафика + я бы добавил при подсчёте трафика зачистку лога nginx, а стату плюсовал бы
    Тогда объём инфы в логе nginx ещё упадёт (до 24 раз)
    Ибо при существенной нагрузке (есть ноды с nginx логами в десятки GB)
    php скрипт будет ужасно медленным на разборе инфы

  3. #3

    По умолчанию

    По логу Nginx, так это у кого какой объем трафика, по сути там хватит только домена и объема данных (каждый заточит под себя).
    Если объем данных большой, то достаточно будет:

    Код:
    log_format  main  '$host $body_bytes_sent';
    Статистика и так плюсуется в отдельный лог (ротация месяц), так что лог Nginx нужен только на время сбора данных.
    Писал на PHP потому как иными языками владею плохо, если есть желание переписать на bash буду только за!

    Любые полезные нововведения и оптимизация работы плагина - приветствуются.
    Последний раз редактировалось Pegas-x; 20.06.2016 в 20:21.

  4. #4
    Member
    Регистрация
    16.12.2017
    Сообщений
    35

    По умолчанию

    Плагин поставил, лог пишется. Но при этом в статистике трафика значения не меняются. Остаётся ноль. Ручное выполнение команд тоже не даёт результата. Куда смотреть в сценариях, что бы это как-то поправить? Стоит Centos 7 ISPmanager Lite 5.168.0

  5. #5
    Junior Member
    Регистрация
    08.07.2013
    Сообщений
    6

    По умолчанию

    поставил все как росписано, но выбивает ошибка
    https://www.dropbox.com/s/keyknunucc...51-16.png?dl=0
    единственое система Debian
    и поправил в файлах
    traff_info.sh

    #!/bin/bash

    есть у кого то идеи почему?

    для теста проверил xml
    /usr/local/bin/traff_out.sh > traff.xml
    создается не битый

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •