本文介紹如何通過阿里雲Heartbeat檢測ICMP及HTTP服務的狀態,並產生可視化圖表。
背景資訊
Heartbeat是一個輕量級的精靈,可以安裝在遠程伺服器上,定期檢測服務狀態並確定它們是否可用。與Metricbeat不同,Metricbeat僅檢測伺服器是啟動還是關閉,Heartbeat會檢測服務是否可以訪問。
與大多數需要安裝在邊緣節點的Beats不同,Heartbeat可以安裝為在單獨的電腦上,甚至可以處於監視服務啟動並執行網路之外。
目前Heartbeat支援以下三種監視器:
ICMP監視器(包括ICMPv4和ICMPv6):使用ICMP協議串連服務,通過發送ICMP請求,檢測服務是否可用(需要ROOT許可權)。
TCP監視器:使用TCP協議串連服務,通過發送或者接收特定的負載,檢測服務是否可用及服務狀態是否正常。
HTTP監視器:使用HTTP協議串連服務,通過特定的狀態代碼、回應標頭或者內容,檢測服務是否可用及服務狀態是否正常。
說明TCP和HTTP監視器都支援SSL、TLS以及部分代理設定。
前提條件
建立Elasticsearch(簡稱ES)執行個體。
詳情請參見建立Elasticsearch執行個體。
開啟阿里雲ES執行個體的自動建立索引功能。
出於安全考慮,阿里雲ES預設不允許自動建立索引。但是Beats目前依賴該功能,因此如果採集器Output選擇為Elasticsearch,需要開啟自動建立索引功能,詳情請參見快速存取與配置。
建立阿里雲ECS執行個體,且該ECS執行個體與阿里雲ES執行個體處於同一Virtual Private Cloud(Virtual Private Cloud)下。
詳情請參見自訂購買執行個體。
重要Beats目前僅支援Alibaba Cloud Linux (Alinux)、RedHat和CentOS這三種作業系統。
在目標ECS執行個體上安裝雲助手和Docker服務。
詳情請參見安裝雲助手Agent和部署並使用Docker。
操作步驟
- 登入Elasticsearch控制台。
在左側導覽列,單擊Beats資料擷取中心。
在建立採集器地區中,單擊Heartbeat。
安裝並配置採集器。
詳情請參見採集ECS服務日誌和採集器YML配置,本文使用的配置如下。
說明勾選啟用Monitoring,系統會在Kibana控制台開啟Heartbeat服務的監控。
勾選啟用Kibana Dashboard,系統會在Kibana控制台中組建圖表,無需額外配置Yml。由於阿里雲Kibana配置在VPC內,因此需要先在Kibana配置頁面開通Kibana私網訪問功能,詳情請參見配置Kibana公網或私網訪問白名單。
配置採集器時,需要在heartbeat.yml中配置
heartbeat.monitors
參數設定監視器,本案例使用的配置如下。heartbeat.monitors: - type: icmp schedule: '*/5 * * * * * *' hosts: ["47.111.xx.xx"] - type: http # List or urls to query urls: ["https://es-cn-xxxxx.kibana.elasticsearch.aliyuncs.com:5601/"] # Configure task schedule schedule: '@every 10s' check.response.status: 200
參數
說明
type
指定監視器的類型。本文分別指定
icmp
和http
監視器。schedule
指定任務計劃。
schedule: '*/5 * * * * * *'
表示每5秒執行一次任務;schedule: '@every 10s'
表示從啟動Heartbeat任務起,每10秒執行1次任務。hosts
指定要檢測的主機列表。
urls
指定要檢測的URL列表。
check.response.status
指定要檢測的HTTP請求狀態。
check.response.status: 200
表示如果請求的返回結果是200
,那麼服務是正常的。說明更多參數說明請參見官方Heartbeat配置文檔。
選擇採集器安裝的ECS執行個體。
所選擇的ECS執行個體,需要滿足上文的前提條件。
啟動並查看採集器安裝情況。
單擊啟動。
啟動成功後,系統彈出啟動成功對話方塊。
單擊前往採集中心查看,返回Beats資料擷取中心頁面,在採集器管理地區中,查看啟動成功的Heartbeat採集器。
等待採集器狀態變為已生效1/1後,單擊右側操作欄下的查看運行執行個體。
在查看運行執行個體頁面,查看採集器安裝情況,當顯示為心跳正常時,說明採集器安裝成功。
查看結果
登入目標阿里雲ES執行個體的Kibana控制台。
登入控制台的具體步驟請參見登入Kibana控制台。
在左側導覽列,單擊Discover,選擇預定義的heartbeat-*模式,並選擇一個時間段,查看對應時間段內Heartbeat收集的資料。
在左側導覽列,單擊Dashboard。
在Dashboard列表中,單擊Heartbeat HTTP monitoring,然後選擇一個時間段,查看該時間段內HTTP的狀態統計圖。