使用 Cortex 實現 Prometheus 的多租戶管理

咱們都知道,Prometheus 是一個監控和可觀察性的一個標準解決方案。這裏呢,我也不許備去介紹 Prometheus 是什麼,咱們直接切入到咱們主題。咱們怎麼使用 Cortex 實現Prometheus 的多租戶的管理的一個平臺的搭建,下一章,主要講咱們怎麼使用 API 去實現對 Cortex 的管理控制。
<!--more-->linux

Prometheus

安裝 Prometheus

Promethwus下載地址git

首先咱們下載好咱們的 Prometheus 以後,老夫下載的是: prometheus-2.13.0.linux-amd64.tar.gz . 解壓到指定的目錄:github

tar -zxvf prometheus-2.13.0.linux-amd64.tar.gz -C /opt/module

執行:shell

./prometheus

這樣,一個簡單的 Prometheus 服務就啓動了。segmentfault

配置 監控服務

這裏,當咱們須要監控某一個服務時,咱們須要在配置文件中進行一下配置。這裏咱們監控一下:api

scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'
    static_configs:
    - targets: ['192.168.1.111:9090']
      labels:
        instance: prometheus

這裏,咱們從新啓動一下 Prometheus 服務,爲了驗證一下,咱們須要在瀏覽器中輸入地址: http://192.168.1.111:9090/瀏覽器

而後咱們看到的是這個:ui

1.png

按照圖中的紅色框框,咱們能夠看到的是這個:this

2.png

咱們看最後一個,最後一個是我配置的 Prometheus 的配置。 他的 state 是 up , 表示當前的監控是 OK 的。上面的三個暫時無論,我有 exporter 沒有啓動。看到 up 以後,就表示咱們的這個服務是正常的。url

配置 遠程存儲

這裏咱們要將數據寫入到 Cortex 中 ,這裏,咱們是將 Cortex 做爲 Prometheus 的一個遠程存儲點。因此咱們須要在 Prometheus 配置中針對這個 遠程存儲進行配置。

remote_write:
  - url: http://192.168.50.178:8088/api/prom/push
    basic_auth:
      username: "sunyang_2"
      password: "sunyang"

這裏,咱們的這個 basic_auth 會在請求的 Header 裏面添加 Authorization 。 這裏的url 是咱們的 cortex 服務的地址,能夠是你本身的的代理地址,也能夠是 cortex 原地址。下面是 cortex 的地址。

remote_write:
- url: http://localhost:9009/api/prom/push

啓動 Prometheus

Cortex

安裝 Cortex

這裏安裝 Cortex ,主要看我的的網速。
首先,咱們須要先克隆 cortex 下來:

git clone https://github.com/cortexproject/cortex.git

進入 cortex 的根目錄:

go build ./cmd/cortex

這裏,只要不出問題,那就沒問題。出了問題,就只好跟着錯誤信息進行排除了。

啓動 Cortex

./cortex -config.file=./docs/configuration/single-process-config.yaml

Grafana

安裝 Grafana

老夫這個安裝的是 Windows 版本的。 Linux 版本中,咱們的安裝也很簡單:

Ubuntu & Debian

sudo apt-get install -y adduser libfontconfig1

wget https://dl.grafana.com/oss/release/grafana_6.6.2_amd64.deb

sudo dpkg -i grafana_6.6.2_amd64.deb

Standalone Linux Binaries

wget https://dl.grafana.com/oss/release/grafana-6.6.2.linux-amd64.tar.gz

tar -zxvf grafana-6.6.2.linux-amd64.tar.gz

Redhat & Centos

wget https://dl.grafana.com/oss/release/grafana-6.6.2-1.x86_64.rpm

sudo yum localinstall grafana-6.6.2-1.x86_64.rpm

配置DataSource

咱們在 瀏覽器中 輸入 "http://ip:3000" , 默認的帳號密碼是 : admin / admin

咱們進去以後,首先建立一個 數據源,這裏,咱們須要建立的數據源是 Prometheus ,可是咱們的真實地址在 Cortex 。如今他們的這個流程是這樣的:

3.png

咱們這裏添加兩個數據源,一個是 cortex , 一個是 prometheus .

這裏我給你們看一下這兩個數據源的配置後:
4.png
這裏特別注意: cortex 中的 URL : "http://192.168.1.111:9009/api/prom"

咱們在配置好數據源後,就開始添加咱們的 DashBoard .
5.png

6.png

這裏能夠看到,咱們的Prometheus , Cortex 添加的 DashBoard 都是有東西的,雖然咱們的這個DashBoard 仍是初始化的狀態。但這說明,咱們的DashBoard 是正常的。如今,咱們就要來配置咱們的 Query .

配置 Query

首先配置咱們的 Prometheus-Dashboard .

咱們選擇 "Edit"

7.png

按照個人配置來:

8.png

這裏我選擇的 "metrics" 是 wmi_cpu_time_total , 這個你們能夠隨意 , 你們能夠直接填 "up" . 我這裏的是對個人 Windows 系統作的監控。而後,咱們保存:
9.png

配置完Prometheus ,咱們配置咱們的 Cortex-Dashboard

10.png

這裏,我爲了方便查看 Cortex 和 Prometheus , 我把監控放在了一塊兒。

11.png

兩邊都有了數據,說明咱們的配置成功。

相關文章
相關標籤/搜索