6 changed files with 31 additions and 94 deletions
-
19agent/netflow/netflow_collect.sh
-
69agent/netflow/netflow_handler.py
-
6agent/netflow/netflow_handler.sh
-
9agent/netflow/start_netflow.sh
-
17docs/netflow.md
-
5install/install_debian.sh
@ -1,69 +0,0 @@ |
|||
#!/usr/bin/env python3 |
|||
import MySQLdb |
|||
import sys |
|||
import os |
|||
from importlib import import_module |
|||
|
|||
|
|||
USING_DB = 'default' |
|||
|
|||
|
|||
if __name__ == '__main__': |
|||
if len(sys.argv) < 2: |
|||
print("File name of netflow required") |
|||
exit(1) |
|||
|
|||
FNAME = sys.argv[1] |
|||
|
|||
cur_dir = os.path.dirname(os.path.abspath(__file__)) |
|||
tmp_dir = '/tmp/djing_flow' |
|||
tmp_ipuser_file = '/tmp/ipuser.txt' |
|||
tmp_dump_file = '%s/djing_flow_dump.tmp' % tmp_dir |
|||
|
|||
os.chdir(cur_dir) |
|||
if not os.path.isdir(tmp_dir): |
|||
os.mkdir(tmp_dir) |
|||
os.rename('/tmp/djing_flow/%s' % FNAME, tmp_dump_file) |
|||
|
|||
sys.path.append('../../') |
|||
local_settings = import_module('djing.local_settings') |
|||
usedb = local_settings.DATABASES.get(USING_DB) |
|||
|
|||
db = MySQLdb.connect( |
|||
host=usedb['HOST'], |
|||
user=usedb['USER'], |
|||
passwd=usedb['PASSWORD'], |
|||
db=usedb['NAME'], |
|||
charset='utf8' |
|||
) |
|||
cursor = db.cursor() |
|||
|
|||
sql = ( |
|||
"SELECT INET_ATON(ip_address) as uip, baseaccount_ptr_id FROM abonent " |
|||
"WHERE INET_ATON(ip_address) != 'NULL';" |
|||
) |
|||
ln = cursor.execute(sql) |
|||
with open(tmp_ipuser_file, 'w') as f: |
|||
f.write("count: %d\n" % ln) |
|||
while True: |
|||
row = cursor.fetchone() |
|||
if row is None: |
|||
break |
|||
f.write("%d-%d\n" % row) |
|||
db.close() |
|||
|
|||
os.system( |
|||
'/bin/bash -c "export LD_LIBRARY_PATH=. && ' |
|||
'%(CUR_DIR)s/djing_flow %(TMP_IPUSER_FILE)s < %(TMP_DUMP)s | ' |
|||
'/usr/bin/mysql -u%(DB_USER)s -h %(HOST)s -p %(DB_NAME)s --password=%(DB_PASSW)s"' % { |
|||
'CUR_DIR': cur_dir, |
|||
'TMP_IPUSER_FILE': tmp_ipuser_file, |
|||
'TMP_DUMP': tmp_dump_file, |
|||
'DB_USER': usedb['USER'], |
|||
'HOST': usedb['HOST'], |
|||
'DB_NAME': usedb['NAME'], |
|||
'DB_PASSW': usedb['PASSWORD'] |
|||
}) |
|||
|
|||
os.remove(tmp_dump_file) |
|||
os.remove(tmp_ipuser_file) |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue