А Ð¼Ð¾Ð¶ÐµÑ‚ Ð»ÑƒÑ‡ÑˆÐµ ipcad? Ð¾Ð½ ÐµÑ‰Ðµ Ð¿Ñ€Ð¾Ñ‰Ðµ. Ð¿Ð¾ rsh Ð¿Ð¾Ð»ÑƒÑ‡Ð°Ñ‚ÑŒ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÑÑ‡ÐµÑ‚чиков netflow. ÐŸÐ¾ netflow ÐµÐ¶ÐµÐ»Ð¸ Ñ‡Ñ‚о Ð¼Ð¾Ð¶Ð½Ð¾ Ð¸Ñ… ÐºÑƒÐ´Ð°-то Ð¾Ñ‚давать.<br><br><div><span class="gmail_quote">2007/11/24, Grigory Batalov &lt;<a href="mailto:bga@altlinux.org">
bga@altlinux.org</a>&gt;:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">&nbsp;&nbsp;Здравствуйте!<br><br>&nbsp;&nbsp;Мне Ð½ÑƒÐ¶Ð½Ð¾ Ð½Ð°Ð¿Ð¸ÑÐ°Ñ‚ÑŒ Ð¼Ð¾Ð´ÑƒÐ»ÑŒ Ð°Ð»ÑŒÑ‚ератора Ð´Ð»Ñ ÑƒÑ‡Ñ‘та Ñ‚рафика Ð² Ñ€Ð°Ð¼ÐºÐ°Ñ…
<br>Office Server. ÐžÑ†ÐµÐ½Ð¸Ñ‚е Ð¸Ð´ÐµÑŽ, ÐºÑ‚о Ð² Ñ‚еме.<br><br>&nbsp;&nbsp;Наиболее Ð¿Ñ€Ð¾ÑÑ‚ым ÐºÐ°Ð¶ÐµÑ‚ся Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒ ulogd Ð¸ sqlite, Ð¿Ð¾ÑÐºÐ¾Ð»ÑŒÐºÑƒ ÑÑ‚о<br>самодостаточные Ð¿Ð°ÐºÐµÑ‚Ñ‹, Ð¸ Ð¼ÐµÐ¶Ð´Ñƒ Ð½Ð¸Ð¼Ð¸ Ð½Ðµ Ñ‚ребуется Ð¿Ñ€Ð¾ÑÐ»Ð¾Ð¹ÐºÐ¸. Ð¢Ð°Ðº Ñ‡Ñ‚о<br>я Ð´Ð¾Ð±Ð°Ð²Ð¸Ð» Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð°:<br><br>
# iptables --insert INPUT -j ULOG --ulog-nlgroup 1 --ulog-cprange 48 --ulog-qthreshold 50 --ulog-prefix &quot;icount&quot;<br># iptables --insert OUTPUT -j ULOG --ulog-nlgroup 1 --ulog-cprange 48 --ulog-qthreshold 50 --ulog-prefix &quot;ocount&quot;
<br># iptables --insert FORWARD -j ULOG --ulog-nlgroup 1 --ulog-cprange 48 --ulog-qthreshold 50 --ulog-prefix &quot;fcount&quot;<br><br>и Ð½Ð°ÑÑ‚роил ulogd-sqlite3 Ð½Ð° /var/lib/ulogd/sqlite3.db<br><br>&nbsp;&nbsp;Всё Ð±Ñ‹ Ñ…орошо, Ð½Ð¾ Ð¿Ð°ÐºÐµÑ‚ов Ð¿Ñ€Ð¸Ñ…одит Ð¼Ð½Ð¾Ð³Ð¾, Ð±Ð°Ð·Ð° Ñ€Ð°ÑÑ‚ёт, Ð° Ð¿Ð¾Ñ‚енциальные
<br>пользователи Office Server Ð²Ñ€ÑÐ´ Ð»Ð¸ Ð±ÑƒÐ´ÑƒÑ‚ Ð·Ð° Ð½ÐµÐ¹ ÑÐ»ÐµÐ´Ð¸Ñ‚ÑŒ Ð¸ Ñ‡Ð¸ÑÑ‚ить.<br>Поэтому Ñ Ð²Ð½Ñ‘с Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð² ÑÑ…ему Ð±Ð°Ð·Ñ‹ (cм. Ð½Ð¸Ð¶Ðµ).<br><br>&nbsp;&nbsp;При Ð²ÑÑ‚авке (INSERT) Ð½Ð¾Ð²Ð¾Ð¹ ÑÑ‚роки Ð´Ð»Ð¸Ð½Ð° Ð¿Ð°ÐºÐµÑ‚а Ñ‚риггером Ð´Ð¾Ð±Ð°Ð²Ð»ÑÐµÑ‚ся<br>к ÑÑƒÑ‚очному ÑÑ‡Ñ‘тчику (в ÑÐ¾Ð¾Ñ‚ветствии Ñ Ð¿Ñ€Ð¾Ñ‚околом, IP, Ð¿Ð¾Ñ€Ñ‚ами Ð¸ Ð¿Ñ€.), Ð°
<br>строка Ñ‚ут Ð¶Ðµ ÑƒÐ´Ð°Ð»ÑÐµÑ‚ся. Ð¡Ñ‡Ñ‘тчик ÑÐ½Ð°Ñ‡Ð°Ð»Ð° Ð¿Ñ‹Ñ‚ается Ð²ÑÑ‚авиться (INSERT OR<br>IGNORE - ÐµÑÐ»Ð¸ ÑƒÐ¶Ðµ ÐµÑÑ‚ÑŒ, Ð¼Ð¾Ð»Ñ‡Ð° Ð¸Ð´Ñ‘м Ð´Ð°Ð»ÑŒÑˆÐµ) Ð² ÑÑƒÑ‚очную Ñ‚аблицу (ulog_daily),<br>а Ð·Ð°Ñ‚ем ÑƒÐ²ÐµÐ»Ð¸Ñ‡Ð¸Ð²Ð°ÐµÑ‚ся Ð½Ð° Ð´Ð»Ð¸Ð½Ñƒ Ð¿Ð°ÐºÐµÑ‚а UPDATE-ом.<br><br>&nbsp;&nbsp;Поскольку Ð² Ð°Ð»ÑŒÑ‚ераторе Ð½Ðµ Ð±ÑƒÐ´ÐµÑ‚ Ð¿Ð¾Ð´Ñ€Ð¾Ð±Ð½Ñ‹Ñ… ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ð¹, Ð²Ñ€ÐµÐ¼Ñ Ð¾ÐºÑ€ÑƒÐ³Ð»ÑÐµÑ‚ся
<br>до ÑÑƒÑ‚ок. ÐŸÐ¾ ulog_daily ÑÑ‚роится Ð¸Ð½Ð´ÐµÐºÑ Ð´Ð»Ñ ÑÐºÐ¾Ñ€ÐµÐ¹ÑˆÐµÐ³Ð¾ Ð¿Ð¾Ð¸ÑÐºÐ°. Ð’ходной/выходной<br>интерфейсы, Ð¿Ð¾Ñ€Ñ‚Ñ‹ tcp/udp Ð¿Ñ€Ð¸ Ð²ÑÑ‚авке Ð² ulog_daily ÑÐºÐ»Ð°Ð´Ñ‹Ð²Ð°ÑŽÑ‚ся, Ð¿Ð¾ÑÐºÐ¾Ð»ÑŒÐºÑƒ<br>одновременно Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ся Ñ‚олько Ð¾Ð´Ð¸Ð½ Ð¸Ð· Ð¿Ð°Ñ€Ñ‹.<br><br>&nbsp;&nbsp;Ввод Ñ‚акой ÑÑ…емы Ð´Ð°Ñ‘Ñ‚ 16-кратную ÑÐºÐ¾Ð½Ð¾Ð¼Ð¸ÑŽ Ð¼ÐµÑÑ‚Ð°, Ð¿Ñ€Ð¸ Ñ‚ом, Ñ‡Ñ‚о ÑÐºÐ¾Ñ€Ð¾ÑÑ‚ÑŒ
<br>падает Ð¿Ñ€Ð¸Ð¼ÐµÑ€Ð½Ð¾ Ð² 4 Ñ€Ð°Ð·Ð°: Ð´Ð°Ð¼Ð¿ Ð½Ð° 360 Ñ‚ысяч ÑÑ‚рок Ð·Ð°Ð»Ð¸Ð»ÑÑ Ñ‡ÑƒÑ‚ÑŒ Ð±Ð¾Ð»ÑŒÑˆÐµ,<br>чем Ð·Ð° Ð¼Ð¸Ð½ÑƒÑ‚у (на Athlon 64 X2 3600) Ð¿Ñ€Ð¾Ñ‚ив 15 ÑÐµÐºÑƒÐ½Ð´ Ð¿Ð¾ ÑÑ‚арой ÑÑ…еме.<br>Мне ÐºÐ°Ð¶ÐµÑ‚ся, ÑÑ‚о Ð¿Ñ€Ð¸ÐµÐ¼Ð»Ð¸Ð¼Ð¾.<br><br>&nbsp;&nbsp;Покритикуйте, ÐµÑÐ»Ð¸ Ñ Ñ‡Ñ‚о-нибудь ÑƒÐ¿ÑƒÑÑ‚ил.
<br><br>--- &gt;8 ---<br>CREATE TABLE ulog (<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;raw_mac&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR(80),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oob_time_sec&nbsp;&nbsp;&nbsp;&nbsp;INT UNSIGNED,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oob_time_usec&nbsp;&nbsp; INT UNSIGNED,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oob_prefix&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VARCHAR(32),
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oob_in&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VARCHAR(32),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oob_out&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR(32),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ip_saddr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VARCHAR(16),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ip_daddr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VARCHAR(16),
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ip_protocol&nbsp;&nbsp;&nbsp;&nbsp; TINYINT UNSIGNED,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ip_totlen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SMALLINT UNSIGNED,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tcp_sport&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SMALLINT UNSIGNED,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tcp_dport&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SMALLINT UNSIGNED,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;udp_sport&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SMALLINT UNSIGNED,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;udp_dport&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SMALLINT UNSIGNED,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;udp_len&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SMALLINT UNSIGNED,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;icmp_type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TINYINT UNSIGNED,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;icmp_code&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TINYINT UNSIGNED,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;icmp_echoid&nbsp;&nbsp;&nbsp;&nbsp; SMALLINT UNSIGNED,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;icmp_echoseq&nbsp;&nbsp;&nbsp;&nbsp;SMALLINT UNSIGNED,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;icmp_gateway&nbsp;&nbsp;&nbsp;&nbsp;INT UNSIGNED,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;icmp_fragmtu&nbsp;&nbsp;&nbsp;&nbsp;SMALLINT UNSIGNED<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br>CREATE TABLE ulog_daily (<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;time&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INT UNSIGNED,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prefix&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VARCHAR(32),
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iface&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR(32),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;saddr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR(16),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;daddr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR(16),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;protocol&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TINYINT UNSIGNED,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sport&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SMALLINT UNSIGNED,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dport&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SMALLINT UNSIGNED,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INTEGER<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br>CREATE UNIQUE INDEX ulog_daily_idx ON ulog_daily
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(time, prefix, iface, saddr, daddr, protocol, sport, dport);<br>CREATE TRIGGER aggregate AFTER INSERT ON ulog<br>BEGIN<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INSERT OR IGNORE INTO ulog_daily (<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;time,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prefix,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iface,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;saddr,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;daddr,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;protocol,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sport,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dport,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bytes<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;) values (<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NEW.oob_time_sec/86400*86400,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NEW.oob_prefix,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NEW.oob_in || NEW.oob_out,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NEW.ip_saddr,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NEW.ip_daddr,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NEW.ip_protocol,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ifnull (
NEW.tcp_sport, 0) + ifnull (NEW.udp_sport, 0),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ifnull (NEW.tcp_dport, 0) + ifnull (NEW.udp_dport, 0),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UPDATE ulog_daily<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SET<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bytes = bytes + 
NEW.ip_totlen<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHERE<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;time = NEW.oob_time_sec/86400*86400 AND<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prefix = NEW.oob_prefix AND<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iface = NEW.oob_in || NEW.oob_out AND<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;saddr = 
NEW.ip_saddr AND<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;daddr = NEW.ip_daddr AND<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;protocol = NEW.ip_protocol AND<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sport = ifnull (NEW.tcp_sport, 0) + ifnull (NEW.udp_sport, 0) AND<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dport = ifnull (
NEW.tcp_dport, 0) + ifnull (NEW.udp_dport, 0);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DELETE from ulog WHERE ROWID = NEW.ROWID;<br>END;<br><br>--<br> Grigory Batalov,<br> ALT Linux Team<br><br>_______________________________________________<br>Devel mailing list
<br><a href="mailto:Devel@lists.altlinux.org">Devel@lists.altlinux.org</a><br><a href="https://lists.altlinux.org/mailman/listinfo/devel">https://lists.altlinux.org/mailman/listinfo/devel</a><br><br></blockquote></div><br>