diff --git a/README.md b/README.md index cb9c387..63b0309 100644 --- a/README.md +++ b/README.md @@ -6,3 +6,4 @@ ## Содержание * [Установка](./docs/install.md) * [Разработка расширений](./docs/dev.md) +* [Сбор информации трафика по netflow](./docs/netflow.md) diff --git a/docs/bot.md b/docs/bot.md new file mode 100644 index 0000000..8374577 --- /dev/null +++ b/docs/bot.md @@ -0,0 +1,2 @@ +# Оповещения из биллнга +Мгновенная связь с администратором и общение с сотрудниками. diff --git a/docs/install.md b/docs/install.md index 98d6c33..c4ff50e 100644 --- a/docs/install.md +++ b/docs/install.md @@ -1,23 +1,49 @@ -## Установка(не завершил описание): +## Установка: Работа предполагается на python3. Я предпочитаю запускать wsgi сервер на связке uWSGI + Nginx, так что ставить будем соответствующие пакеты. -На ArchLinux нужые пакеты можно установить так: +#####На Fedora25 нужные пакеты можно установить так: + +Для начала подготовим систему, очистим и обновим пакеты. Процесс обновления долгий, так что можно пойти заварить себе чай :) ``` -# pacman -Sy mariadb-clients python3 python-pip nginx uwsgi redis +# dnf clean all +# dnf -y update ``` -На Fedora нужые пакеты можно установить так: + +Затем установим зависимости ``` -# dnf install +# dnf -y install python3 python3-devel python3-pip python3-pillow mariadb uwsgi nginx redis net-snmp net-snmp-libs net-snmp-utils net-snmp-devel net-snmp-python git redhat-rpm-config ``` -Дальше ставим всё для python через pip: + +Условимся что путь к папке с проектом находится по адресу: */var/www/djing*. +Дальше создадим каталок для web, затем обновляем pip и ставим проект через pip: ``` -# pip install git+https://github.com/nerosketch/djing.git +# mkdir /vaw/www +# cd /var/www +# pip3 install --upgrade pip +# git clone https://github.com/nerosketch/djing.git +# pip3 install -r djing/requirements.txt ``` -### Настройка WEB Сервера -Условимся что путь к папке с проектом находится по адресу: +Скопируем конфиги из примеров в реальные: +``` +cd /var/www/djing +cp djing/settings_example.py djing/settings.py +cp agent/settings.py.example agent/settings.py +``` + +Затем отредактируйте конфиги для своих нужд. +Для удобства я создаю пользователя и группу http:http, и всё что связано с web-сервером запускаю от имени http. +``` +groupadd -r http +useradd -l -M -r -d /dev/null -g http -s /sbin/nologin http +chown -R http:http /var/www +chown -R http:http /etc/nginx +chown -R http:http /etc/uwsgi.* +``` + +### Настройка WEB Сервера Конфиг Nginx на моём рабочем сервере выглядит так: user http; @@ -79,8 +105,20 @@ У меня конфиг лежит по адресу /etc/uwsgi.ini -### Настраиваем системные утилиты +### Настраиваем демоны Если ваша система работает с поддержкой *systemd* то в каталоге *systemd_units* проекта вы найдёте юниты для systemd. Скопируйте их в каталог юнитов systemd, у меня это путь */etc/systemd/system*. +__Настоятельно рекомендую заглянуть внутрь этих юнитов__. Проверте пути исполняемых файлов, права и прочее. -А теперь запустим \ No newline at end of file +А теперь включим и запустим нужные демоны +``` +# systemctl daemon-reload +# systemctl enable djing_queue.service +# systemctl start djing_queue.service +# systemctl enable djing_rotate.timer +# systemctl start djing_rotate.timer +# systemctl enable djing_telebot.service +# systemctl start djing_telebot.service +``` +Перед включением юнита *djing_telebot.service* создайте Telegram бота и впишите в файл *djing/settings.py* в переменную *TELEGRAM_BOT_TOKEN* токен вашего бота. +С помощью этого бота вы будете получать различные сообщения из биллинга. Подробнее в инструкции к [модулю оповещений](./docs/bot.md). diff --git a/docs/netflow.md b/docs/netflow.md new file mode 100644 index 0000000..42d5bf5 --- /dev/null +++ b/docs/netflow.md @@ -0,0 +1,23 @@ +### Сбор информации трафика по netflow + +Установим flow-tools + +Fedora: + +> dnf install -y flow-tools flow-tools-devel + +Затем надо собрать утилиту для преобразования flow в запрос для mysql. +Возьмём её из github: +``` +cd /var/www/djing/agent/netflow/ +git clone https://github.com/nerosketch/djing_flow.git djing_flow_git +cd djing_flow_git/ +make +mv djing_flow ../ +cd .. +rm -rf djing_flow_git +``` + +Инструкцию по использованию можно найти на странице [djing_flow](https://github.com/nerosketch/djing_flow). +Посмотреть пример работы можно так: +