<option id="mwy0y"><strong id="mwy0y"></strong></option>
  • <ul id="mwy0y"><sup id="mwy0y"></sup></ul>
  • <ul id="mwy0y"></ul>
  • <del id="mwy0y"><dfn id="mwy0y"></dfn></del><ul id="mwy0y"><sup id="mwy0y"></sup></ul>
  • <abbr id="mwy0y"></abbr>

    千鋒教育-做有情懷、有良心、有品質的職業教育機構

    400-811-9990
    手機站
    千鋒教育

    千鋒學習站 | 隨時隨地免費學

    千鋒教育

    掃一掃進入千鋒手機站

    領取全套視頻
    千鋒教育

    關注千鋒學習站小程序
    隨時隨地免費學習課程

    上海
    • 北京
    • 鄭州
    • 武漢
    • 成都
    • 西安
    • 沈陽
    • 廣州
    • 南京
    • 深圳
    • 大連
    • 青島
    • 杭州
    • 重慶
    當前位置:長沙千鋒IT培訓  >  技術干貨  >  使用Prometheus監控你的容器化應用程序!

    使用Prometheus監控你的容器化應用程序!

    來源:千鋒教育
    發布人:xqq
    時間: 2023-12-23 19:03:48

    使用Prometheus監控你的容器化應用程序!

    如果你正在使用Docker或Kubernetes等容器化技術來運行你的應用程序,那么監控它們的性能和狀態就特別重要。 Prometheus是一種開源的監控系統,可以幫助你收集和分析應用程序的指標,并提供警報和可視化工具,以便快速診斷問題。

    在本文中,我們將介紹如何設置一個基本的Prometheus服務器和使用它來監控一個簡單的Docker容器應用程序。

    安裝和啟動Prometheus服務器

    首先,我們需要安裝Prometheus服務器。你可以通過訪問Prometheus的官方網站來獲取最新的版本。在本文中,我們將使用v2.22.0版本。

    首先,下載二進制文件:

    $ wget https://github.com/prometheus/prometheus/releases/download/v2.22.0/prometheus-2.22.0.linux-amd64.tar.gz

    接下來,解壓縮文件并進入解壓后的目錄:

    $ tar -zxvf prometheus-2.22.0.linux-amd64.tar.gz$ cd prometheus-2.22.0.linux-amd64/

    Prometheus服務器需要一個配置文件來指定它需要監控的目標和規則。在本例中,我們將創建一個簡單的配置文件,以便Prometheus可以監控本地運行的應用程序。創建一個名為prometheus.yml的文件,并添加以下內容:

    yaml

    global:

    scrape_interval: 15s

    scrape_configs:

    - job_name: 'prometheus'

    static_configs:

    - targets: ['localhost:9090']

    - job_name: 'my-app'

    static_configs:

    - targets: ['localhost:8080']

    這里的配置文件指定了兩個目標:prometheusmy-appprometheus是Prometheus服務器自己的指標,而my-app是我們將要運行的應用程序。接下來,我們需要啟動Prometheus服務器。通過運行以下命令來啟動它:

    $ ./prometheus --config.file=prometheus.yml

    現在,你應該可以通過瀏覽器訪問Prometheus服務器的Web界面(http://localhost:9090/)了。在這個界面上,你可以使用PromQL查詢語言來查詢你的指標,并使用內置的可視化工具來顯示它們。創建一個簡單的Docker應用程序現在,我們將創建一個簡單的Docker容器應用程序,并將其添加到Prometheus監視列表中。我們將使用Python Flask框架來創建一個簡單的Web應用程序。在終端中輸入以下命令來安裝Flask:

    $ pip install Flask

    現在,創建一個名為app.py`的Python文件,并添加以下內容:`pythonfrom flask import Flaskimport randomimport timeapp = Flask(__name__)@app.route('/')def hello():    return 'Hello, World!'@app.route('/random')def random_number():    time.sleep(1) # simulate a slow request    return str(random.randint(1, 100))if __name__ == '__main__':    app.run(debug=True, host='0.0.0.0')

    這個應用程序有兩個路由:`//random`。前者只是返回一個簡單的“Hello, World!”消息,而后者會等待一秒鐘并返回一個1到100之間的隨機數。

    現在,我們可以使用Docker來構建和運行它。我們將使用Dockerfile來定義我們的Docker鏡像。創建一個名為Dockerfile的文件,并添加以下內容:

    dockerfile

    FROM python:3.9-slim-buster

    WORKDIR /app

    COPY . /app

    RUN pip install Flask

    EXPOSE 8080

    CMD ["python", "app.py"]

    這個Dockerfile從Python 3.9鏡像開始,并將我們的應用程序復制到容器中。然后,它使用pip來安裝Flask,并在端口8080上暴露我們的應用程序。最后,它使用CMD指令來運行我們的應用程序。現在,我們可以使用Docker來構建和運行它。先構建鏡像:

    $ docker build -t my-app .

    然后運行鏡像:

    $ docker run -p 8080:8080 my-app

    現在,通過訪問http://localhost:8080/http://localhost:8080/random,你應該可以訪問我們的應用程序了。將應用程序添加到Prometheus監視列表中最后一步是將我們的應用程序添加到我們的Prometheus監控列表中。為此,我們需要在我們的應用程序中添加一個Prometheus客戶端庫,并告訴它在哪里暴露指標。在Python中,我們可以使用prometheus_client庫來實現這一點。我們可以使用pip來安裝它:

    $ pip install prometheus_client

    接下來,我們需要修改app.py`文件,以使用Prometheus客戶端庫來暴露我們的指標。將以下內容添加到文件頂部:`pythonfrom prometheus_client import start_http_server, Counter

    然后,在__main__函數中添加以下代碼:

    python

    # Start Prometheus HTTP server

    start_http_server(8000)

    # Define a counter metric for HTTP requests

    REQUEST_COUNT = Counter('http_requests_total', 'Total HTTP Requests')

    # Increment the counter for each incoming request

    @app.route('/')

    def hello():

    REQUEST_COUNT.inc()

    return 'Hello, World!'

    # Define a counter metric for random number requests

    RANDOM_COUNT = Counter('random_number_requests_total', 'Total Random Number Requests')

    # Increment the counter for each incoming request

    @app.route('/random')

    def random_number():

    RANDOM_COUNT.inc()

    time.sleep(1) # simulate a slow request

    return str(random.randint(1, 100))

    在這里,我們使用start_http_server函數在8000端口上啟動一個Prometheus HTTP服務器。然后,我們定義了兩個計數器指標:http_requests_totalrandom_number_requests_total。這些指標將跟蹤我們應用程序的HTTP請求計數。最后,我們在每個路由函數中使用inc方法來增加計數器的值。現在,重新構建和運行我們的Docker容器,并將其暴露在8080端口上:

    $ docker build -t my-app .

    $ docker run -p 8080:8080 -p 8000:8000 my-app

    現在,訪問http://localhost:8080/http://localhost:8080/random,并刷新一些頁面。然后,通過訪問http://localhost:8000/metrics`,你可以看到Prometheus服務器正在收集我們應用程序的指標了。

    結論

    在本文中,我們介紹了如何設置一個基本的Prometheus服務器,并將一個簡單的Docker容器應用程序添加到監視列表中。我們還使用Prometheus客戶端庫來暴露應用程序的指標,并使用PromQL查詢語言和內置的可視化工具來可視化和分析指標。這是一個開始,你可以繼續擴展設置和添加更復雜的指標和規則,以滿足你的需要。

    聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。

    猜你喜歡LIKE

    深入剖析Kubernetes的工作原理和核心概念

    2023-12-23

    使用Prometheus監控你的容器化應用程序!

    2023-12-23

    如何在Linux下安裝最新的OpenJDK11?

    2023-12-23

    最新文章NEW

    Linux系統管理員的必備技能之一Shell編程

    2023-12-23

    AWS詳細解析使用EC2實現高可用架構的最佳實踐

    2023-12-23

    運維必備在Linux系統中優化TCP/IP協議棧

    2023-12-23

    相關推薦HOT

    更多>>

    快速通道 更多>>

    最新開班信息 更多>>

    網友熱搜 更多>>