如果你已經閱讀了前面的如何監控 NGINX,你應該知道從你網路環境的幾個指標中可以獲取多少資訊。而且你也看到了從 NGINX 特定的基礎中收集指標是多麼容易的。但要實現全面,持續的監控 NGINX,你需要一個強大的監控系統來儲存並將指標視覺化,當異常發生時能提醒你。在這篇文章中,我們將向你展示如何使用 Datadog 安裝 NGINX 監控,以便你可以在定製的儀表盤中檢視這些指標:
Datadog 允許你以單個主機、服務、流程和度量來構建圖形和警告,或者使用它們的幾乎任何組合構建。例如,你可以監控你的所有主機,或者某個特定可用區域的所有NGINX主機,或者您可以監視具有特定標籤的所有主機的一個關鍵指標。本文將告訴您如何:
- 在 Datadog 儀表盤上監控 NGINX 指標,就像監控其他系統一樣
- 當一個關鍵指標急劇變化時設定自動警報來通知你
配置 NGINX
為了收集 NGINX 指標,首先需要確保 NGINX 已啟用 status 模組和一個 報告 status 指標的 URL。一步步的配置開源 NGINX 和 NGINX Plus 請參見之前的相關文章。
整合 Datadog 和 NGINX
安裝 Datadog 代理
Datadog 代理是一個開源軟體,它能收集和報告你主機的指標,這樣就可以使用 Datadog 檢視和監控他們。安裝這個代理通常僅需要一個命令
只要你的代理啟動並執行著,你會看到你主機的指標報告在你 Datadog 賬號下。
配置 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”按鈕。
指標!
一旦代理開始報告 NGINX 指標,你會看到一個 NGINX 儀表盤出現在在你 Datadog 可用儀表盤的列表中。
基本的 NGINX 儀表盤顯示有用的圖表,囊括了幾個我們的 NGINX 監控介紹中的關鍵指標。 (一些指標,特別是請求處理時間要求進行日誌分析,Datadog 不支援。)
你可以透過增加 NGINX 之外的重要指標的圖表來輕鬆建立一個全面的儀表盤,以監控你的整個網站設施。例如,你可能想監視你 NGINX 的主機級的指標,如系統負載。要構建一個自定義的儀表盤,只需點選靠近儀表盤的右上角的選項並選擇“Clone Dash”來克隆一個預設的 NGINX 儀表盤。
你也可以使用 Datadog 的主機地圖在更高層面監控你的 NGINX 例項,舉個例子,用顏色標示你所有的 NGINX 主機的 CPU 使用率來辨別潛在熱點。
NGINX 指標警告
一旦 Datadog 捕獲並視覺化你的指標,你可能會希望建立一些監控自動地密切關注你的指標,並當有問題提醒你。下面將介紹一個典型的例子:一個提醒你 NGINX 吞吐量突然下降時的指標監控器。
監控 NGINX 吞吐量
Datadog 指標警報可以是“基於吞吐量的”(當指標超過設定值會警報)或“基於變化幅度的”(當指標的變化超過一定範圍會警報)。在這個例子裡,我們會採取後一種方式,當每秒傳入的請求急劇下降時會提醒我們。下降往往意味著有問題。
-
建立一個新的指標監控。從 Datadog 的“Monitors”下拉選單中選擇“New Monitor”。選擇“Metric”作為監視器型別。
-
定義你的指標監視器。我們想知道 NGINX 每秒總的請求量下降的數量,所以我們在基礎設施中定義我們感興趣的 nginx.net.requestpers 之和。
-
設定指標警報條件。我們想要在變化時警報,而不是一個固定的值,所以我們選擇“Change Alert”。我們設定監控為無論何時請求量下降了30%以上時警報。在這裡,我們使用一個一分鐘的資料視窗來表示 “now” 指標的值,對橫跨該間隔內的平均變化和之前 10 分鐘的指標值作比較。
-
自定義通知。如果 NGINX 的請求量下降,我們想要通知我們的團隊。在這個例子中,我們將給 ops 團隊的聊天室傳送通知,並給值班工程師傳送簡訊。在“Say what’s happening”中,我們會為監控器命名,並新增一個伴隨該通知的短訊息,建議首先開始調查的內容。我們會 @ ops 團隊使用的 Slack,並 @pagerduty 將警告發給簡訊。
-
儲存整合監控。點選頁面底部的“Save”按鈕。你現在在監控一個關鍵的 NGINX 工作指標,而當它快速下跌時會給值班工程師發簡訊。
結論
在這篇文章中,我們談到了透過整合 NGINX 與 Datadog 來視覺化你的關鍵指標,並當你的網路基礎架構有問題時會通知你的團隊。
如果你一直使用你自己的 Datadog 賬號,你現在應該可以極大的提升你的 web 環境的視覺化,也有能力對你的環境、你所使用的模式、和對你的組織最有價值的指標建立自動監控。
如果你還沒有 Datadog 帳戶,你可以註冊免費試用,並開始監視你的基礎架構,應用程式和現在的服務。
via: https://www.datadoghq.com/blog/how-to-monitor-nginx-with-datadog/
作者:K Young 譯者:strugglingyouth 校對:wxy
本文由 LCTT 原創翻譯,Linux中國 榮譽推出