使用Elasticsearch實時監控VPC flow log

關鍵詞:ElasticSearch、vpc流日誌、CloudWatch日誌
適讀水平:有一定AWS基礎
適讀職業:運維、運營管理
應用場景:ElasticSearch日誌分析

流程架構圖

image1.png

步驟1 創建Elasticsearch域

登錄Elasticsearch控制檯

image2.png

點擊“創建新域”,基本都是默認設置,填寫ES域名稱

image3.png

其他都可以默認設置,“下一步”,
爲了方便設置訪問權限“公有訪問權限”,

image4.png

訪問策略設置“允許對域進行公開訪問”,

image5.png

注意:通常情況下應該選擇“允許從特定ip訪問域”,但是在測試過程中總是在訪問kinana的時候報錯"User: anonymous is not authorized to perform: es:ESHttpGet",報錯的解決方案可以參考官網文檔 docs.aws.amazon.com/zh_cn/elast… ,最簡單的解決辦法就是允許公開訪問,故本次操作實踐配置爲允許公開訪問。
繼續“下一步”,都採用默認設置,點擊“確認”,成功創建ES域。

image6.png

步驟2 創建CloudWatch日誌組

切換到CloudWatch控制檯,選擇日誌欄

image7.png

image8.png

點擊“創建日誌組”,填寫日誌組名稱,完成日誌組創建,如下圖所示:

image9.png

點擊創建的日誌組log-vpcflow進去,查看其內容

image10.png

因爲目前還沒有日誌進來,所以爲空,接下來就是要產生日誌。

步驟3 開啓VPC flow log

本節需要做兩個工作:1)vpc flow log的產生,我們在vpc裏面創建一個ec2實例即可;2)將vpc flow log 推送到CloudWatch日誌組。
1)新創建一個ec2實例,基本操作,省略。

image11.png

2)開啓vpc flow log並配置
切換到vpc控制檯,選擇“您的VPC”欄

image12.png

在當前區域,有兩個vpc,一個默認vpc,一個是我自己創建的VPC(通常我都使用自己創建的VPC),之前的ec2實例也是在這個“vpc-xuyi”中,所以選中該VPC,在廈門可以看到有4個tab欄目,選擇其中“flow logs”

image13.png

點擊“create flow log”,開始創建vpc 流日誌,

image14.png

其中,過濾器選擇“all”,目標選擇“send to CloudWatch logs”,在目標日誌組選擇在步驟2中創建的日誌組“log-vpcflow”,現在還需要配置IAM角色,點擊藍色字體的“set up permission”

image15.png

這是使用嚮導默認配置的權限,我們無需進行修改,點擊“允許即可”,即創建一個角色“flowlogsRole”,我們可切換到IAM控制檯查看該角色

image16.png

Ok,現在我們需要重新回到之前未完成的流程,進入VPC控制檯->選擇合適的vpc->創建vpc流日誌->配置角色

image17.png

點擊“create”

image18.png

Vpc flow log創建完成。
再切換到CloudWatch控制檯,進入我們創建的日誌組中,可以看到在日誌組“log-vpcflow”
中有一條流日誌

image19.png

注意:此處流日誌出現可能需要等待一段時間,點擊右邊的刷新圖標,多刷幾次吧,時間不好說,可能有好幾分鐘也可能很快,總之耐心等待吧。
我們可以點擊流日誌進去查看(其實也沒什麼好看的)

image20.png

步驟4 配置CloudWatch日誌組

現在還需要將CloudWatch日誌組的日誌傳到ElasticSearch域中,還是在之前創建的日誌組界面

image21.png

選擇“流式傳輸到ES”

image22.png

選擇賬號“此賬戶”,ES集羣選擇之前創建的ES域“es-vpc-log”,lambda角色選擇“創建IAM角色”

image23.png

這裏也是配置嚮導給出的默認角色,直接允許就行,將會創建一個相應的角色

image24.png

允許之後,在角色部分已經選擇好了剛剛創建的角色,點擊“下一步”

image25.png

日誌格式選擇“vpc流日誌”,點擊“下一步”,一路確認即可

image26.png

最後可以看到我們的cloudwatch日誌組已經被一個lambda函數訂閱,該函數將我們的日誌流式傳輸到ES域。我們也可以進入lambda控制檯看看該函數的架構內容(不想看就不用進去看了,嘿嘿)

image27.png

那麼上圖這個lambda函數就是我們通過使用嚮導創建的,這就是嚮導的好處了,代碼我也不懂。

步驟5 監控vpc flow log

切換到Elasticsearch控制檯,選中我們創建的域

image28.png

選擇“索引”

image29.png

其中的“cwl-2019.11.07”就是收集到的vpc流日誌,命名中包含了2019年11月7日。
再選擇“概述”頁

image30.png

點擊“kibana”後的鏈接,進入kibana頁面

image31.png

頁面刷新時間較長,等吧,在上圖中選擇左側的“管理”圖標

image32.png

選擇“index patterns”

image33.png

這裏的索引就是在前面我們看到的那條日誌“cwl-2019.11.07”,將該索引填入index pattern字段,點擊“下一步”,就會看到將索引的結構列出來了

image34.png

再選擇左側的“發現”圖標

image35.png

到此爲止,我們就已經實現了對vpc flow log的監視,並且可以通過Elasticsearch的kibana工具來對日誌進行可視化的展現。Kibana本身是一個強大的可視化工具,本人對此也甚瞭解,所以無法給出更進一步的指導。各位有興趣可以通過其dashboard來進行可視化展現。謝謝!

作者:光環雲 徐毅
原文:http://bbs.sinnet-cloud.cn/forum.php?mod=viewthread&tid=183&extra=page=1


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章