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、