公司之前K8s集群没有监控,top查看机器cpu使用率很高,为了监控pod的cpu和内存,集群外的mysql资源,初步搭建了Prometheus监控系统
提前准备镜像
docker.io/grafana/grafana 10.4.4
docker.io/prom/prometheus v2.47.2
docker.io/prom/node-exporter v1.5.0
docker.io/prom/mysqld-exporter v0.14.0
docker.io/gcmirrors/kube-state-metrics-amd64 v1.7.1
将这些 tar 文件传输到离线环境中的机器并导入 Docker:根据harbor仓库上传镜像
Granfana是可视化界面
Node-exporter监控主机节点,所以必须每个节点都跑一个
Prometheus:server,有特定的格式;采集逻辑仅支持pull模式(意思是),通过http/https接口连接
kube-state-metrics-amd64:监控k8s里面资源
配置文件
创建名称空间
Kubectl apply -f .
cat namespace.yaml --- apiVersion: v1 kind: Namespace metadata: name: prom
部署Prometheus
采集监控对象的指标:
-
遵循Prometheus特有的指标格式
-
主机: node_exporter
-
后端服务: MySQL--> mysql_exporter,tomcat-->tomcat_exporter
-
内建测量系统: 支持http(s)://SERVER:PORT/PATH对外暴露指标
#例子:[root@ubuntu ~]#curl http://localhost: