前言
我們?cè)谑褂胓raylog進(jìn)行日志收集的過程中改艇,不難發(fā)現(xiàn)有一個(gè)展示地理位置的“World Map”可供使用。如果你僅僅只是在下圖中的位置點(diǎn)擊一下研儒,百分之九十九不會(huì)給你展示想要的地圖并且會(huì)彈出一串紅色報(bào)錯(cuò)信息(剩下的百分之一其實(shí)也不會(huì)成功^_^)豫缨。那么如何開啟這個(gè)“World Map”呢?本文以下內(nèi)容將做詳細(xì)介紹端朵。
配置Geolocation
下載MaxMind City databases
GeoIP2 City Database和 GeoLite2 City Database可以任選一種下載好芭,本次下載GeoLite2 City
數(shù)據(jù)庫(kù),如下圖:
配置數(shù)據(jù)庫(kù)
解壓下載的壓縮包冲呢。
-
根據(jù)你不同的安裝方式舍败,將
GeoLite2-City.mmdb
文件放在合適的位置。本人是采用RPM形式安裝的graylog,graylog web界面點(diǎn)擊“System->Configurations”邻薯,能夠看到默認(rèn)文件的放置位置如下圖:默認(rèn)文件放置位置
因此將GeoLite2-City.mmdb
放到/etc/graylog/server/
目錄下裙戏。 -
更新Geo-Location Processor。graylog web界面點(diǎn)擊“System->Configurations”厕诡,點(diǎn)擊下圖中的“Update”按鈕:
勾選啟用復(fù)選框累榜,檢查文件放置位置,點(diǎn)擊“Save”按鈕保存配置灵嫌。
啟用Geo-Location Processor
配置GeoIP Resolver Processors
點(diǎn)擊“Update”按鈕信柿,更新配置:
移動(dòng)GeoIP Resolver行,將GeoIP解析器設(shè)置為要運(yùn)行的最后一個(gè)消息處理器醒第,并啟用GeoIP Resolver,然后點(diǎn)擊“Save”按鈕保存設(shè)置:
測(cè)試
至此进鸠,配置完成稠曼。Graylog將開始尋找僅包含IPv4或IPv6地址的字段,并將其地理位置提取到<field>_geolocation字段中客年。簡(jiǎn)單來講霞幅,就是如果你有一個(gè)字段field1
的內(nèi)容僅是ip地址的話,graylog將會(huì)根據(jù)這個(gè)字段的ip將地理位置保存在field1_geolocation
中量瓜。
下面我們來測(cè)試一下:
-
點(diǎn)擊“System->Inputs”司恳,新建Raw/Plaintext TCP類型的input。
新建input -
發(fā)送測(cè)試消息绍傲。
[vagrant@graylogTest1 graylog]$ nc -w2 192.168.2.124 5555 <<< '8.8.8.8'
可看到如下圖所示的效果:
示例1
上圖message字段僅包含ip地址扔傅,然后graylog就會(huì)根據(jù)此ip延伸出message_city_name
、message_country_code
烫饼、message_geolocation
三個(gè)字段猎塞。
倘若你的ip地址并沒有單獨(dú)存在在任何一個(gè)字段中,那么你可以使用Extractor將ip給提取出來存為一個(gè)字段杠纵,然后graylog就可以確定地理位置了荠耽。如下圖中的情況,message字段內(nèi)容包含9.9.9.9地址比藻,此時(shí)就可以創(chuàng)建一個(gè)Extractor進(jìn)行提取铝量。
創(chuàng)建Extractor提取ip
ip地址的格式比較固定,我們可以使用Grok pattern去匹配银亲,Grok pattern已經(jīng)有現(xiàn)成的匹配ip規(guī)則慢叨,就省去寫正則了。
完成之后群凶,當(dāng)我們收到上述消息的時(shí)候插爹,出現(xiàn)的效果就是這樣的:
展示地圖
當(dāng)出現(xiàn)<field>_geolocation
字段后,點(diǎn)擊“World Map”字段即可看到在地圖中的位置。
Graylog官方文檔針對(duì)Geolocation有詳細(xì)的介紹赠尾,本文僅是將跟隨官方文檔進(jìn)行配置的過程做一個(gè)記錄力穗,僅供參考。