使用開源實時監控 HertzBeat 5分鐘搞定 Linux 監控

語言: CN / TW / HK

使用開源實時監控系統 HertzBeat 對 Linux 作業系統的監控告警實踐,5分鐘搞定!

HertzBeat 介紹

HertzBeat 是一款開源,易用友好的實時監控系統,無需Agent,擁有強大自定義監控能力。

  • 監控-告警-通知為一體,支援對應用服務,資料庫,作業系統,中介軟體,雲原生等監控,閾值告警,告警通知(郵件微信釘釘飛書簡訊 Slack Discord Telegram)。
  • 其將Http,Jmx,Ssh,Snmp,Jdbc等協議規範可配置化,只需配置YML就能使用這些協議去自定義採集任何您想要採集的指標。您相信只需配置YML就能立刻適配一個K8s或Docker等新的監控型別嗎?
  • HertzBeat 的強大自定義,多型別支援,易擴充套件,低耦合,希望能幫助開發者和中小團隊快速搭建自有監控系統。

Github: http://github.com/dromara/hertzbeat

在 HertzBeat 5分鐘搞定對 Linux 的監控

操作前提,您已擁有 Linux 環境和 HertzBeat 環境。

  • HertzBeat 安裝部署文件 http://hertzbeat.com/docs/start/docker-deploy

在開源監控系統 HertzBeat 監控頁面新增對 Linux 作業系統監控

  1. 點選新增 Linux 監控

路徑:選單 -> 作業系統監控 -> Linux作業系統 -> 新增Linux作業系統監控

monitor-linux-1.png

  1. 配置新增監控 Linux 所需引數

在監控頁面填寫 Linux 對端IPSSH埠(預設22),賬戶密碼等,最後點選確定新增即可。
其他引數如採集間隔超時時間等可以參考幫助文件 http://hertzbeat.com/docs/help/mysql/

monitor-linux-2.png

  1. 完成✅,現在我們已經新增好對 Linux 的監控了,檢視監控列表即可看到我們的新增項。

monitor-linux-3.png

  1. 點選監控列表項的操作->監控詳情圖示 即可瀏覽 Linux 的實時監控指標資料。

monitor-linux-4.png

monitor-linux-7.png

  1. 點選監控歷史詳情TAB 即可瀏覽 Linux 的歷史監控指標資料圖表📈。

monitor-linux-5.png

monitor-linux-6.png

DONE!完成啦!不需要我們去部署agent或者各種繁瑣操作,是不是很簡單

  • 只需一步在 HertzBeat 監控頁面配置IP埠賬戶密碼新增 Linux 監控即可

Linux 採集指標

指標集合:basic

| 指標名稱 | 指標單位 | 指標幫助描述 | | ----------- | ----------- | ----------- | | hostname | 無 | 主機名稱 | | version | 無 | 作業系統版本 | | uptime | 無 | 系統執行時間 |

指標集合:cpu

| 指標名稱 | 指標單位 | 指標幫助描述 | | ----------- | ----------- | ----------- | | info | 無 | CPU型號 | | cores | 核數 | CPU核心數量 | | interrupt | 個數 | CPU中斷數量 | | load | 無 | CPU最近1/5/15分鐘的平均負載 | | context_switch | 個數 | 當前上下文切換數量 | | usage | % | CPU使用率 |

指標集合:memory

| 指標名稱 | 指標單位 | 指標幫助描述 | | ----------- | ----------- | ----------- | | total | Mb | 總記憶體容量 | | used | Mb | 使用者程式記憶體量 | | free | Mb | 空閒記憶體容量 | | buff_cache | Mb | 快取佔用記憶體 |
| available | Mb | 剩餘可用記憶體容量 |
| usage | % | 記憶體使用率 |

指標集合:disk

| 指標名稱 | 指標單位 | 指標幫助描述 | | ----------- | ----------- | ----------- | | disk_num | 塊數 | 磁碟總數 | | partition_num | 分割槽數 | 分割槽總數 | | block_write | 塊數 | 寫入磁碟的總塊數 | | block_read | 塊數 | 從磁碟讀出的塊數 |
| write_rate | iops | 每秒寫磁碟塊的速率 |

指標集合:interface

| 指標名稱 | 指標單位 | 指標幫助描述 | | ----------- | ----------- | ----------- | | interface_name | 無 | 網絡卡名稱 | | receive_bytes | byte | 入站資料流量(bytes) | | transmit_bytes | byte | 出站資料流量(bytes) |

指標集合:disk_free

| 指標名稱 | 指標單位 | 指標幫助描述 | | ----------- | ----------- | ----------- | | filesystem | 無 | 檔案系統的名稱 | | used | Mb | 已使用磁碟大小 | | available | Mb | 可用磁碟大小 | | usage | % | 使用率 |
| mounted | 無 | 掛載點目錄 |

:::tip 通過上面我們就完成了對 Linux 的監控,我們可以在 HertzBeat 隨時檢視Linux的各種指標狀態和可用性。
當然不可能人工一直實時檢視指標,監控往往伴隨著告警閾值,當 Linux 的效能指標超出我們的閾值或Linux本身異常時,能及時的通知到我們對應的負責人,負責人收到通知處理,這樣才是一個完整的監控告警流程。 :::

接下來我們就來一步一步演示如何配置 HertzBeat 系統裡的閾值告警通知,當 Linux 的指標異常時,及時通知給我們

三. 在 HertzBeat 系統新增 Linux 指標閾值告警

  1. 對某個重要指標配置告警閾值

路徑:選單 -> 閾值規則 -> 新增閾值

  • 選擇配置的指標物件,Linux 監控主要是cpu 記憶體 磁碟 網路效能等相關指標,我們舉例對 CPU利用率 cpu -> usage 這個指標進行閾值設定, 當Linux cpu利用率大於90%時發出告警。
  • 這裡我們就配置當此指標cpuusage>90 時發出告警,告警級別為警告告警,三次即觸發,具體如下圖。

monitor-linux-8.png

monitor-linux-9.png

  1. 新增訊息通知接收人

配置接收人,讓告警訊息知道要發給誰,用什麼方式發。

路徑:選單 -> 告警通知 -> 告警接收人 -> 新增接收人

訊息通知方式支援 郵件,釘釘,企業微信,飛書,WebHook,簡訊等,我們這裡以常用的釘釘為例。

  • 參照此幫助文件 http://hertzbeat.com/docs/help/alert_dingtalk 在釘釘端配置機器人,設定安全自定義關鍵詞HertzBeat,獲取對應access_token值。
  • 在 HertzBeat 配置接收人蔘數如下。

【告警通知】->【新增接收人】 ->【選擇釘釘機器人通知方式】->【設定釘釘機器人ACCESS_TOKEN】-> 【確定】

alert-notice-1.png

  1. 配置關聯的告警通知策略⚠️ 【新增通知策略】-> 【將剛設定的接收人關聯】-> 【確定】

配置告警通知策略,讓告警訊息與接收人繫結,這樣就能決定哪些告警發給哪個人。

alert-notice-2.png

完畢,現在坐等告警訊息過來啦。叮叮叮叮

alert-center.png

[HertzBeat告警通知] 告警目標物件 : linux.cpu.usage 所屬監控ID : 483783444839382 所屬監控名稱 : Linux_182.33.34.2 告警級別 : 警告告警 告警觸發時間 : 2023-02-15 21:13:44 內容詳情 : The linux cpu usage is too high. now is 95.

小結

:::tip 這篇實踐文章帶我們體驗瞭如何使用開源實時監控系統 HertzBeat 來監控 Linux 指標資料,可以發現集 監控-告警-通知 的 HertzBeat 在操作與使用方面更加的便捷,只需頁面上簡單點一點就能把 Linux 納入監控並告警通知,再也不需要部署多個元件編寫配置檔案那些繁瑣操作了。
:::

只需要一條docker命令即可安裝體驗heartbeat:

docker run -d -p 1157:1157 --name hertzbeat tancloud/hertzbeat

What is HertzBeat?

HertzBeat赫茲跳動 是一個擁有強大自定義監控能力,無需Agent的實時監控告警系統。應用服務,資料庫,作業系統,中介軟體,雲原生等監控,閾值告警,告警通知(郵件微信釘釘飛書簡訊 Discord Slack Telegram)。

我們將Http,Jmx,Ssh,Snmp,Jdbc等協議規範可配置化,只需配置YML就能使用這些協議去自定義採集任何您想要採集的指標。
您相信只需配置YML就能立刻適配一個K8s或Docker等新的監控型別嗎?

HertzBeat的強大自定義,多型別支援,易擴充套件,低耦合,希望能幫助開發者和中小團隊快速搭建自有監控系統。

Github: http://github.com/dromara/hertzbeat
Gitee: http://gitee.com/dromara/hertzbeat

⛄ Supported

  • 網站監控, 埠可用性, Http Api, Ping連通性, Jvm, SiteMap全站, Ssl證書, SpringBoot, FTP伺服器
  • Mysql, PostgreSQL, MariaDB, Redis, ElasticSearch, SqlServer, Oracle, MongoDB, 達夢, OpenGauss, ClickHouse, IoTDB
  • Linux, Ubuntu, CentOS, Windows
  • Tomcat, Nacos, Zookeeper, RabbitMQ, Flink, Kafka, ShenYu, DynamicTp, Jetty, ActiveMQ
  • Kubernetes, Docker
  • 和更多您的自定義監控。
  • 通知支援 Discord Slack Telegram 郵件 釘釘 微信 飛書 簡訊 Webhook