如何使用 Datadog 監控 NGINX(第三篇)

K Young發表於2015-08-25

如果你已經閱讀了前面的如何監控 NGINX,你應該知道從你網路環境的幾個指標中可以獲取多少資訊。而且你也看到了從 NGINX 特定的基礎中收集指標是多麼容易的。但要實現全面,持續的監控 NGINX,你需要一個強大的監控系統來儲存並將指標視覺化,當異常發生時能提醒你。在這篇文章中,我們將向你展示如何使用 Datadog 安裝 NGINX 監控,以便你可以在定製的儀表盤中檢視這些指標:

如何使用 Datadog 監控 NGINX(第三篇)

Datadog 允許你以單個主機、服務、流程和度量來構建圖形和警告,或者使用它們的幾乎任何組合構建。例如,你可以監控你的所有主機,或者某個特定可用區域的所有NGINX主機,或者您可以監視具有特定標籤的所有主機的一個關鍵指標。本文將告訴您如何:

  • 在 Datadog 儀表盤上監控 NGINX 指標,就像監控其他系統一樣
  • 當一個關鍵指標急劇變化時設定自動警報來通知你

如何使用 Datadog 監控 NGINX(第三篇)

配置 NGINX

為了收集 NGINX 指標,首先需要確保 NGINX 已啟用 status 模組和一個 報告 status 指標的 URL。一步步的配置開源 NGINXNGINX Plus 請參見之前的相關文章。

整合 Datadog 和 NGINX

安裝 Datadog 代理

Datadog 代理是一個開源軟體,它能收集和報告你主機的指標,這樣就可以使用 Datadog 檢視和監控他們。安裝這個代理通常僅需要一個命令

只要你的代理啟動並執行著,你會看到你主機的指標報告在你 Datadog 賬號下。

如何使用 Datadog 監控 NGINX(第三篇)

配置 Agent

接下來,你需要為代理建立一個簡單的 NGINX 配置檔案。在你係統中代理的配置目錄應該在這兒找到。

在目錄裡面的 conf.d/nginx.yaml.example 中,你會發現一個簡單的配置檔案,你可以編輯並提供 status URL 和可選的標籤為每個NGINX 例項:

init_config:

instances:

    -   nginx_status_url: http://localhost/nginx_status/
        tags:
            -   instance:foo

當你提供了 status URL 和任意 tag,將配置檔案儲存為 conf.d/nginx.yaml。

重啟代理

你必須重新啟動代理程式來載入新的配置檔案。重新啟動命令在這裡,根據平臺的不同而不同。

檢查配置檔案

要檢查 Datadog 和 NGINX 是否正確整合,執行 Datadog 的 info 命令。每個平臺使用的命令看這兒

如果配置是正確的,你會看到這樣的輸出:

Checks
======

  [...]

  nginx
  -----
      - instance #0 [OK]
      - Collected 8 metrics & 0 events

安裝整合

最後,在你的 Datadog 帳戶開啟“Nginx 整合”。這非常簡單,你只要在 NGINX 整合設定中點選“Install Integration”按鈕。

如何使用 Datadog 監控 NGINX(第三篇)

指標!

一旦代理開始報告 NGINX 指標,你會看到一個 NGINX 儀表盤出現在在你 Datadog 可用儀表盤的列表中。

基本的 NGINX 儀表盤顯示有用的圖表,囊括了幾個我們的 NGINX 監控介紹中的關鍵指標。 (一些指標,特別是請求處理時間要求進行日誌分析,Datadog 不支援。)

你可以通過增加 NGINX 之外的重要指標的圖表來輕鬆建立一個全面的儀表盤,以監控你的整個網站設施。例如,你可能想監視你 NGINX 的主機級的指標,如系統負載。要構建一個自定義的儀表盤,只需點選靠近儀表盤的右上角的選項並選擇“Clone Dash”來克隆一個預設的 NGINX 儀表盤。

如何使用 Datadog 監控 NGINX(第三篇)

你也可以使用 Datadog 的主機地圖在更高層面監控你的 NGINX 例項,舉個例子,用顏色標示你所有的 NGINX 主機的 CPU 使用率來辨別潛在熱點。

如何使用 Datadog 監控 NGINX(第三篇)

NGINX 指標警告

一旦 Datadog 捕獲並視覺化你的指標,你可能會希望建立一些監控自動地密切關注你的指標,並當有問題提醒你。下面將介紹一個典型的例子:一個提醒你 NGINX 吞吐量突然下降時的指標監控器。

監控 NGINX 吞吐量

Datadog 指標警報可以是“基於吞吐量的”(當指標超過設定值會警報)或“基於變化幅度的”(當指標的變化超過一定範圍會警報)。在這個例子裡,我們會採取後一種方式,當每秒傳入的請求急劇下降時會提醒我們。下降往往意味著有問題。

  1. 建立一個新的指標監控。從 Datadog 的“Monitors”下拉選單中選擇“New Monitor”。選擇“Metric”作為監視器型別。如何使用 Datadog 監控 NGINX(第三篇)
  2. 定義你的指標監視器。我們想知道 NGINX 每秒總的請求量下降的數量,所以我們在基礎設施中定義我們感興趣的 nginx.net.requestpers 之和。如何使用 Datadog 監控 NGINX(第三篇)
  3. 設定指標警報條件。我們想要在變化時警報,而不是一個固定的值,所以我們選擇“Change Alert”。我們設定監控為無論何時請求量下降了30%以上時警報。在這裡,我們使用一個一分鐘的資料視窗來表示 “now” 指標的值,對橫跨該間隔內的平均變化和之前 10 分鐘的指標值作比較。如何使用 Datadog 監控 NGINX(第三篇)
  4. 自定義通知。如果 NGINX 的請求量下降,我們想要通知我們的團隊。在這個例子中,我們將給 ops 團隊的聊天室傳送通知,並給值班工程師傳送簡訊。在“Say what’s happening”中,我們會為監控器命名,並新增一個伴隨該通知的短訊息,建議首先開始調查的內容。我們會 @ ops 團隊使用的 Slack,並 @pagerduty 將警告發給簡訊如何使用 Datadog 監控 NGINX(第三篇)
  5. 儲存整合監控。點選頁面底部的“Save”按鈕。你現在在監控一個關鍵的 NGINX 工作指標,而當它快速下跌時會給值班工程師發簡訊。

結論

在這篇文章中,我們談到了通過整合 NGINX 與 Datadog 來視覺化你的關鍵指標,並當你的網路基礎架構有問題時會通知你的團隊。

如果你一直使用你自己的 Datadog 賬號,你現在應該可以極大的提升你的 web 環境的視覺化,也有能力對你的環境、你所使用的模式、和對你的組織最有價值的指標建立自動監控。

如果你還沒有 Datadog 帳戶,你可以註冊免費試用,並開始監視你的基礎架構,應用程式和現在的服務。

相關文章