Elastic: 創建一個 Elastic 郵件警報 - 7.7 發行版

在之前的文章“創建一個Elastic alert - 7.7 發佈版”,我介紹瞭如何使用 Elastic 在7.7發佈版中使用免費的功能來發送警報到一個索引或者到Server log裏去。在今天的文章中,我們將詳細講述如何把通知發送到一個郵件中。在 Elastic 的白金版訂閱中,它提供如下的方式推送警報:

其中 Index 及 Server log 是免費的。

在今天的練習中,我們將使用如下的環境配置:

我們在Mac OS上安裝 Elasticsearch及 Kibana,它們都分別運行於 IP 地址192.168.0.100。由於今天的這個功能是7.7發行版纔有的功能,所以我們必須安裝7.7版的Elasticsearch及Kibana。上面的這個IP地址是我自己的電腦的私有地址。依賴於你自己系統的地址不同而不同。我在另外一個Ubuntu OS 上運行 Filebeat。它可以訪問 Mac OS。

 

安裝

Elasticsearch

我們可參考我之前的文章“如何在Linux,MacOS及Windows上進行安裝Elasticsearch”來安裝我們的7.7 版的Elasticsearch。在安裝完後,我們需要做如下的調整。打開config/elasticsearch.yml文件,並修改:

cluster.name: elasticsearch
network.host: 0.0.0.0
discovery.type: single-node

在這裏我們配置一個節點的Elasticsearch,同時我們配置network.host: 0.0.0.0,這樣保證我們的Elasticsearch綁定於每一個網路接口上。如果你還不知道自己的IP地址,你可以打入如下的命令來找到自己的IP地址:

ifconfig

修改完上面的配置後,我們重新啓動Elasticsearch:

 

我們可以在Elasticsearch啓動的Log裏找到相應的啓動地址。我們在瀏覽器中打入上面顯示的地址:192.168.0.100:9200

如果我們能夠看到上面的輸出,那麼則表明我們的Elasticsearch安裝是成功的。

Kibana安裝

我們接下來安裝Kibana。我們可以參考我之前的文章“如何在Linux,MacOS及Windows上安裝Elastic棧中的Kibana”來進行我們的安裝。爲了能夠使得我們的Kibana能訪問Elasticsearch及被我們的Beats所訪問到,我們必須修改config/kibana.yml的相應的配置:
 

server.host: "192.168.0.100"
elasticsearch.hosts: ["http://192.168.0.100:9200"]

請根據自己的電腦上的IP地址進行上面的修改。你可以通過上面介紹的ifconfig來得到自己電腦上的IP地址。

我們在自己的瀏覽器中打入如下地址:

如果你能發現上面的界面,則表明你的Kibana的安裝是成功的。

爲了能夠實現對log的監控,我們必須使用Start a 30-day trial授權:

Filebeat安裝

就如同我們上面介紹的那樣,我們的Filebeat運行於Ubuntu OS 18.04中。如果大家還不知道如何來進行安裝的話,請參閱我之前的文章“Vagrant 入門教程”。那個教程非常簡單直接。一旦我們的Ubuntu已經安裝起來後,那麼我們該如何安裝Filebeat呢?

我們打開我們的Kibana界面:

我們點擊Add log data:

我們找到System logs:

Ubuntu OS是Debian系統。我們選擇DEB平臺,讓後嚴格地安照上面的信息來進行安裝。在這裏我必須指出的是:我們必須修改/etc/filebeat/filebeat.yml文件的配置以使得filebeat能夠連接上我們的Kibana及Elasticsearch。爲此,我們打開filebeat.yml配置文件:
 

sudo vi /etc/filebeat/filebeat.yml

 我們對該文件進行如下的修改:

在這裏,我們必須注意的是:替換上面的IP地址爲你自己電腦上的IP地址。這個IP地址是你的Elasticsearch及Kibana的運行IP地址。你可以通過ifconfig命令來獲得。

由於在一下的部分,我們要使用到syslog,所以我們必須記得啓動system 模塊:

sudo filebeat modules enable system

一旦完成上面的配置後,我們安裝Kibana中的命令:

sudo service filebeat start

來啓動filebeat這個服務。如果我們安裝正確的話,我們可以在Kibana中看到數據進來:

如果我們能夠看到有數據在上面的Discover中來,則表明我們的Filebeat的安裝是成功的。

我們可以在Ubuntu的terminal中打入如下的命令:


sudo logger -t JUSTME this is message 2

等過一點時間,我們通過Kibana來查詢我們的數據:

上面的命令生成一個process.name爲JUSTME的log信息。我們可以在Kibana中查詢到這個信息。

好了,到目前爲止,我們已經安裝好我們所有需要的Elastic Stack相關的部分。下面我們來進行郵件警報的測試。

 

郵件警報配置

創建警報

打開Kibana:

上面顯示我們需要在kibana.yml中設置xpack.encryptedSavedObjects.encryptionKey。點擊Learn how 鏈接,我們可以瞭解更多關於這個encryptionKey的用法。我們參照鏈接中的介紹,把這個值設爲‘fhjskloppd678ehkdfdlliverpoolfcr’,並重新啓動Kibana:

xpack.encryptedSavedObjects.encryptionKey: 'fhjskloppd678ehkdfdlliverpoolfcr'

我們再次進入Kibana:

這個時候顯示如上的界面。我們點擊Create alert 按鈕:

我們退出上面的界面,點擊Connectors:

點擊 Create connector 按鈕:

我們點擊 Email:

我們完成上面的信息的填入,點擊 Save 按鈕:

這樣就完成了我們 Email connector 的創建。這個 connector 將可以被任何一個想要發送郵件警報的 alert 所使用。

我們接下來點擊 Alert:

點擊 Create alert:

點擊 Index threshold:

 

 

 

點擊上面的 Save 按鈕,這樣就生成了我們的第一個 Index threshold 警報:

 

測試警報

我們接着在Ubuntu OS的 console裏輸入如下的命令:

我們接連輸入以上的指令。這個指令會在syslog裏生成相應的含有JUSTME的log。

從上面,我們可以看出來,我們已經生產了相應的通知。這個通知是因爲 filebeat-* 索引在5分鐘的時間裏,收到超過3個文檔,從而觸發了通知。 

我們可以在Kibana中把mute 啓動,那麼它就不會發送通知了,儘管5分鐘之內有超過三個時間:

 

結論

Elastic 7.7發佈版的警報使你方便地定義 Index threashold 及 Metricbeat threashold 警報。當你使用相關數據時,通常會發生創建警報的想法。 無論你是否完全沉浸在APM,指標,Uptime或SIEM應用程序中,都可以通過豐富的彈出菜單立即創建警報。你可以輕鬆地在你相應的APM,Metrics, Uptime 及 SIEM 應用中根據當前的上下文進行方便地創建相應的警報。

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