Heartbeat支援通過HTTP/HTTPS、TCP和ICMP服務,定期檢測網路端點狀態,並將採集的檢測資料,輸出到Kibana的Uptime應用中,即時監控應用程式及服務的可用性和回應時間,在業務受到影響前檢測出問題。本文介紹如何通過Uptime即時監控Elasticsearch服務。
背景資訊
Uptime需要與以下服務結合使用:
Heartbeat
Elasticsearch
Kibana
您還可以通過Kibana 7.7的Alerting and Actions實現監控警示通知。
部署架構
單一實例部署
單個Heartbeat執行個體部署在單個監控位置,監控單個服務。Heartbeat發送監控資料給Elasticsearch,與此同時,可以使用Kibana Uptime查看心跳資料並確定服務狀態。
多執行個體部署
兩個Heartbeat部署在不同的監控位置,監控同一個服務。Heartbeat發送監控資料給Elasticsearch,與此同時,可以使用Kibana Uptime查看心跳資料並確定服務狀態。當某個地區的Heartbeat發生故障,多個監視位置可以協助您定位Heartbeat故障的地區。
更多部署架構,請參見Deployment Architecture。
準備工作
建立Elasticsearch執行個體,並開啟自動建立索引功能。
具體操作,請參見建立Elasticsearch執行個體和配置YML參數。
建立ECS執行個體,作為Heartbeat的部署機器。要求該ECS執行個體與Elasticsearch執行個體處於同一專用網路下。
具體操作,請參見自訂購買執行個體。
重要在建立ECS執行個體時,需要選擇Alibaba Cloud Linux、RedHat和CentOS這三種作業系統,因為Beats(包含Heartbeat)目前僅支援這三種作業系統。
在ECS執行個體上安裝雲助手和Docker服務。
具體操作,請參見安裝雲助手Agent和部署並使用Docker。
建立Heartbeat採集器
- 登入Elasticsearch控制台。
在左側導覽列,單擊Beats資料擷取中心。
在建立採集器地區,單擊Heartbeat。
安裝並配置採集器。
本文配置的heartbeat.yml中的heartbeat.monitors參數說明如下:
參數
說明
type
本文指定為http。
說明Heartbeat支援檢查HTTP/HTTPS、TCP和ICMP服務。例如使用HTTP/HTTPS監視器,可以檢查響應代碼(code)、本文(body)和頭資訊(header); 使用TCP監視器,可以檢查連接埠和字串。
urls
待檢查的URL列表,可以指定多個HTTP服務。本文以檢查Elasticsearch服務為例,此處需要配置為待檢查執行個體的私網訪問地址。
schedule
檢查間隔。@every 10s表示每10s檢查一次。
單擊下一步。
在ECS執行個體列表中,選中採集器安裝執行個體。
單擊啟動,啟動採集器。
當採集器狀態為已生效,且操作列的查看運行執行個體中採集器安裝情況顯示為心跳正常時,說明採集器安裝成功。
查看Uptime監控資訊
登入Kibana控制台。
此Kibana控制台為:建立採集器時,採集器Output指定的Elasticsearch執行個體對應的Kibana控制台。具體操作,請參見登入Kibana控制台。
在左側導覽列,單擊Uptime,查看監控資料。
紅色:異常狀態,請檢查Heartbeat通訊或Elasticsearch狀態。
藍色:正常狀態。