Возможно вы искали: 'Автобойня'

May 15 2025 18:49:38
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Пример сриптов для учета трафика (ipcad statistic log traffic)

Пример сриптов для учета трафика (ipcad statistic log traffic)

Ключевые слова: ipcad, statistic, log, traffic, (найти похожие документы)

From: Laja aka GNU
Newsgroups: email
Date: Mon, 23 Aug 2006 14:31:37 +0000 (UTC)
Subject: Пример сриптов для учета трафика

Все упоминаемые скрипты можно взять с http://laja.hotbox.ru/trafst/trafst.tgz
или http://www.opennet.ru/soft/trafst.tgz

ДАНО

Шлюз на базе FreeBSD 4.11. Настроенный файервол ipfw, используется
natd (divert правила в файерволе). Правила файервола - в /etc/firewall.conf.

ЦЕЛЬ

Необходимо замерять трафик на шлюзе. Нагрузка на шлюз по возможности
должна быть минимальной. Файлы не должны занимать много места на
диске.

МОТИВАЦИЯ

Аппаратная платформа шлюза слабая. Задачу предпочтительно решать так,
чтобы на шлюзе не требовалось ставить никаких сложных СУБД, биллингов
и т.п. Отчеты предполагается хранить на другой машине во внутренней
сети.

РЕШЕНИЕ

Первоначально автором задача решалась с использованием связки ipcad +
qbe1t (http://sf.net/projects/qbe1t) + скрипты. Однако, хранение
данных о трафике, собранных коллектором ipcad, в текстовом виде
и последующий их анализ утилитой qbe1t, оказался процессом долгим
и не очень гибким. Было решено собранную информацию о трафике все-таки
хранить в неком бинарном виде, запросы к которой будут производиться
гораздо быстрее. Кроме того, бинарный формат займет на диске меньшее
место.

Можно было бы написать свои программы для работы с таким простым
бинарным форматом, однако было решено использовать имеющийся софт.
Запросы подразумевали аггрегацию, группировку данных, наложение
сложных условий, поэтому требовалась поддержка простого и лаконичного
языка запросов, на сегодня это пока еще SQL.

Установка СУБД для поддержки SQL была крайне нежелательной. В качестве
альтернативы был выбран продукт sqlite.

Для написания своих скриптов используется язык Python. Для доступа к
файлу данных sqlite из скриптов Python требуется библиотека (bind)
pyslite.

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

Т.о. схема работы выстроилась такая:

1. Коллектор ipcad собирает информацию
2. Раз в N мин. собираем эту информацию в одном файле (ipcad.db)
3. Раз в месяц по собранной информации за месяц строим отчеты и
отсылаем их по FTP на выделенный сервер, информацию с коллектора
компрессируем и храним указанное число дней. По их истечению -
удаляем эти файлы.

ДОПОЛНИТЕЛЬНОЕ ПО

Для решения задачи требуется добавить некоторое программное обеспечение:

* empty с http://empty.sourceforge.net/ (c) Михаил Захаров
утилита для запуска и иммитации интерактивного взаимодействия с
программами, которые требуют от пользователя ввода каких-л. команд


* ipcad с http://lionet.info/ipcad/ (c) Лев Валкин
коллектор трафика


* python с http://python.org (с) Гвидо ван Россум
интерпретатор языка Python


* sqlite с http://www.sqlite.org/ (c) Ричард Хипп
библиотека для работы с простой однофайловой БД через SQL


* pysqlite с http://initd.org/tracker/pysqlite (c) Герхард Хэринг
bind для sqlite-библиотеки к языку Python


СХЕМА БД

Файл БД будет называться /var/log/ipcad/ipcad.db. В нем будут созданы
две таблицы: stat и dump. В таблице stat будет хранится общая информация
(счетчики ipfw для входного/выходного трафика и т.п.), в таблице dump - вся
информация, собранная по трафику коллектором ipcad.

#sqlite3 /var/log/ipcad/ipcad.db
SQLite version 3.3.7
Enter ".help" for instructions
sqlite> .schema stat
CREATE TABLE stat(
ipfw_in_p int,ipfw_in_b int,ipfw_out_p int,ipfw_out_b int,ipcad_stat text, date int);
sqlite> .schema dump
CREATE TABLE dump(
src text,dst text,packets int,bytes int,srcport int,dstport int,proto int, if text,date int);


Как видно, используются только два типа данных: text и int. Адреса хранятся
как текст в виде: '192.168.1.1', напр. Дата - это момент времени, когда был
сброс информации, т.о. у всех пакетов, прошедших за N минут (дискретизация
"сброса" данных в ipcad.db) будет одно время. Оно имеет тип int и хранится
в виде 150915, что значит 15-ое число 09:15. Месяц не записывается, т.к.:

1) "дискретизация" сброса общей статистики = 1 мес

2) Сброшенная статистика содержит в имени файла (в виде суффикса) месяц
и год

Остальные поля тривиальны:

ipfw_in_p - счетчик пакетов на входящем (divert) правиле ipfw
ipfw_in_b - счетчик байт на входящем (divert) правиле ipfw
ipfw_out_p, ipfw_out_b - аналогично
ipcad_stat - текст, выдаваемый ipcad-ом при вводе rsh 127.0.0.1 stat

Поля таблицы dump - это колонки вывода ipcad-а при rsh 127.0.0.1 sh ip acco

ОПИСАНИЕ РАБОТЫ

Собственно оно уже вырисовывается. Раз в 7 мин по cron-у происходит
сброс данных с коллектора ipcad в /var/log/ipcad/ipcad.db (каталог
должен быть создан самостоятельно!) при помощи скрипта traffl.sh,
вызывающей программу trafstfl.py. Раз в месяц происходит (опять же
по cron) вызов скрипта trafst.sh, который вызывает программу
m4 для генерации по шаблону файла-отчета в HTML-формате.

Запросы исполняет программа trafstq.py, которая выводит результаты
запросов в виде HTML таблиц. В качестве приятного бонуса она "умеет"
выводить результаты любых запросов в виде HTML-таблиц в HTML-документе
либо просто в виде текстового файла. Файл отчет - это HTML документ,
который имеет вид traf.08.2006.html, напр. (месяц, год!). После своего
формирования он отправляется на выделенный сервер по FTP при помощи
утилиты empty. Трафик (ipcad.db) зажимается, имя зажатого файла также
включает суффикс с датой; создается новый ipcad.db.

СКРИПТЫ

Скрипты лежать на http://laja.hotbox.ru/trafst/trafst.tgz
или http://www.opennet.ru/soft/trafst.tgz

Все необходимое находится в каталогах:
./usr - что нужно скопировать в /usr
./etc - что нужно скопировать в /etc
crontab - это содержимое crontab-файла, для "автоматизации" исполнения
в нужное время нужных скриптов.
trafst.sh, known_hosts нужно подправить по своему усмотрению.

ВЫВОД

Установка данного софта крайне проста и не требует много времени.
Конфигурация также максимально проста. Скорость работы высока,
устанавливаемый дополнительный софт занимает крайне мало дискового
пространства. Пожалуй, это очень экономичное решение поставленной
задачи. Данное решение применимо только в SOHO.

Запуск происходит из-под cron-а, который запускает главные
скрипты, написанные на shell. Далее, они используют в качестве
инструментария скрипты, написанные на Python. Такая схема
позволяет легко добавить параллельный анализ статистики через,
например, NetFlow: для этого нужно лишь дополнить Shell-скрипт
trafst.st, который помимо основной своей работы должен "сбросить"
по NetFlow очередную порцию информации с коллектора ipcad на
какую-нибудь машину с установленной биллинговой системой, последняя
может в конце концов даже взаимодействовать с используемой у вас 1С.

БЛАГОДАРНОСТИ

Всем людям, имена которых перечислены после (c), а также персонально
Льву Валкину за оказанную помощь в правильной настройке ipcad!

LICENSED

GNU LGPL - на всякий случай ;)
840 Прочтений •  [Пример сриптов для учета трафика (ipcad statistic log traffic)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Пример сриптов для учета трафика (i... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка