夜鶯監控(Nightingale)是一個開源的雲原生監控系統,本文介紹如何使用夜鶯監控連接埠。

連接埠監控,是程序存活性探測的典型方式,相比統計程序數量,連接埠監控更為靠譜,因為程序有時會 hang 住,導致程序數量統計正常,但是連接埠無法正常回應。

一般來說,連接埠探測分三種協定:

  • TCP 協定
  • UDP 協定
  • HTTP 協定

依據服務監聽的連接埠協定類型不同,使用的探測方式也不同。

TCP/UDP 協定

TCP/UDP 協定的連接埠監控,適合針對 RPC 類的服務,可以使用 Categraf 的 net_response 外掛來實作。

這裡最應該關注的指標是:net_response_result_code,如果這個指標的值是 0,表示一切正常,如果非 0 則表示異常,不同的值表示不同的異常類型。

  • 0: Success
  • 1: Timeout
  • 2: ConnectionFailed
  • 3: ReadFailed
  • 4: StringMismatch

在夜鶯的 整合中心-範本中心 可以找到相關的儀表板。

HTTP 協定

HTTP 協定的探測和 TCP/UDP 協定類似,Categraf 也提供了 http_response 外掛來實作。相比 TCP/UDP 協定,HTTP 協定的連接埠監控可以更進一步,除了探測連接埠是否可用,還可以探測 HTTP 回應內容(傳回的狀態碼、傳回的 Response body)是否符合預期,如果是 HTTPS 站點,還可以探測憑證過期時間。

用於告警的指標是 http_response_result_code 只要這個指標是 0 就是正常的,如果這個指標非 0,就是異常的,不同的值代表不同的含義:

Success          = 0
ConnectionFailed = 1
Timeout          = 2
DNSError         = 3
AddressError     = 4
BodyMismatch     = 5
CodeMismatch     = 6

http_response_cert_expire_timestamp 是憑證過期的時間戳,http_response_cert_expire_timestamp - time() 表示憑證還有多久過期,單位是秒。

在夜鶯的 整合中心-範本中心 可以找到相關的儀表板。

常見問題

Q1:連接埠監控的方式?

A:

  • Categraf net_response 外掛:定期 TCP / UDP 探測目標連接埠,上報 net_response_result_code 指標;
  • PLUS 撥測:從多節點探測,更全面。

Q2:能不能監控 HTTPS 憑證過期?

A:能。Categraf 的 http_response 外掛支援取得 TLS 憑證剩餘有效天數 — 上報 http_response_cert_expire_timestamp 指標,配 30 天預警告警。

參考資料

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云