kubernetes集群系列资料17--prometheus介绍
一、prometheus介绍
组件:
1)metricServer:是kubenetes集群资源使用情况的聚合器,收集数据给K8S集群内使用,如:kubectl,hpa,scheduler等。
2)prometheusOperator:一个系统监测和警报工具箱,用来存储监控数据。
3)nodeExporter:用于各node的关键度量指标状态数据。
4)kubeStateMetrics:收集K8S集群内资源对象数据,指定告警规则。
5)prometheus:采用pull方式收集API server,scheduler,controller-manager,kubelet组件数据,通过http协议传输。
6)grafana:可视化数据统计和监控平台;
二、prometheus部署
##master及各node导入prometheus镜像 ~~~上传prometheus包至master及各node; cd prometheus-operator/ tar -xzvf prometheus.tar.gz cat load-images.sh #查看脚本中规定prometheus目录的位置为/root; mv prometheus /root #移动prometheus目录的位置 ll /root/prometheus /bin/sh load-images.sh #导入prometheus镜像; docker images # git clone https://github.com/coreos/kube-prometheus.git #获取安装yaml文件; ~~~上传kube-prometheus.git至master; tar -xzvf kube-prometheus.git.tar.gz ll kube-prometheus cd kube-prometheus/manifests
##修改nodeport类型的grafana服务
cat >grafana-service.yaml<<eof
apiVersion: v1
kind: Service
metadata:
name: grafana
namespace: monitoring
spec:
type: NodePort
ports:
- name: http
port: 3000
targetPort: http
nodePort: 30100
selector:
app: grafana
eof
##创建nodeport类型的prometheus服务
cat >prometheus-service.yaml<<eof
apiVersion: v1
kind: Service
metadata:
name: prometheus-k8s
namespace: monitoring
labels:
prometheus: k8s
spec:
type: NodePort
ports:
- name: web
port: 9090
targetPort: web
nodePort: 30200
selector:
app: prometheus
prometheus: k8s
eof
##创建nodeport类型的alertmanager服务
cat >alertmanager-service.yaml<<eof
apiVersion: v1
kind: Service
metadata:
name: altermanager-main
namespace: monitoring
labels:
altermanager: main
spec:
type: NodePort
ports:
- name: web
port: 9093
targetPort: web
nodePort: 30300
selector:
app: altermanager
altermanager: main
eof
kubectl apply -f ./
kubectl get pod -n monitoring #查看安装的pod;
kubectl get svc --all-namespaces #查看所有svc;

测试:
1)客户端访问http://192.168.66.10:30200/,进行数据采集;在expression框中填入sum by (pod_name)(rate(container_cpu_usage_seconds_total{image!="",pod_name!=""}[1m])),可得出cpu请求数的统计结果(可以图片形式显示);


2)访问http://192.168.66.10:30200/targets;如果targets下所有项目皆为up,表示已成功连接上K8S的API server,即prometheus部署成功。

3)访问grafana服务地址http://192.168.66.10:30100,默认账户/密码:admin/admin;添加数据来源为Prometheus(默认已添加),并导入模板;


4)访问http://192.168.66.10:30100/dashboards--->manage,选中监控对象进行展示。



5)访问http://192.168.66.10:30200/metrics,查看Prometheus自己的指标。

浙公网安备 33010602011771号