[英]Record Kubernetes container resource utilization data
I'm doing a perf test for web server which is deployed on EKS cluster
.我正在对部署在
EKS cluster
上的 web 服务器进行性能测试。 I'm invoking the server using jmeter
with different conditions (like varying thread count, payload size, etc..).我正在使用
jmeter
以不同的条件(如不同的线程数、有效负载大小等)调用服务器。 So I want to record kubernetes
perf data with the timestamp so that I can analyze these data with my jmeter output ( JTL
).所以我想用时间戳记录
kubernetes
数据,以便我可以用我的 jmeter output ( JTL
) 分析这些数据。
I have been digging through the internet to find a way to record kubernetes
perf
data.我一直在通过互联网挖掘寻找记录
kubernetes
perf
的方法。 But I was unable to find a proper way to do that.但是我找不到合适的方法来做到这一点。
Can experts please provide me a standard way to do this??专家可以请给我一个标准的方法来做到这一点吗?
Note: I have a multi-container pod also.注意:我也有一个多容器吊舱。
In line with @Jonas comment与@Jonas 评论一致
This is the quickest way of installing Prometheus in you K8 cluster.这是在 K8 集群中安装 Prometheus 的最快方式。 Added Details in the answer as it was impossible to put the commands in a readable format in Comment.
在答案中添加了详细信息,因为无法将命令以可读格式放在评论中。
helm repo add bitnami https://charts.bitnami.com/bitnami
helm install my-release bitnami/kube-prometheus
Installation output would be:安装 output 将是:
C:\Users\ameena\Desktop\shine\Article\K8\promethus>helm install my-release bitnami/kube-prometheus
NAME: my-release
LAST DEPLOYED: Mon Apr 12 12:44:13 2021
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
** Please be patient while the chart is being deployed **
Watch the Prometheus Operator Deployment status using the command:
kubectl get deploy -w --namespace default -l app.kubernetes.io/name=kube-prometheus-operator,app.kubernetes.io/instance=my-release
Watch the Prometheus StatefulSet status using the command:
kubectl get sts -w --namespace default -l app.kubernetes.io/name=kube-prometheus-prometheus,app.kubernetes.io/instance=my-release
Prometheus can be accessed via port "9090" on the following DNS name from within your cluster:
my-release-kube-prometheus-prometheus.default.svc.cluster.local
To access Prometheus from outside the cluster execute the following commands:
echo "Prometheus URL: http://127.0.0.1:9090/"
kubectl port-forward --namespace default svc/my-release-kube-prometheus-prometheus 9090:9090
Watch the Alertmanager StatefulSet status using the command:
kubectl get sts -w --namespace default -l app.kubernetes.io/name=kube-prometheus-alertmanager,app.kubernetes.io/instance=my-release
Alertmanager can be accessed via port "9093" on the following DNS name from within your cluster:
my-release-kube-prometheus-alertmanager.default.svc.cluster.local
To access Alertmanager from outside the cluster execute the following commands:
echo "Alertmanager URL: http://127.0.0.1:9093/"
kubectl port-forward --namespace default svc/my-release-kube-prometheus-alertmanager 9093:9093
echo "Prometheus URL: http://127.0.0.1:9090/"
kubectl port-forward --namespace default svc/my-release-kube-prometheus-prometheus 9090:9090
Open the UI in browser: http://127.0.0.1:9090/classic/graph在浏览器中打开用户界面: http://127.0.0.1:9090/classic/graph
Annotate the pods for sending the metrics.注释 pod 以发送指标。
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
selector:
matchLabels:
app: nginx
replicas: 4 # Update the replicas from 2 to 4
template:
metadata:
labels:
app: nginx
annotations:
prometheus.io/scrape: 'true'
prometheus.io/port: '9102'
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
Regards问候
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.