監控是應用程式效能管理的重要面向。隨著應用程式規模的擴大,確保它們平穩運行並持續追蹤系統運行狀況變得勢在必行。在微服務、分散式系統和雲端原生應用程式中,監控工具不僅僅是一個附加元件,而且是基礎架構的關鍵部分。
用於監控現代系統的兩種最受歡迎的工具是 Prometheus 和 Grafana。這些工具通常用於收集、儲存和視覺化指標,幫助開發人員和營運團隊偵測問題、分析效能並保持系統高效運作。
監控對於在問題影響使用者之前識別問題至關重要。無論您使用的是基於 Java 的後端、複雜的微服務環境或任何其他系統,持續監控都可以提供以下見解:
應用程式效能:
追蹤關鍵效能指標,例如回應時間、請求和錯誤率。
系統健康狀況:
監控伺服器運作狀況、CPU 使用情況、記憶體使用情況和磁碟空間,以確保基礎架構以最佳狀態運作。
警報:
為關鍵指標設定閾值和警報,以便在出現問題時通知您。
容量規劃:
收集和分析歷史資料可以幫助您規劃應用程式的擴充。
Prometheus 和 Grafana 提供強大的解決方案來監控、視覺化和分析系統和應用程式中的數據。
普羅米修斯
Prometheus 是一個開源監控和警報工具包,旨在提高可靠性和可擴展性。它專注於採集時序數據,支援多維數據採集,可以進行強大的查詢和分析。 Prometheus 透過 HTTP 端點從目標收集指標並儲存在時間序列資料庫中。然後可以使用 Prometheus 的查詢語言 PromQL 來查詢這些指標。
格拉法納
Grafana 是一個用於監控和可觀察性的開源平台。它允許用戶可視化來自多個來源的時間序列數據,包括 Prometheus。 Grafana 能夠創建儀表板、設定警報以及與各種資料來源集成,這使其成為最受歡迎的指標視覺化工具之一。
Prometheus 共同收集指標,而 Grafana 以互動且具有視覺吸引力的方式顯示它們。
在 Docker 中運行 Prometheus 和 Grafana 是一種簡單有效的快速建立監控環境的方法。讓我們從在 Docker 中運行 Prometheus 開始。
第 1 步:在 Docker 中執行 Prometheus
您可以使用以下命令將 Prometheus 作為容器運行:
docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus
此指令將:
第 2 步:配置 Prometheus
如果需要將 Prometheus 配置為從特定端點(例如 Java 應用程式)抓取指標,則必須調整 Prometheus 設定檔。透過將其安裝到容器中,您可以使用自訂的 prometheus.yml 檔案來執行 Prometheus。這是一個例子:
docker run \ -p 9090:9090 \ -v /prometheus.yml:/etc/prometheus/prometheus.yml \ prom/prometheus
這會將本機 prometheus.yml 檔案掛載到容器中。啟動 Prometheus 後,您可以造訪 http://localhost:9090/ 存取 Prometheus 儀表板。
現在 Prometheus 正在運行,添加 Grafana 來視覺化資料是時候了。
第 3 步:在 Docker 中執行 Grafana
Grafana 透過 Docker 部署起來很簡單。執行以下命令啟動 Grafana 容器:
在 Docker 中執行 Grafana
docker run -d -p 3000:3000 grafana/grafana-enterprise
Grafana 運行後,您可以透過 http://localhost:3000/login 存取 Web UI。預設登入憑證是:
第 4 步:連接 Prometheus 和 Grafana
現在 Prometheus 和 Grafana 都在運行,下一步就是連接它們。 Grafana 需要知道從哪裡取得指標。以下是如何在 Grafana 中加入 Prometheus 作為資料來源:
讓我們建立一個簡單的基於 Java 的項目,向 Prometheus 公開指標。我們將使用 Micrometer,這是一個基於 JVM 的應用程式的指標收集外觀,它可以輕鬆地與 Prometheus 整合。
第 5 步:建立 Java 應用程式
將必要的依賴項新增至您的 pom.xml 檔案:
連接一切。
docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus
然後,在您的 Java 應用程式中,公開 Prometheus 可以抓取的端點。例如:
docker run \ -p 9090:9090 \ -v /prometheus.yml:/etc/prometheus/prometheus.yml \ prom/prometheus
此設定建立 Prometheus 可以抓取的端點/指標。它公開了 Micrometer 收集的指標,並以 Prometheus 格式提供。
第 6 步:向 Prometheus 公開指標
現在 Java 應用程式正在收集指標,我們需要告訴 Prometheus 從您的應用程式中抓取 /metrics 端點。更新您的 prometheus.yml 設定檔以包含目標:
docker run -d -p 3000:3000 grafana/grafana-enterprise
如果在同一台電腦上執行,請替換為 IP 位址或本機。 Prometheus 現在將從您的 Java 應用程式收集指標。
此時,您已經:
第 7 步:在 Grafana 中建立儀表板
要在 Grafana 中可視化資料:
您現在可以建立一個包含各種面板的儀表板,顯示請求計數、回應時間和錯誤率等指標。
監控對於維持高可用性和效能至關重要。透過 Prometheus 和 Grafana 等工具,您可以輕鬆為 Java 應用程式設定高效的監控解決方案。
以上是Java 中的 Prometheus 和 Grafana 入門的詳細內容。更多資訊請關注PHP中文網其他相關文章!