Pengindeks aliran
flow-indexer indexes flows
Usage:
flow-indexer [command]
Available Commands:
compact Compact the database
daemon Start daemon
expandcidr Expand a CIDR range from those seen in the database
index Index flows
search Search flows
help Help about any command
Flags:
--dbpath="flows.db": Database path
-h, --help[=false]: help for flow-indexer
Use "flow-indexer [command] --help" for more information about a command.
$ export GOPATH=~/go
$ go get github.com/JustinAzoff/flow-indexer
$ cp ~/go/src/github.com/JustinAzoff/flow-indexer/example_config.json config.json
$ vi config.json # Adjust log paths and database paths.
Konfigurasi pengindeks adalah sebagai berikut:
Faktor penentu cara mempartisi database adalah berapa banyak IP unik yang Anda lihat per hari. Saya sarankan dimulai dengan indeks bulanan. Jika kinerja pengindeksan mendapat pukulan besar pada akhir bulan, beralih ke indeks harian.
Perintah indexall akan memperluas file_glob dan mengindeks file log apa pun yang cocok.
$ ~/go/bin/flow-indexer indexall
Setelah indeks awal selesai, mulailah daemon. Memulai Daemon akan memperluas terbaru_file_glob dan mengindeks setiap file log yang baru dibuat yang cocok.
$ ~/go/bin/flow-indexer daemon
Ini akan melakukan ini dalam loop 60 detik agar tetap up to date.
$ curl -s 'localhost:8080/search?i=conn&q=1.2.3.0/24'
$ curl -s 'localhost:8080/dump?i=conn&q=1.2.3.0/24'
$ curl -s 'localhost:8080/stats?i=conn&q=1.2.3.0/24'
Menjalankan aliran-indexer sebagai layanan
Untuk menjalankan Flow-Indexer sebagai layanan pada sistem menggunakan SystemD, Anda dapat menggunakan file-indexer. File layanan yang disediakan.
Jika Anda berencana untuk menjalankan aliran-indexer sebagai layanan pada sistem yang menggunakan Upstart, Anda mungkin ingin mempertimbangkan file conf seperti berikut untuk dengan benar Syslog Stdout dan Stderr dari Flow-Indexer, dan berjalan sebagai pengguna non-Root.
# flow-indexer - Flow Indexer
#
# flow-indexer is a service that indexes and allows retrieval of flows using bro logs
description "Flow Indexer Daemon"
start on runlevel [345]
stop on runlevel [!345]
setuid flowindexer
setgid flowindexer
exec /path/to/bin/flow-indexer daemon --config /path/to/flow-indexer/config.json 2>&1 | logger -t flow-indexer
Untuk menghindari too many open files , Anda mungkin ingin meningkatkan jumlah file terbuka, Anda mengizinkan pengguna yang mengalir oleh alir-indexer untuk memiliki akses ke. Ini dapat dilakukan dengan mengubah pengaturan nofile Anda di /etc/security/limits.conf seperti yang ditunjukkan di bawah ini.
flowindexer soft nofile 65535
flowindexer hard nofile 65535
Tidak benar-benar digunakan lagi dalam praktiknya, daemon adalah cara yang disarankan untuk menggunakan aliran-indexer. Tetapi perintah ini dapat berguna untuk pengujian dan pengembangan.
./flow-indexer --dbpath /tmp/f/flows.db index /tmp/f/conn*
2016/02/06 23:36:51 /tmp/f/conn.00:00:00-01:00:00.log.gz: Read 4260 lines in 24.392765ms
2016/02/06 23:36:51 /tmp/f/conn.00:00:00-01:00:00.log.gz: Wrote 281 unique ips in 2.215219ms
2016/02/06 23:36:51 /tmp/f/conn.01:00:00-02:00:00.log.gz: Read 4376 lines in 24.186168ms
2016/02/06 23:36:51 /tmp/f/conn.01:00:00-02:00:00.log.gz: Wrote 310 unique ips in 1.495277ms
[...]
2016/02/06 23:36:51 /tmp/f/conn.22:00:00-23:00:00.log.gz: Read 7799 lines in 18.350788ms
2016/02/06 23:36:51 /tmp/f/conn.22:00:00-23:00:00.log.gz: Wrote 775 unique ips in 5.155262ms
2016/02/06 23:36:51 /tmp/f/conn.23:00:00-00:00:00.log.gz: Read 5255 lines in 15.296847ms
2016/02/06 23:36:51 /tmp/f/conn.23:00:00-00:00:00.log.gz: Wrote 400 unique ips in 2.910344ms
./flow-indexer --dbpath /tmp/f/flows.db index /tmp/f/conn*
2016/02/06 23:37:36 /tmp/f/conn.00:00:00-01:00:00.log.gz Already indexed
2016/02/06 23:37:36 /tmp/f/conn.01:00:00-02:00:00.log.gz Already indexed
2016/02/06 23:37:36 /tmp/f/conn.02:00:00-03:00:00.log.gz Already indexed
2016/02/06 23:37:36 /tmp/f/conn.03:00:00-04:00:00.log.gz Already indexed
[...]
2016/02/06 23:37:36 /tmp/f/conn.20:00:00-21:00:00.log.gz Already indexed
2016/02/06 23:37:36 /tmp/f/conn.21:00:00-22:00:00.log.gz Already indexed
2016/02/06 23:37:36 /tmp/f/conn.22:00:00-23:00:00.log.gz Already indexed
2016/02/06 23:37:36 /tmp/f/conn.23:00:00-00:00:00.log.gz Already indexed
./flow-indexer --dbpath /tmp/f/flows.db expandcidr 192.30.252.0/24
192.30.252.86
192.30.252.87
192.30.252.92
192.30.252.124
192.30.252.125
192.30.252.126
192.30.252.127
192.30.252.128
192.30.252.129
192.30.252.130
192.30.252.131
192.30.252.141
./flow-indexer --dbpath /tmp/f/flows.db search 192.30.252.0/24
/tmp/f/conn.03:00:00-04:00:00.log.gz
/tmp/f/conn.04:00:00-05:00:00.log.gz
/tmp/f/conn.06:00:00-07:00:00.log.gz
/tmp/f/conn.14:00:00-15:00:00.log.gz
/tmp/f/conn.18:00:00-19:00:00.log.gz
/tmp/f/conn.20:00:00-21:00:00.log.gz
/tmp/f/conn.22:00:00-23:00:00.log.gz