iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 15
0
自我挑戰組

成長型維運平台 - 單人新手到多人團隊都適用的工具系列 第 15

3-4.監控工具之三:Elastic Netflow收集

  • 分享至 

  • xImage
  •  

官方github一直在更新,可以follow
https://github.com/robcowart/elastiflow

Netflow方便分析網路量問題,例如哪幾個IP使用流量大、用什麼protol,不論在維運或資安上都非常方便
補充Netflow為cisco協定,其他還有sflow等等 https://zh.wikipedia.org/wiki/NetFlow

**原理:**利用logstash將收到的netflow訊息轉成json格式傳給elasticsearch

到logstash資料夾(cetnos7 在/user/share/logstash)後安裝插件

./bin/logstash-plugin install logstash-codec-netflow

config,filter是將ip拿出來做GeoIP(logstash內建功能),可以產生經緯度國家位置等,方便畫圖。

input {
    udp {
        port => 9995
        codec => netflow {versions => [5, 9]}
        type => netflow
    }
}

filter {
    mutate {
        convert => {"[netflow][ipv4_src_addr]" => "string"
        }
    }
    geoip {
        source => "[netflow][ipv4_src_addr]"
        }
}

output {
    elasticsearch {
        hosts => "X.X.X.X:9200"
        }
}

收到數據後可以到kibana畫圖

也可以用Grafana畫
要裝worldmap Panel插件

成果

注意:這會產生大量流量及消耗儲存空間,需要定時刪除,或是在對資料做合併二次處理

這裡用的是安裝Codec plugins的方式
https://www.elastic.co/guide/en/logstash/current/plugins-codecs-netflow.html

另外還有找到另一種方式Logstash Netflow Module, 不太確定原理還沒試驗成功
https://www.elastic.co/guide/en/logstash/current/netflow-module.html

補充
用systemctl啟動logstash好像會因為conf沒寫好大量使用memory...因此改到rc.local去啟動script
https://ephrain.net/linux-%E5%9C%A8-centos-7-%E9%96%8B%E6%A9%9F%E6%99%82%E8%87%AA%E5%8B%95%E5%9F%B7%E8%A1%8C-script/

vi /etc/rc.d/rc.local 

去啟用logstash.sh

/root/shell/logstash.sh

設定logstash.sh

vi /root/shell/logstash.sh
cd /usr/share/logstash
./bin/logstash -f test.conf

上一篇
3-3.監控工具之三:elastalert 告警
下一篇
3-5.監控工具之三:Elastic + Wazuh
系列文
成長型維運平台 - 單人新手到多人團隊都適用的工具27
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言