Полезные скрипты для обработки записанных пакетов
К сожалению, TMeter не имеет встроенного средства для построения отчетов из базы данных собранных пакетов. В качестве помощи в создании собственных отчетов, здесь размещены несколько примеров скриптов для Microsoft SQL Server.
1. Подсчет общего количества трафика для каждого фильтра
select filterid, sum(sent),sum(recv) from packets group by filterid |
2. Подсчет общего количества трафика для каждого фильтра за определенный день
select filterid as filterid, sum(sent) as sent, sum(recv) as recv from packets where datediff(day,'2002-11-24',ts)=0 group by filterid order by filterid |
3. Подсчет общего количества трафика для каждого фильтра за определенный месяц
select filterid as filterid, sum(sent) as sent, sum(recv) as recv from packets where datediff(month,'2002-11-01',ts)=0 group by filterid order by filterid |
4. Подсчет общего количества трафика для определенного фильтра за каждый день определенного месяца
Переменная @dd должна быть установлена первым днем месяца, для которого вы хотите сформировать отчет.
declare @dd datetime set @dd='2002-11-01' select datediff(day,@dd,ts) as mday, sum(sent) as sent, sum(recv) as recv from packets where (filterid=1 AND (datediff(month,@dd,ts)=0)) group by datediff(day,@dd,ts) order by datediff(day,@dd,ts) |
Приме выше использует даты с нулевым индексом. Т.е. первый день месяца будет 0, второй день - будет 1 и т.д. Для избежания этой проблемы, вы можете использовать промежуточную временную таблицу:
drop table #p1 go declare @dd datetime set @dd='2002-11-01' select datediff(day,@dd,ts) as mday, sum(sent) as sent, sum(recv) as recv into #p1 from packets where (filterid=1 AND (datediff(month,@dd,ts)=0)) group by datediff(day,@dd,ts) go update #p1 set mday=mday+1 go select * from #p1 order by mday |
5. Вычисление общего количества трафика для каждого хоста определенного фильтра за определенный месяц.
select dst_ip, sum(sent) as sent, sum(recv) as recv from packets where (filterid=1 AND (datediff(month,'2002-11-01',ts)=0)) group by dst_ip |