日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

基于TimeStream對接Prometheus+Grafana實(shí)現(xiàn)可觀測性

更新時(shí)間:

TimeStream是阿里云Elasticsearch團(tuán)隊(duì)自研,并結(jié)合Elastic社區(qū)時(shí)序類產(chǎn)品特性共建的時(shí)序引擎。阿里云Elasticsearch支持無縫對接Prometheus+Grafana,支持Prometheus Query相關(guān)的API,可以直接將TimeStream索引作為Grafana的Prometheus數(shù)據(jù)源使用,能夠提高時(shí)序指標(biāo)數(shù)據(jù)存儲與查詢分析的性能,同時(shí)節(jié)約成本。本文介紹如何基于ElasticSearch TimeStream時(shí)序引擎對接Prometheus+Grafana實(shí)現(xiàn)云原生的可觀測性。

背景信息

Prometheus本地存儲會遇到以下問題:

  • 存儲無副本,本地集群機(jī)器宕機(jī)后,Prometheus將無法訪問。

  • 單機(jī)存儲,隨著數(shù)據(jù)量不斷上漲,可能遇到硬件瓶頸,無法橫向擴(kuò)容。

  • 數(shù)據(jù)無備份能力,硬盤損壞后,數(shù)據(jù)可能無法恢復(fù)。

  • 本地磁盤存儲成本高,無法進(jìn)行冷熱分離存儲。

因此在Prometheus的高可用方案中,在存儲側(cè),推薦使用分布式、高可用的遠(yuǎn)端存儲。阿里云Elasticsearch的TimeStream引擎提供了對Prometheus遠(yuǎn)端存儲和查詢的能力,基于Elasticsearch的分布式、彈性、高可用、備份和冷熱分層存儲等能力,可以作為Prometheus遠(yuǎn)端存儲的最佳選擇之一。

阿里云Elasticsearch與Prometheus和Grafana的結(jié)合方式如下圖所示。ES+Prometheus+Grafana架構(gòu)

原理說明如下:

  1. Prometheus收集各個(gè)Exporter的數(shù)據(jù)。

  2. Prometheus通過remote write的方式將收集的數(shù)據(jù)同步到Elasticsearch。

  3. 用戶通過Kibana和Grafana查看Prometheus同步到Elasticsearch中的數(shù)據(jù)。

    說明

    在使用Grafana訪問Elasticsearch中的數(shù)據(jù)時(shí),除了可以使用原生的Elasticsearch DataSource,還可以使用Prometheus的DataSource直接訪問Elasticsearch數(shù)據(jù),并使用PromQL來查看指標(biāo)數(shù)據(jù)。

前提條件

已創(chuàng)建阿里云Elasticsearch實(shí)例,且實(shí)例版本為通用商業(yè)版7.16及以上、內(nèi)核版本為1.7.0及以上,或者實(shí)例版本為通用商業(yè)版7.10、內(nèi)核版本為1.8.0及以上。具體操作請參見創(chuàng)建阿里云Elasticsearch實(shí)例

操作流程

  1. 步驟一:環(huán)境準(zhǔn)備

  2. 步驟二:下載并啟動(dòng)node_exporter

  3. 步驟三:下載、配置并啟動(dòng)Prometheus

  4. 步驟四:下載、啟動(dòng)并配置Grafana Dashboard

步驟一:環(huán)境準(zhǔn)備

  1. 創(chuàng)建通用商業(yè)版7.16版本的阿里云Elasticsearch實(shí)例。

  2. 創(chuàng)建一個(gè)ECS實(shí)例,該實(shí)例要與步驟一中創(chuàng)建的Elasticsearch實(shí)例在相同專有網(wǎng)絡(luò)下,且選擇Linux操作系統(tǒng)。

    創(chuàng)建ECS實(shí)例的具體操作,請參見自定義購買實(shí)例。該ECS實(shí)例用來訪問阿里云Elasticsearch實(shí)例,并部署Prometheus和Grafana,實(shí)現(xiàn)阿里云Elasticsearch與Prometheus和Grafana的結(jié)合。

  3. 創(chuàng)建一個(gè)接收Prometheus數(shù)據(jù)的Elasticsearch TimeStream索引。

    1. 登錄目標(biāo)阿里云Elasticsearch實(shí)例的Kibana控制臺,根據(jù)頁面提示進(jìn)入Kibana主頁。

      登錄Kibana控制臺的具體操作,請參見登錄Kibana控制臺

    2. 在左側(cè)導(dǎo)航欄,單擊展開圖標(biāo)圖標(biāo),然后選擇Management > 開發(fā)工具

    3. 控制臺中,執(zhí)行PUT _time_stream/prom_index命令,創(chuàng)建名稱為prom_index的TimeStream索引。

步驟二:下載并啟動(dòng)node_exporter

node_exporter用于收集各種與硬件和內(nèi)核相關(guān)的指標(biāo),并提供給Prometheus進(jìn)行讀取,詳細(xì)信息請參見node_exporter

  1. 連接ECS實(shí)例。

    具體操作請參見通過密碼或密鑰認(rèn)證登錄Linux實(shí)例

    說明

    本文檔以普通用戶權(quán)限為例。

  2. 下載node_exporter安裝包。

    本示例以node_exporter 1.3.1版本為例,下載命令如下。

    wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
  3. 解壓安裝包并啟動(dòng)node_exporter。

    tar xvfz node_exporter-1.3.1.linux-amd64.tar.gz
    cd node_exporter-1.3.1.linux-amd64
    ./node_exporter

步驟三:下載、配置并啟動(dòng)Prometheus

  1. 連接ECS實(shí)例。

  2. 在根目錄下載Prometheus安裝包。

    本示例以Prometheus 2.36.2版本為例,下載命令如下。

    cd ~
    wget https://github.com/prometheus/prometheus/releases/download/v2.36.2/prometheus-2.36.2.linux-amd64.tar.gz
  3. 解壓Prometheus安裝包。

    tar xvfz prometheus-2.36.2.linux-amd64.tar.gz
  4. 在Prometheus目錄的prometheus.yml文件中,配置node_exporterremote_write

    cd prometheus-2.36.2.linux-amd64
    vim prometheus.yml

    配置示例如下。

    scrape_configs:
      # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
      - job_name: 'prometheus'
    
        # metrics_path defaults to '/metrics'
        # scheme defaults to 'http'.
    
        static_configs:
        - targets: ['localhost:9090']
    
      #配置node_exporter
      - job_name: "node"
        static_configs:
        - targets: ["127.0.0.1:9100"]
    
    #配置remote_write,確保Prometheus能夠訪問Elasticsearch集群,即網(wǎng)絡(luò)是通的。
    remote_write:
      - url: "http://xxx:9200/_time_stream/prom_write/prom_index"
        basic_auth:
         username: elastic
         password: xxxx

    參數(shù)

    說明

    node_exporter

    配置node_exporter的連接信息。targets需要配置為node_exporter的訪問地址:端口

    由于本示例使用同一個(gè)ECS實(shí)例部署Prometheus和node_exporter,因此node_exporter的訪問地址使用本地訪問IP地址127.0.0.1,端口使用默認(rèn)的9100端口。

    remote_write

    配置Elasticsearch實(shí)例的TimeStream索引的連接信息。需要配置以下基礎(chǔ)參數(shù),更多高級參數(shù)請參見remote_write

    • url訪問TimeStream索引的URL,格式為:http://<Elasticsearch實(shí)例的公網(wǎng)或私網(wǎng)訪問地址>:9200/_time_stream/prom_write/<yourTimeStreamIndex>。

      說明
      • Elasticsearch實(shí)例的公網(wǎng)或私網(wǎng)訪問地址:可在Elasticsearch實(shí)例的基本信息頁面獲取。如果Prometheus所部署的ECS實(shí)例與Elasticsearch實(shí)例在同一VPC下,可使用私網(wǎng)訪問地址(本文以此為例);如果不在同一VPC下,需要使用公網(wǎng)訪問地址,并且要配置公網(wǎng)訪問白名單,詳細(xì)信息請參見配置實(shí)例公網(wǎng)或私網(wǎng)訪問白名單

      • <yourTimeStreamIndex>:用于接收Prometheus數(shù)據(jù)的Elasticsearch TimeStream索引,該索引需要提前創(chuàng)建,本文以prom_index索引為例。

    • username訪問TimeStream索引的用戶名,默認(rèn)為管理員賬號elastic。您也可以使用自建用戶,但需確保自建用戶具有訪問與操作TimeStream索引的權(quán)限,詳細(xì)信息請參見通過Elasticsearch X-Pack角色管理實(shí)現(xiàn)用戶權(quán)限管控

    • password訪問TimeStream索引的用戶對應(yīng)的密碼。elastic賬號的密碼在創(chuàng)建實(shí)例時(shí)設(shè)定,如果忘記可重置,重置密碼的注意事項(xiàng)和操作步驟請參見重置實(shí)例訪問密碼

  5. 啟動(dòng)Prometheus。

    ./prometheus
  6. 驗(yàn)證Prometheus數(shù)據(jù)是否已經(jīng)同步到Elasticsearch的TimeStream索引中。

    在Elasticsearch的Kibana控制臺中,執(zhí)行以下命令進(jìn)行驗(yàn)證:

    • 查看prom_index索引是否已經(jīng)有數(shù)據(jù)。

      GET _cat/indices/prom_index?v&s=i

      預(yù)期結(jié)果如下。預(yù)期結(jié)果

    • 確認(rèn)是否能查詢到數(shù)據(jù)并查看數(shù)據(jù)內(nèi)容。

      GET prom_index/_search

      預(yù)期結(jié)果如下。預(yù)期結(jié)果2

步驟四:下載、啟動(dòng)并配置Grafana Dashboard

  1. 連接ECS實(shí)例。

  2. 在根目錄下載Grafana安裝包。

    本示例以Grafana 9.0.2版本為例,下載命令如下。

    cd ~
    wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.0.2.linux-amd64.tar.gz
  3. 解壓Grafana安裝包并啟動(dòng)。

    tar xvfz grafana-enterprise-9.0.2.linux-amd64.tar.gz
    cd grafana-9.0.2
    ./bin/grafana-server
  4. 在瀏覽器中輸入Grafana的訪問地址http://<ECS的公網(wǎng)IP地址>:3000,進(jìn)入Grafana登錄頁面,輸入用戶名和密碼進(jìn)入Grafana控制臺。

    • 首次登錄Grafana控制臺需要使用默認(rèn)用戶名和密碼,均為admin。登錄后,系統(tǒng)會提示修改密碼,密碼修改完成后即可進(jìn)入Grafana控制臺。

    • ECS的公網(wǎng)IP地址:進(jìn)入ECS管理控制臺,在對應(yīng)實(shí)例的IP地址列獲取。獲取ECS的公網(wǎng)IP地址

    • Grafana的默認(rèn)訪問端口號為3000,在瀏覽器中訪問3000端口時(shí),需要配置ECS的入方向的安全組規(guī)則,設(shè)置目的為3000,為您客戶端的IP地址。詳細(xì)信息請參見添加安全組規(guī)則配置安全組規(guī)則

  5. 在Grafana中,創(chuàng)建Prometheus的DataSource。

    1. 在Grafana控制臺的左側(cè)導(dǎo)航欄,選擇設(shè)置圖標(biāo) > Data sources

    2. Data sources頁簽,單擊Add data source

    3. Time series databases列表中,單擊Prometheus

    4. Settings頁簽中,配置Prometheus數(shù)據(jù)源信息。

      配置Prometheus數(shù)據(jù)源

      本文中必須配置的參數(shù)說明如下。

      參數(shù)

      說明

      URL

      訪問TimeStream索引的URL,格式為:http://<Elasticsearch實(shí)例的公網(wǎng)或私網(wǎng)訪問地址>:9200/_time_stream/prom/<yourTimeStreamIndex>。

      說明
      • Elasticsearch實(shí)例的公網(wǎng)或私網(wǎng)訪問地址:可在Elasticsearch實(shí)例的基本信息頁面獲取。如果Prometheus所部署的ECS實(shí)例與Elasticsearch實(shí)例在同一VPC下,可使用私網(wǎng)訪問地址(本文以此為例);如果不在同一VPC下,需要使用公網(wǎng)訪問地址,并且要配置公網(wǎng)訪問白名單,詳細(xì)信息請參見配置實(shí)例公網(wǎng)或私網(wǎng)訪問白名單

      • <yourTimeStreamIndex>:用于接收Prometheus數(shù)據(jù)的Elasticsearch TimeStream索引,該索引需要提前創(chuàng)建,本文以prom_index索引為例。

      Basic auth

      是否開啟Elasticsearch實(shí)例的Basic auth認(rèn)證。開啟后需要配置訪問Elasticsearch實(shí)例的用戶名和密碼。

      User

      訪問TimeStream索引的用戶名,默認(rèn)為管理員賬號elastic。您也可以使用自建用戶,但需確保自建用戶具有訪問與操作TimeStream索引的權(quán)限,詳細(xì)信息請參見通過Elasticsearch X-Pack角色管理實(shí)現(xiàn)用戶權(quán)限管控

      Password

      訪問TimeStream索引的用戶對應(yīng)的密碼。elastic賬號的密碼在創(chuàng)建實(shí)例時(shí)設(shè)定,如果忘記可重置,重置密碼的注意事項(xiàng)和操作步驟請參見重置實(shí)例訪問密碼

    5. 單擊Save&test

      配置成功后,系統(tǒng)提示Data source is working

  6. 在Grafana中,創(chuàng)建展示Prometheus數(shù)據(jù)源的Dashboard。

    1. 在Grafana控制臺的左側(cè)導(dǎo)航欄,選擇Dashboard > New dashboard

    2. 單擊Add a new panel

    3. 選擇Data source和查詢時(shí)間,單擊Run queries查詢數(shù)據(jù)。

      查詢數(shù)據(jù)

    4. 單擊右上角的Save,保存Dashboard。

  7. 在Grafana中,導(dǎo)入node_exporter自帶的Grafana Dashboard,并配置Prometheus數(shù)據(jù)源,生成指標(biāo)監(jiān)控Dashboard。

    1. 在Grafana控制臺的左側(cè)導(dǎo)航欄,選擇Dashboard > Import

    2. Import via grafana.com文本框中,填寫node_exporter的Grafana地址或ID:即https://grafana.com/grafana/dashboards/18601860

      導(dǎo)入Dashboard

    3. 單擊Load

    4. 在配置頁面選擇Prometheus數(shù)據(jù)源為您已創(chuàng)建的數(shù)據(jù)源。

      選擇Prometheus數(shù)據(jù)源

    5. 單擊Import

    6. 在Dashboard頁面右上角,選擇查詢時(shí)間,查看對應(yīng)時(shí)間段內(nèi)的指標(biāo)監(jiān)控Dashboard。

      指標(biāo)監(jiān)控Dashboard

      說明

      關(guān)于Grafana更詳細(xì)的操作教程,請參見Grafana documentation

相關(guān)文檔