首頁 > Java > java教程 > Java 中的 Prometheus 和 Grafana 入門

Java 中的 Prometheus 和 Grafana 入門

Barbara Streisand
發布: 2024-11-22 00:58:14
原創
410 人瀏覽過

監控是應用程式效能管理的重要面向。隨著應用程式規模的擴大,確保它們平穩運行並持續追蹤系統運行狀況變得勢在必行。在微服務、分散式系統和雲端原生應用程式中,監控工具不僅僅是一個附加元件,而且是基礎架構的關鍵部分。

用於監控現代系統的兩種最受歡迎的工具是 Prometheus 和 Grafana。這些工具通常用於收集、儲存和視覺化指標,幫助開發人員和營運團隊偵測問題、分析效能並保持系統高效運作。

為什麼我們需要監控?

監控對於在問題影響使用者之前識別問題至關重要。無論您使用的是基於 Java 的後端、複雜的微服務環境或任何其他系統,持續監控都可以提供以下見解:

  • 應用程式效能:
    追蹤關鍵效能指標,例如回應時間、請求和錯誤率。

  • 系統健康狀況:
    監控伺服器運作狀況、CPU 使用情況、記憶體使用情況和磁碟空間,以確保基礎架構以最佳狀態運作。

  • 警報:
    為關鍵指標設定閾值和警報,以便在出現問題時通知您。

  • 容量規劃:
    收集和分析歷史資料可以幫助您規劃應用程式的擴充。

Prometheus 和 Grafana 提供強大的解決方案來監控、視覺化和分析系統和應用程式中的數據。

Getting Started with Prometheus and Grafana in Java

Grafana 和 Prometheus 簡介

普羅米修斯
Prometheus 是一個開源監控和警報工具包,旨在提高可靠性和可擴展性。它專注於採集時序數據,支援多維數據採集,可以進行強大的查詢和分析。 Prometheus 透過 HTTP 端點從目標收集指標並儲存在時間序列資料庫中。然後可以使用 Prometheus 的查詢語言 PromQL 來查詢這些指標。

格拉法納
Grafana 是一個用於監控和可觀察性的開源平台。它允許用戶可視化來自多個來源的時間序列數據,包括 Prometheus。 Grafana 能夠創建儀表板、設定警報以及與各種資料來源集成,這使其成為最受歡迎的指標視覺化工具之一。

Prometheus 共同收集指標,而 Grafana 以互動且具有視覺吸引力的方式顯示它們。

在 Docker 中運行 Prometheus

在 Docker 中運行 Prometheus 和 Grafana 是一種簡單有效的快速建​​立監控環境的方法。讓我們從在 Docker 中運行 Prometheus 開始。

第 1 步:在 Docker 中執行 Prometheus
您可以使用以下命令將 Prometheus 作為容器運行:

docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus
登入後複製
登入後複製

此指令將:

  • 啟動一個Prometheus容器。
  • 將本機連接埠9090對應到容器的連接埠9090
  • 使用 Docker Hub 上的官方 Prometheus Docker 映像。 您可以透過開啟瀏覽器並導航至 http://localhost:9090/ 來驗證 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 儀表板。

Getting Started with Prometheus and Grafana in Java

在 Docker 中運行 Grafana

現在 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。預設登入憑證是:

  • 使用者名稱:admin
  • 密碼:admin

Getting Started with Prometheus and Grafana in Java

第 4 步:連接 Prometheus 和 Grafana
現在 Prometheus 和 Grafana 都在運行,下一步就是連接它們。 Grafana 需要知道從哪裡取得指標。以下是如何在 Grafana 中加入 Prometheus 作為資料來源:

  1. 登入Grafana
  2. 點選左側邊欄的齒輪圖示開啟設定選單。
  3. 選擇資料來源
  4. 點選新增資料來源
  5. 選擇Prometheus作為資料來源類型。
  6. HTTP 部分中,設定您的 Prometheus 實例的 URL(例如,http://172.0.0.1:9090)。
  7. 點選儲存並測試以確保Grafana能夠成功連接到Prometheus。

建立範例 Java 項目

讓我們建立一個簡單的基於 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 應用程式收集指標。

Getting Started with Prometheus and Grafana in Java

連結一切

此時,您已經:

  • Prometheus 從您的 Java 應用程式中抓取指標。
  • Grafana 設定為視覺化工具。

第 7 步:在 Grafana 中建立儀表板
要在 Grafana 中可視化資料:

  1. 前往 Grafana 中的 儀表板 選項卡。
  2. 點選新建儀表板
  3. 新增面板並選擇Prometheus作為資料來源。
  4. PromQL 查詢來擷取指標,例如 http_requests_total.

您現在可以建立一個包含各種面板的儀表板,顯示請求計數、回應時間和錯誤率等指標。

Getting Started with Prometheus and Grafana in Java

監控對於維持高可用性和效能至關重要。透過 Prometheus 和 Grafana 等工具,您可以輕鬆為 Java 應用程式設定高效的監控解決方案。

以上是Java 中的 Prometheus 和 Grafana 入門的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板