1. 程式人生 > >Prometheus的基本操作配置

Prometheus的基本操作配置

Prometheus安裝

獲取安裝包(外網下載,國內網大概率下不下來)
wget https://github.com/prometheus/prometheus/releases/download/v2.5.0/prometheus-2.5.0.linux-amd64.tar.gz

將壓縮包中的prometheus、promtool檔案拷貝到/usr/local/bin目錄下,此時可以通過prometheus --version檢視版本。

  #檢查配置檔案
  promtool check config /etc/prometheus/prometheus.yml
  #啟動應用
 ./prometheus --config.file "/etc/prometheus/prometheus.yml" --web.enable-lifecycle

注:--storage.tsdb.retention=1d 此引數表示儲存的資料只保留1天。

此外,還可以通過docker的方法安裝。

#將容器的 9090埠對映到主機的 9090 埠,主機的目錄 /tmp/prometheus.yml對映到容器的 /etc/prometheus/prometheus.yml。
docker run -d -p 9090:9090 -v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

-d: 後臺執行容器,並返回容器ID
-v:主機目錄對映
-p: 埠對映,格式為:主機(宿主)埠:容器埠
--name="***": 為容器指定一個名稱

更改配置之後熱配置的方法:
1、法一:
curl -X POST http://ip:9090/-/reoad 需要在啟動prometheus時增加引數--web.enable-lifecycle

注:reload之後是立即生效的。

2、法二:

#得到程序ID
ps -aux | grep prom  
kill -HUP PID

部署cadvisor

#拉取映象
docker pull google/cadvisor:latest
#部署執行
docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --volume=/dev/disk/:/dev/disk:ro --publish=8080:8080  --detach=true --name=cadvisor google/cadvisor:latest

部署Grafana

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

在K8S上部署prometheus

基本概念

在這裡插入圖片描述

influxdb、openTSDB是專門的時間序列資料庫。

Prometheus系統可以直接通過Kubernetes等系統的介面,發現要監控的目標,不需要人員干預,不需要做系統對接方面的開發。

注1:
只有字首不加__的label可以在graph中顯示。如__metrics_path__="/metrics"不會顯示,而job="***"則會顯示。

注2:在target訪問通過k8s api server服務發現的指標時,在瀏覽器直接開啟是需要證書的。只要prometheus能開啟,也就是顯示up狀態就行,而在我們本機不一定能開啟。

注3:graph中時間序列的斷點處,是我們將prometheus刪除造成的。

注4:解決瀏覽器和server時間不匹配的問題
修改server的時間。去到prometheus部署的那個節點上,修改server的時間,修改方法為:date -s 14:51:30 。將server的時間設定為瀏覽器當前的時間。

待驗證:
1、nginx-ingress-controller
不安裝可能導致Grafana的部署出問題

2、文字檔案收集器 --collector.textfile.directory=""
預設是載入的,我們只需指定目錄即可。

3、echo tee

4、