通过 Promethus 监控 httpserver 的请求延迟

部署 httpserver

参考:

修改 httpserver 代码,新增 metrics

代码:httpserver
参考 main.go 和 metrics 的代码

增加2s的随机延迟

image.png

添加延时 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 界面中查询延时指标数据

安装 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

安装后报错,找不到 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

浏览器访问页面,输入宿主机的 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

查看延时指标数据

Explore --> Prometheus
输入 httpserver_execution_latency_seconds_bucket
点击右侧的 “Run query” 按钮,查看指标信息

image.png

创建一个 Grafana Dashboard 展现延时分配情况

httpserver-latency.json
将 httpserver-latency.json 中的内容 import 进 grafana 中,如下图所示:

image.png

image.png

image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容