【AWS徵文】用 Kibana 來替換 AWS WAF Dashboards

AWS WAF 的默認 dashboard 數據顯示的不實時,也不是特別明瞭,沒有一些聚合指標,因此看起來就比較費力,那有沒有第三方能夠來展現 AWS WAF 呢?本文就教你如何使用 Kibana 來實時展現 AWS WAF 的狀態。linux

1、描述

AWS WAF Dashboards 已經準備好使用儀表板 (基於 Amazon Elasticsearch Service 和 Kibana) ,能夠快速鏈接到已經存在的 AWS WAF 配置,並容許使用可視化圖表中的多個構建對 AWS WAF 日誌進行可視化。bash

要開始使用 AWS WAF 儀表板,你不須要有任何與 Elasticsarch 或甚至 AWS WAF 的經驗,只須要最低限度的 AWS 知識。我這裏提供了 CloudFormation template,全自動的爲你們把所須要的服務建立好,你只需配置 WAF 把數據導入到 ES 便可,整個建立過程大約持續 30 分鐘。架構

image-20200902113429496

WAF 是附加在 ELB 上面的,WAF 的日誌傳送給 Kinesis,經過 Kinesis 傳遞給 Elasticsearch,當用戶登錄 Kibana 查詢數據的時候,須要通過 Cognito 的認證經過,整個架構大體如此。dom

2、安裝

一、啓動模版

由於我在 eu-west-1 已經有業務,而且也已經配置了 WAF,因此我在這個 region 啓動 CloudFormation,下面咱們打開 Console,找到 CloudFormation,輸入下面的模版:ide

https://s3.amazonaws.com/code.wzlinux.com/wzlinux-dashboard.yaml

image-20200902103908932

二、配置模版

咱們點擊下一步以後,會有一些參數須要咱們填寫,以下:日誌

image-20200902104501765

  • DataNodeEBSVolumeSize: Elasticsearch cluster 的存儲大小,能夠不進行修改。
  • ElasticSerchDomainName: Elasticsearch luster domain,也能夠不修改。
  • NodeType: Elasticsearch cluster 實例類型,能夠不修改。
  • UserEmail: 郵箱這裏要填寫,由於隨後會給送給你登錄 kibana 的登錄帳戶和密碼。

而後點擊建立,等待建立完成便可。code

三、配置 WAF log

建立完成以後,咱們打開 WAF 界面,找到咱們的 Web ACL,修改 logging,把數據傳遞到 CloudFormation 建立的 Kinesis 裏面,以下:orm

image-20200902113953570

3、查看 Kibana

在 CloudFormation 的 Outputs 輸出結果裏面,咱們能夠看到 Kibana 的地址:blog

image-20200902122208665

登錄框中輸入咱們郵件收到的帳戶密碼便可。it

登錄以後,咱們點擊 Dashboard 查看。如今,您的 WAF 日誌將經過 Kinesis Firehose 直接從 WAF 服務發送到 ElasticSearch 集羣,並使用 Kibana 儀表板提供給您。幾分鐘後,您應該開始看到儀表板上有數據。

image-20200902123128657

image-20200902123210929

image-20200902123337797

Dashboard 大體展現了這些數據,固然你也能夠按照本身的需求進行定製化更改。

演示完成以後,咱們能夠把 WAF 的日誌取消注入 Kinesis,刪掉 CloudFormation 便可。

關於每一個視圖是如何製做的,你們能夠編輯 Visualize 查看:

image-20200902123752069

歡迎你們掃碼關注,獲取更多信息

【AWS徵文】用 Kibana 來替換 AWS WAF Dashboards

相關文章
相關標籤/搜索