部署 httpserver
参考:
修改 httpserver 代码,新增 metrics
代码:httpserver
参考 main.go 和 metrics 的代码
增加2s的随机延迟
添加延时 Metric
参考 Readme 制作 docker 镜像
deployment 中增加 Prometheus 的配置
部署到 k8s 集群
kubectl apply -f httpserver-deploy.yaml
# 查看 metrics
curl 192.168.109.106:8080/metrics
从 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
安装后报错,找不到 pvc
修改 deploy 将 pvc 改为 emptydir
k edit deploy loki-prometheus-server
修改为
修改 svc 的类型为 NodePort
kubectl edit svc loki-grafana -oyaml
改为
修改成功
浏览器访问页面,输入宿主机的 ip 并带上 loki-grafana 的端口:
http://192.168.56.100:32754/login
获取用户名和密码
kubectl get secret loki-grafana -oyaml
# 找到 admin-user 和 admin-password,并解码
echo "xxx" | base64 -d
登录页面
查看延时指标数据
Explore --> Prometheus
输入 httpserver_execution_latency_seconds_bucket
点击右侧的 “Run query” 按钮,查看指标信息
创建一个 Grafana Dashboard 展现延时分配情况
httpserver-latency.json
将 httpserver-latency.json 中的内容 import 进 grafana 中,如下图所示: