乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      EMQX+Prometheus+Grafana:MQTT 數(shù)據(jù)可視化監(jiān)控實(shí)踐

       EMQ映云科技 2022-12-12 發(fā)布于云南

      前言

      作為一款全球下載量超千萬的大規(guī)模分布式物聯(lián)網(wǎng) MQTT 服務(wù)器,最新發(fā)布的 EMQX 5.0 不僅全球首個(gè)達(dá)成單集群 1 億 MQTT 連接支持,也是首個(gè)將 QUIC 引入 MQTT 的開創(chuàng)性產(chǎn)品。如今,EMQX 在各個(gè)行業(yè)為高可靠、高性能的物聯(lián)網(wǎng)實(shí)時(shí)數(shù)據(jù)移動、處理和集成提供著動力,助力企業(yè)構(gòu)建關(guān)鍵業(yè)務(wù)的 IoT 應(yīng)用。

      在使用 EMQX 的過程中,不管是用戶、運(yùn)維人員還是開發(fā)者,都需要對其運(yùn)行狀態(tài)及產(chǎn)生的指標(biāo)數(shù)據(jù)進(jìn)行監(jiān)控與觀察,以便及時(shí)發(fā)現(xiàn)問題并處理。除使用內(nèi)置的 Dashboard 以外,我們還可以通過 EMQX 提供的 API 來將監(jiān)控?cái)?shù)據(jù)集成到第三方監(jiān)控平臺中,對包括集群節(jié)點(diǎn)狀態(tài)、連接、訂閱主題數(shù)、消息吞吐量等 EMQX 運(yùn)行狀態(tài)相關(guān)指標(biāo)進(jìn)行監(jiān)控。

      使用第三方監(jiān)控系統(tǒng)對 EMQX 進(jìn)行監(jiān)控有如下好處:

      • 可以將 EMQX 的監(jiān)控?cái)?shù)據(jù)與其他系統(tǒng)的監(jiān)控?cái)?shù)據(jù)進(jìn)行整合,形成一個(gè)完整的監(jiān)控系統(tǒng),如監(jiān)控服務(wù)器主機(jī)的相關(guān)信息;

      • 可以使用更加豐富的監(jiān)控圖表,更直觀地展示監(jiān)控?cái)?shù)據(jù),如使用 Grafana 的儀表盤;

      • 可以使用更加豐富的告警方式,更及時(shí)地發(fā)現(xiàn)問題,如使用 Prometheus 的 Alertmanager。

      本文將以 Prometheus 和 Grafana 為例,介紹如何將 EMQX 5.0 的監(jiān)控?cái)?shù)據(jù)集成到 Prometheus 中,使用 Grafana 來展示 EMQX 的監(jiān)控?cái)?shù)據(jù),并最終搭建出一個(gè)簡單的 EMQX 監(jiān)控系統(tǒng)。

      Prometheus 是由 SoundCloud 開源的監(jiān)控告警解決方案,支持多維數(shù)據(jù)模型、靈活的查詢語言、強(qiáng)大的告警管理等特性。

      Grafana 是一款開源的數(shù)據(jù)可視化工具,支持多種數(shù)據(jù)源,包括 Prometheus。

      準(zhǔn)備工作

      在開始之前,我們需要先準(zhǔn)備好以下運(yùn)行環(huán)境,安裝并運(yùn)行所需要的軟件工具。本文示例將使用 Docker 來安裝和啟動,讀者也可根據(jù)文章中提供的官方下載地址,自行下載安裝包進(jìn)行安裝。

      安裝 EMQX 5.0

      使用 Docker 快速安裝和啟動 EMQX 5.0:

      docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqx/emqx:latest

      除 Docker 安裝外,EMQX 還支持使用 RPM 或 DEB 包安裝,具體安裝方法請參考 EMQX 5.0 安裝指南。

      安裝完成后,我們可以打開 http://localhost:18083來訪問 EMQX 的 Dashboard,查看 EMQX 的運(yùn)行狀態(tài)。如果能夠正常訪問到 EMQX 的 Dashboard,此時(shí)說明 EMQX 已經(jīng)安裝成功。

      安裝 Prometheus

      同樣,示例中我們將使用 Docker 的方式來快速安裝和使用 Prometheus,因?yàn)榇藭r(shí)我們還沒有開始配置 Prometheus,所以可以先下載一份 Prometheus 官方提供的 Docker 鏡像。

      docker pull prom/prometheus

      在安裝完成后,需要配置一份 Prometheus 的配置文件,用于指定 Prometheus 的數(shù)據(jù)源,以及告警規(guī)則等信息。因此可先將 Prometheus 的配置文件配置好,在啟動時(shí)將配置文件掛載到容器中運(yùn)行即可。具體配置步驟請見后文。

      除使用 Docker 外,也可以參考 Prometheus 官方文檔,下載和使用二進(jìn)制包來安裝和運(yùn)行 Prometheus。

      安裝 Grafana

      使用 Docker 快速安裝和啟動 Grafana:

      docker run -d --name grafana -p 3000:3000 grafana/grafana-oss

      讀者也可以參考 Grafana 官方文檔,下載和使用二進(jìn)制包來安裝和運(yùn)行 Grafana。

      當(dāng) Grafana 啟動完成后,我們可以打開 http://localhost:3000來訪問 Grafana,如果能夠正常訪問到 Grafana 的登錄頁面,此時(shí)說明 Grafana 已經(jīng)安裝成功。

      安裝 Node Exporter

      這是一個(gè)可選的步驟。

      如果想要監(jiān)控部署 EMQX 的主機(jī)信息,可以使用 Node Exporter 來獲取主機(jī)的信息。Node Exporter 用于收集服務(wù)器的監(jiān)控?cái)?shù)據(jù),例如 CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)等信息。

      注意:Node Exporter 僅支持獲取 Linux 系統(tǒng)的監(jiān)控?cái)?shù)據(jù)

      本文不建議使用 Docker 來安裝 Node Exporter。安裝完成后,我們可以通過http://localhost:9100/metrics來訪問 Node Exporter 的監(jiān)控?cái)?shù)據(jù)。如果可以訪問到系統(tǒng)主機(jī)的監(jiān)控?cái)?shù)據(jù),說明 Node Exporter 已經(jīng)安裝成功。

      配置 Prometheus

      完成上述的準(zhǔn)備工作后,我們需要配置 Prometheus,使 Prometheus 可以正常采集到 EMQX 的監(jiān)控?cái)?shù)據(jù)。

      配置 Prometheus 數(shù)據(jù)采集

      Prometheus 通過配置文件來指定數(shù)據(jù)采集的目標(biāo),配置文件默認(rèn)路徑為/etc/prometheus/prometheus.yml,可以通過 --config.file參數(shù)指定配置文件路徑。

      EMQX 5.0 提供了一個(gè)獲取 Prometheus 格式監(jiān)控?cái)?shù)據(jù)的 HTTP API --/api/v5/prometheus/stats,使用該 API 時(shí)無需認(rèn)證信息,我們只需要將其配置到 Prometheus 的配置文件中的metrics_path中即可。

      對于使用 Node Exporter 來獲取主機(jī)監(jiān)控?cái)?shù)據(jù)的用戶,還需要將 Node Exporter 服務(wù)的地址配置到 Prometheus 的配置文件的 static_configs中。

      在 Prometheus 配置文件中,通過 scrape_configs指定數(shù)據(jù)采集的目標(biāo),以下為完整的 Prometheus 配置文件內(nèi)容示例:

      注意:在使用配置文件時(shí),需要將各服務(wù)對應(yīng)的 targets 中的 IP 地址替換為您所部署服務(wù)的真實(shí) IP 地址。如您使用的是本地部署,則可忽略該提醒。

      # prometheus.yaml
      global:
      scrape_interval:     10s # The default scrape interval is every 10 seconds.
      evaluation_interval: 10s # The default evaluation interval is every 10 seconds.
       # On this machine, every time series will be exported by default.
      external_labels:
        monitor: 'emqx-monitor'
      # Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
      rule_files:
       # - "first.rules"
       # - "second.rules"
      - "/etc/prometheus/rules/*.rules"
      # Data pull configuration
      scrape_configs:
       # EMQX monitoring
      - job_name: 'emqx'
        metrics_path: /api/v5/prometheus/stats
        scrape_interval: 5s
        honor_labels: true
        static_configs:
           # EMQX IP address and port
          - targets: [127.0.0.1:18083]
      - job_name: 'node-exporter'
        scrape_interval: 5s
        static_configs:
           # node-exporter IP address and port
          - targets: ['127.0.0.1:9100']
            labels:
              instance: dashboard-local

      在上述配置中,job_name為數(shù)據(jù)采集的任務(wù)名稱,static_configs為數(shù)據(jù)采集的目標(biāo),targets為數(shù)據(jù)采集的目標(biāo)地址,127.0.0.1:18083為 EMQ X 5.0 的 API 服務(wù)的地址端口。

      最后再將上述的配置文件內(nèi)容保存為prometheus.yaml,并將其拷貝到 /etc/prometheus/目錄下,或存儲到您的需要存儲該文件的自定義路徑下。至此我們就完成了 Prometheus 的簡單配置。

      啟動 Prometheus

      在完成了 Prometheus 的配置后,我們就可以通過使用配置文件來啟動 Prometheus 服務(wù)了。如果您是使用 Docker 安裝的 Prometheus,可以通過以下命令啟動 Prometheus:

      docker run -d --name prometheus -p 9090:9090 -v /path/to/your/prometheus.yaml:/etc/prometheus.yaml prom/prometheus --config.file=/etc/prometheus/prometheus.yaml

      如果是通過其它方式下載和安裝的,可以在運(yùn)行 Prometheus 時(shí)指定配置文件路徑,例如:

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

      注意:在使用配置文件時(shí),需要將 /path/to/your/prometheus.yaml替換為您存儲 Prometheus 配置文件的真實(shí)路徑。

      運(yùn)行成功后,打開 http://localhost:9090就可以訪問 Prometheus 的 Dashboard 了。通過 Dashboard 可以查看 Prometheus 的運(yùn)行狀態(tài),輸入 emqx可以查找 EMQX 的監(jiān)控?cái)?shù)據(jù),如果數(shù)據(jù)顯示正常,就表示此時(shí) Prometheus 已經(jīng)成功啟動,并成功采集到 EMQX 的監(jiān)控?cái)?shù)據(jù)。

      關(guān)于使用 Pushgateway

      除直接通過使用包含 EMQX 的 API 配置文件的方式來指定采集數(shù)據(jù)指標(biāo)外,EMQX 同樣支持使用 Pushgateway 來采集數(shù)據(jù)指標(biāo)。

      Pushgateway 為 Prometheus 的一個(gè)組件,用于臨時(shí)存儲數(shù)據(jù)指標(biāo),然后由 Prometheus 從 Pushgateway 中拉取數(shù)據(jù)指標(biāo)。

      通常情況下,我們不需要使用 Pushgateway 服務(wù),因?yàn)?EMQX 本身就支持通過 API 來獲取數(shù)據(jù)指標(biāo)。如果盲目使用 Pushgateway 去獲取數(shù)據(jù),可能會出現(xiàn)一些問題,例如:Pushgateway 監(jiān)視多個(gè)實(shí)例時(shí),Pushgateway 會成為單個(gè)故障點(diǎn),Pushgateway 不會丟棄或者刪除其 Series 并且會一直暴露給 Prometheus,等等。

      但是在某些情況下,我們可能需要使用 Pushgateway 來采集數(shù)據(jù)指標(biāo),例如:當(dāng) EMQX 服務(wù)運(yùn)行在 Docker 容器或 Kubernetes 集群中時(shí),我們可以通過使用 Pushgateway 來采集數(shù)據(jù)指標(biāo),而不需要將 EMQX 的 API 暴露到外部網(wǎng)絡(luò)中。且通常,Pushgateway 中唯一有效用例是用于捕獲服務(wù)級批處理作業(yè)的結(jié)果。

      使用 Docker 安裝 Pushgateway 服務(wù):

      docker run -d --name pushgateway -p 9091:9091 prom/pushgateway

      此時(shí),我們可以通過 http://localhost:9091來訪問 Pushgateway 的 Dashboard。

      EMQX 提供了一個(gè)配置 Pushgateway 服務(wù)的 API,可以將 EMQX 的數(shù)據(jù)指標(biāo)通過配置上報(bào)到 Pushgateway 的服務(wù)地址中,并最終由 Prometheus 從 Pushgateway 中拉取數(shù)據(jù)指標(biāo)。同時(shí)也可以直接在 EMQX Dashboard 中配置 Pushgateway 的服務(wù)地址,輸入完成后,點(diǎn)擊更新即可。

      使用 Pushgateway 需要在 Prometheus 的配置文件的 scrape_configs中新增如下配置:

      注意:配置中的 targets 需要替換為您真實(shí)的 Pushgateway 服務(wù)地址。

      # EMQX Pushgateway monitoring
      - job_name: 'pushgateway'
      scrape_interval: 5s
      honor_labels: true
      static_configs:
         # Pushgateway IP address and port
        - targets: ['127.0.0.1:9091']

      完成配置后,同樣根據(jù)上述中啟動 Prometheus 的操作,使用配置文件啟動 Prometheus 服務(wù),即可完成 EMQX 的監(jiān)控配置。

      配置 Grafana

      在完成了使用 Prometheus 采集 EMQX 數(shù)據(jù)指標(biāo)的配置后,我們就可以使用 Grafana 來可視化監(jiān)控 EMQX 的指標(biāo)數(shù)據(jù)了。經(jīng)過前文的準(zhǔn)備工作,我們已經(jīng)可以成功打開 Grafana 的 Web 控制臺了。初次使用 Grafana 的默認(rèn)賬號和密碼為 admin,登錄成功后,我們就可以添加數(shù)據(jù)源了。

      添加 Prometheus 數(shù)據(jù)源

      使用 Grafana 可以將 Prometheus 作為數(shù)據(jù)源,添加 Prometheus 數(shù)據(jù)源的步驟如下:

      • 點(diǎn)擊左側(cè)的 Configuration,然后點(diǎn)擊 Data Sources,進(jìn)入數(shù)據(jù)源配置頁面;

      • 點(diǎn)擊 Add data source,選擇 Prometheus;

      • HTTP配置中,輸入 Prometheus 服務(wù)的地址,例如:http://127.0.0.1:9090;

      • 最后點(diǎn)擊 Save & Test,如果配置正確,會顯示 Data source is working,表示配置成功。

      配置完成后,我們就可以在 Grafana 中使用 Prometheus 作為數(shù)據(jù)源來獲取監(jiān)控?cái)?shù)據(jù)了。接下來我們可以繼續(xù)添加 Dashboard 的模版來可視化監(jiān)控 EMQX 的數(shù)據(jù)指標(biāo),也可以手動新建一個(gè) Dashboard,根據(jù)自己的需求來添加圖表。

      導(dǎo)入 Dashboard

      我們提供給了一個(gè)默認(rèn)的 Grafana 的 Dashboard 模板,可以直接導(dǎo)入到 Grafana 中,然后選擇剛才新建的 Prometheus 數(shù)據(jù)源,倒入成功后打開監(jiān)控面板后,就可以看到 EMQX 的監(jiān)控?cái)?shù)據(jù)了。

      默認(rèn)的 Dashboard 模板可以在 EMQX | Grafana Dashboard 中下載,也可以在 EMQX Dashboard 的 監(jiān)控集成配置頁面中的幫助頁面里,點(diǎn)擊 下載按鈕下載。

      具體的導(dǎo)入步驟如下:

      1.點(diǎn)擊左側(cè)的 Import,進(jìn)入導(dǎo)入 Dashboard 的頁面;

      2.點(diǎn)擊 Upload JSON file,選擇剛才下載的 Dashboard 模板 來導(dǎo)入,或直接輸入 https:///grafana/dashboards/17446-emqx/ 地址在 Import via 欄下的輸入框中;

      3.點(diǎn)擊 Load,選擇剛才新建的 Prometheus 數(shù)據(jù)源,點(diǎn)擊 Import,即可導(dǎo)入 Dashboard 模板。

      導(dǎo)入 Dashboard 模板后,就可以在監(jiān)控面板內(nèi)看到 EMQX 的監(jiān)控?cái)?shù)據(jù)了,如下圖所示:

      注意:該模版默認(rèn)情況下將監(jiān)控整個(gè) EMQX 集群下的指標(biāo)數(shù)據(jù)

      以下為該模版中默認(rèn)顯示的指標(biāo):

      • 常規(guī)指標(biāo),包括連接數(shù)、主題數(shù)和訂閱數(shù);

      • 消息指標(biāo),包括發(fā)布和接收的消息數(shù)量,以及每秒發(fā)布和接收的消息數(shù)量;

      • 系統(tǒng)指標(biāo),包括進(jìn)程數(shù)、CPU 和 Erlang VM 內(nèi)存等(需要使用 Node Exporter);

      • 數(shù)據(jù)報(bào)文指標(biāo),包括連接、發(fā)布、接收的報(bào)文數(shù)量等。

      您也可以根據(jù)默認(rèn)模版,自定義修改 Dashboard,添加自己需要的指標(biāo)或修改圖表的樣式等,具體操作步驟可參考 Grafana 官方文檔。

      在 EMQX Dashboard 中輕松配置集成 Prometheus

      從 EMQX 5.0.11 版本起,用戶可以在 EMQX Dashboard 中的 功能配置-> 監(jiān)控-> 監(jiān)控集成頁面中,選擇 Prometheus,并在該選項(xiàng)下點(diǎn)擊「幫助」按鈕來獲取更多的監(jiān)控集成操作信息,在指導(dǎo)下更輕松地配置 Prometheus。

      您只需要根據(jù)幫助頁面的步驟提示,安裝 Prometheus 和 Grafana 服務(wù),然后在配置項(xiàng)填入一些關(guān)鍵的配置信息,如 EMQX 的地址、獲取指標(biāo)數(shù)據(jù)的 API 等,點(diǎn)擊生成按鈕就可自動生成并下載配置文件,還可以下載默認(rèn)的 Grafana Dashboard 模板。

      同樣在幫助頁面中,可以分為默認(rèn)和使用 Pushgateway 兩種配置方式。使用 Pushgateway 的配置方式,可以在頁面中打開啟動開關(guān),輸入 Pushgateway 的地址和上報(bào)數(shù)據(jù)時(shí)間,點(diǎn)擊保存后,即可完成配置。

      更多關(guān)于如何在 Dashboard 中配置集成 Prometheus 的信息,可以參考 EMQ X Dashboard 配置監(jiān)控集成的文檔。

      總結(jié)

      本文介紹了如何使用 Prometheus 采集 EMQX 的數(shù)據(jù)指標(biāo),并使用 Grafana 對其進(jìn)行可視化監(jiān)控。

      閱讀我們的指標(biāo)監(jiān)控文檔,了解更多關(guān)于您可以查詢到的數(shù)據(jù)指標(biāo)。

      有關(guān)使用該監(jiān)控系統(tǒng)中的規(guī)則和配置告警的更多詳細(xì)教程文章,敬請關(guān)注后續(xù)推送。

      版權(quán)聲明: 本文為 EMQ 原創(chuàng),轉(zhuǎn)載請注明出處。

      原文鏈接:https://www./zh/blog/emqx-prometheus-grafana

        本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多