NetUP 5.1.9.005(NetUP UTM billing system core. Compile date:
Oct 21 2004 20:33:54, Version:5.1.9-005-linux)
Вопрос собран из общения со службой поддежки(хотлайн).
Вынес в форум, т.к. отвечают долго, а решение данной проблемы требуется срочно.
Ситуация следующая: до некоторого момента для обсчета статичтики формировали .sh файл и загоняли через flowgen, статистика обрабатывалась примерно на 2-3ий день.
Потом поставили в онлайн, статистика поступает в формате NetFlow V5, но обрабатывается она либо ОЧЕНЬ медленно(несколько байт за период агрегации 15 мин.) либо не обрабатывается вообще. Судя по логам Postgresql обращения к базе идут.
То того момента, когда начали "загонять" на сервер данные NetFlow через ваш flowgen, мы использовали flow-send и слали данные из сформировавшихся файлов NetFlow на сервер с NetUP на тот же порт 2055, это работало, статистика формировалась, с задержкой примерно такой же, что и при формировании через flowgen, просто flow-send сам по себе слал дольше чем flowgen(около 23 часов flow-send слал и около 1,5-2 часов через flowgen - после этого конечный результат формировался на 2-3 день, что в принципе, устраивало нас для выписки счетов, но на текущий момент есть необходимость видить все данные on-line, пусть даже с задержкой на время агрегации данных). Сейчас ситуация по настройкам совершенно не изменилась, теже данные поступают на порт 2055 в формате NetFlow v5, но не формируют результативные данные по статистике трафика.
C Cisco "валиться" netflow на порт 2055, в настройках UTM стоит nfbuffer_port=2055.
Не собирается трафик, не создаются файлы *raw.dbs!
Код: Выделить всё
utm5.cfg:
database_type=postgres
database=UTM5
#database_host=localhost
database_login=postgres
#database_password=
#database_sock_path=/tmp/mysql.sock
urfa_bind_host=0.0.0.0
#urfa_lib_file=/netup/utm5/lib/utm5_core/librpclib.so
urfa_lib_file=/netup/utm5/lib/utm5_hotspot/liburfa-hotspot.so
#urfa_lib_file=/netup/utm5/lib/utm5_core/liburfa-npo.so
urfa_lib_file=/netup/utm5/lib/utm5_core/liburfa-card.so
urfa_lib_file=/netup/utm5/lib/utm5_core/liburfa-utils.so
urfa_lib_file=/netup/utm5/lib/utm5_core/liburfa-graph.so
urfa_lib_file=/netup/utm5/lib/utm5_core/liburfa-std.so
urfa_lib_file=/netup/utm5/lib/utm5_radius/liburfa-radius.so
nfbuffer_port=2055
cgi_bin_path=/var/www/localhost/cgi-bin
template_path=/var/www/localhost/cgi-bin/utm5/template
html_docs_path=/var/www/localhost/htdocs
graph_path=/var/www/localhost/htdocs/utm_graph
utm_path=/netup/utm5
sudo_path=/usr/bin/sudo
log_level=3
log_file_main=/netup/utm5/log/main.log
log_file_debug=/netup/utm5/log/debug.log
log_file_critical=/netup/utm5/log/main.log
Код: Выделить всё
#ls -la /netup/utm5/db
total 54234
drwxr-xr-x 2 root root 88 Dec 3 17:38 .
drwxr-xr-x 6 root root 656 Feb 1 09:54 ..
-rw-r--r-- 1 root root 57147392 Feb 4 15:16
iptraffic_raw.dbs
Код: Выделить всё
variable | value
-----------------------------+------------
raw_max_files | 10
raw_max_size | 100000000
raw_cleanup_sleep | 1800000000
traffic_agregation_interval | 900
flow_discounts_per_period | 64
flow_discount_random_coef | 0.0001
aggregation_todisc_barrier | 5
Пакеты идут:
Код: Выделить всё
# tethereal -i any -R "udp.port == 2055"
Capturing on any
0.068263 x.x.x.x -> y.y.y.y CFLOW total: 30 (v5) flows
1.068246 x.x.x.x -> y.y.y.y CFLOW total: 30 (v5) flows
1.068486 x.x.x.x -> y.y.y.y CFLOW total: 30 (v5) flows
3.068318 x.x.x.x -> y.y.y.y CFLOW total: 30 (v5) flows
3.068558 x.x.x.x -> y.y.y.y CFLOW total: 30 (v5) flows
4.068538 x.x.x.x -> y.y.y.y CFLOW total: 30 (v5) flows
5.068416 x.x.x.x -> y.y.y.y CFLOW total: 30 (v5) flows
6.068436 x.x.x.x -> y.y.y.y CFLOW total: 30 (v5) flows
7.068491 x.x.x.x -> y.y.y.y CFLOW total: 30 (v5) flows
8.068630 x.x.x.x -> y.y.y.y CFLOW total: 30 (v5) flows
8.069134 x.x.x.x -> y.y.y.y CFLOW total: 30 (v5) flows
9.068781 x.x.x.x -> y.y.y.y CFLOW total: 30 (v5) flows
Перед стартом на час
Код: Выделить всё
# date
Tue Feb 8 11:31:55 YEKT 2005
# ls -l /netup/utm5/db/iptraffic_raw.dbs
-rw-r--r-- 1 root root 73924608 Feb 8 11:14
/netup/utm5/db/iptraffic_raw.dbs
# tethereal -i any -R "udp.port == 2055" > /root/flowtmp.dat
Код: Выделить всё
# date
Tue Feb 8 12:32:11 YEKT 2005
# ls -l /netup/utm5/db/iptraffic_raw.dbs
-rw-r--r-- 1 root root 74039296 Feb 8 11:56
/netup/utm5/db/iptraffic_raw.dbs
# wc -l /root/flowtmp.dat
5632 /root/flowtmp.dat
Код: Выделить всё
# killall -HUP utm5_core
# tail /netup/utm5/log/main.log
...
NFBuffer: queue size 17320655
Код: Выделить всё
# date
Wed Feb 9 16:55:06 YEKT 2005
# killall -HUP utm5_core
# tail /netup/utm5/log/main.log | grep NFBuffer
-Stats : Feb 09 16:55:07 NFBuffer: queue size 17466155
-Stats : Feb 09 16:55:07 NFBuffer: Stats for 250s.
(uptime 703368). Events: 11640 (all 18341015); Errors: 0 (all 0)
# ls -l /netup/utm5/db/iptraffic_raw.dbs
-rw-r--r-- 1 root root 78184448 Feb 9 16:01
/netup/utm5/db/iptraffic_raw.dbs
# tethereal -i any -R "udp.port == 2055" > /root/flowtmp.dat &
# sleep 60m
# date
Wed Feb 9 17:55:13 YEKT 2005
# killall tethereal
# killall -HUP utm5_core
# tail /netup/utm5/log/main.log | grep NFBuffer
-Stats : Feb 09 17:55:13 NFBuffer: queue size 17612675
-Stats : Feb 09 17:55:13 NFBuffer: Stats for 3606s.
(uptime 706974). Events: 146520 (all 18487535); Errors: 0
(all 0)
# ls -l /netup/utm5/db/iptraffic_raw.dbs
-rw-r--r-- 1 root root 78184448 Feb 9 16:01
/netup/utm5/db/iptraffic_raw.dbs
# wc -l /root/flowtmp.dat
4882 /root/flowtmp.dat
wc -l /root/flowtmp.dat - 4882 записи
NFBuffer - 158160 событий(18487535-18329375) и разница queue
size в 146520
100-(4882*100/146520)=96,66% Расхождение БОЛЕЕ одного процента.
Детальная статистика за 1 час с 16:55 по 17:56 есть!
Проверили Netflow - идет именно в V5 и обрабатывается на другом сервера (старый учет, не NetUP), то есть идет нормальный NetFlow поток версии 5.
Посмотрел, создался второй файл dbs:
Код: Выделить всё
# ls -l /netup/utm5/db/
total 101448
-rw-r--r-- 1 root root 11812864 Feb 14 09:39
iptraffic_raw.dbs
-rw-r--r-- 1 root root 100007936 Feb 12 09:45
iptraffic_raw_1108183555.dbs
Если конечно поможет: в памяти весит
/netup/utm5/bin/safe_utm5_core, хотя он и раньше весел,
когда файлики создавались нормально.
И очень нагружен postgres(20% CPU) и в логах его падает, что
UTM5 c ним активно работает, идет череда select, insert,
update - то есть UTM принимает какие-то данные и пытается их
обработать.
Если это чем-то помогло, надеюсь на скорое решение нашей проблемы, так как это очень критично, конец периода, нужно будет выставлять счета.