iT邦幫忙

2021 iThome 鐵人賽

DAY 25
0
DevOps

Elastic Stack(ELK)數據圖表化與異常監控系列 第 25

Day25 安裝 Heartbeat

今日本篇重點是要安裝Heartbeat,以如何設定要監控的服務項目。

Heartbeat 安装

步驟一: 下載 Heartbeat 安裝包, 下載地址

curl -L -O https://artifacts.elastic.co/downloads/beats/heartbeat/heartbeat-7.14.1-darwin-x86_64.tar.gz
tar xzvf heartbeat-7.14.1-darwin-x86_64.tar.gz
cd heartbeat-7.14.1-darwin-x86_64/

步驟二:修改配置檔案heartbeat.yml。

output.elasticsearch:
  hosts: ["localhost:9200"]
  username: "elastic"
  password: "<password>"
setup.kibana:
  host: "localhost:5601"

步驟三:启动heartbeat

./heartbeat setup #建立索引
./heartbeat -e # 啟動

配置Uptime監控

為了使 heartbeat 知道要檢查那些服務,所以可以在heartbeat.yml設定要檢查的服務項目,如下面範例:

# 監控服務設定
heartbeat.monitors:
- type: http # 使用http方式監控,可以为TCP、icmp等
  enabled: true
  id: my-monitor
  name: My Monitor
  urls: ["http://localhost:9200"]
  schedule: '@every 10s'  # 每 10s 抓取一次

在heartbeat安裝目錄下monitors.d的目錄,底下的每個yml檔都可以是一個可監控的服務文件。

# 副檔名為 .disabled 是還沒啟用的設定
$ ls monitors.d/
sample.http.yml.disabled sample.icmp.yml.disabled sample.tcp.yml.disabled

我們來看一下monitors.d的目錄下 .yml的內容。

- type: http
  id: it13-http-monitor
  name: it13 HTTP Monitor
  schedule: '@every 5s' # every 5 seconds from start of beat
  hosts: ["http://localhost:8080/api/ping"]
  check.request:
    method: GET
  check.response:
    body: "PING PONG" # 檢查回應的字串要等於"PING PONG"
  ipv4: true
  ipv6: true
  mode: any

接下來我們只要重新啟重heartbeat後,就可以到kibana中查看服務運行的狀態。


上一篇
Day24 Uptime And Heartbeat
下一篇
Day26 Uptime 功能介面
系列文
Elastic Stack(ELK)數據圖表化與異常監控30

尚未有邦友留言

立即登入留言