通過 Promethus 監(jiān)控 httpserver 的請求延遲

部署 httpserver

參考:

修改 httpserver 代碼,新增 metrics

代碼:httpserver
參考 main.go 和 metrics 的代碼

增加2s的隨機(jī)延遲

image.png

添加延時(shí) Metric

image.png
image.png

參考 Readme 制作 docker 鏡像

Readme.md

deployment 中增加 Prometheus 的配置

httpserver-deploy.yaml

image.png

部署到 k8s 集群

kubectl apply -f httpserver-deploy.yaml
# 查看 metrics
curl 192.168.109.106:8080/metrics
image.png

image.png

從 Promethus 界面中查詢延時(shí)指標(biāo)數(shù)據(jù)

安裝 helm

wget https://get.helm.sh/helm-v3.8.1-linux-amd64.tar.gz
tar zxvf helm-v3.8.1-linux-amd64.tar.gz
sudo cp linux-amd64/helm /usr/local/bin/
helm version

安裝 grafana

helm repo add grafana https://grafana.github.io/helm-charts
helm pull grafana/loki-stack
tar -xvf loki-stack-2.6.1.tgz
helm upgrade --install loki ./loki-stack --set grafana.enabled=true,prometheus.enabled=true,prometheus.alertmanager.persistentVolume.enabled=false,prometheus.server.persistentVolume.enabled=falase
image.png

安裝后報(bào)錯(cuò),找不到 pvc

修改 deploy 將 pvc 改為 emptydir

 k edit deploy loki-prometheus-server
image.png

修改為


image.png

修改 svc 的類型為 NodePort

kubectl edit svc loki-grafana -oyaml

image.png

改為
image.png

修改成功
image.png

瀏覽器訪問頁面,輸入宿主機(jī)的 ip 并帶上 loki-grafana 的端口:
http://192.168.56.100:32754/login

image.png

獲取用戶名和密碼

kubectl get secret loki-grafana -oyaml
# 找到 admin-user 和 admin-password,并解碼
echo "xxx" | base64 -d 
image.png

登錄頁面


image.png

查看延時(shí)指標(biāo)數(shù)據(jù)

Explore --> Prometheus
輸入 httpserver_execution_latency_seconds_bucket
點(diǎn)擊右側(cè)的 “Run query” 按鈕,查看指標(biāo)信息

image.png

創(chuàng)建一個(gè) Grafana Dashboard 展現(xiàn)延時(shí)分配情況

httpserver-latency.json
將 httpserver-latency.json 中的內(nèi)容 import 進(jìn) grafana 中,如下圖所示:

image.png

image.png

image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容