部署prometheus
Prometheus介绍
Prometheus是SoundCloud开发的一个监视系统和时间序列数据库,开源。
K8S搭配Prometheus进行监控,google BorgMon监控开源
prometheus的主要特点
1.自定义多维数据模型
2.非常高效的存储,平均一个采样数据占~3.5bytes左右
3.在多维度上灵活且强大的查询语言(PromQI)
4.不依赖分布式存储,支持单主节点工作通过基于HTTP的pull方式采集时序数据,可通过push gateway进行时序列数据推送(pushing),可通过服务发现或静态配置去获取要采集的目标服务多种可视化图表及仪表盘
部署结构
Prometheus组成
- Prometheus Server:对监控数据的获取,存储以及查询
- Exporters:采集node节点的数据提供给Prom
- Server metrics-state:获取各种资源的最新状态(pod,deploy)
- adapter:获取APIServer的资源指标提供给Prom Server
- AlertManager:Prometheus体系中的告警处理中心
- Grafana:支持多种图形和Dashboard的展示
- operator:以扩展Kubernetes api的形式,帮助用户创建配置和管理复杂的有状态应用程序
镜像及资源文件
网址:https//github.com/coreos/kube-prometheus
安装部署Prometheus
导入镜像
[root@master images]# for i in *.gz;do docker load -i ${i};done
[root@master images]# img="prom/node-exporter v1.0.0
quay.io/coreos/prometheus-config-reloader v0.35.1
quay.io/coreos/prometheus-operator v0.35.1
quay.io/coreos/kube-state-metrics v1.9.2
grafana/grafana 6.4.3
jimmidyson/configmap-reload v0.3.0
quay.io/prometheus/prometheus v2.11.0
quay.io/prometheus/alertmanager v0.18.0
quay.io/coreos/k8s-prometheus-adapter-amd64 v0.5.0
quay.io/coreos/kube-rbac-proxy v0.4.1"
[root@master images]# while read _f _v;do
docker tag ${_f}:${_v} 192.168.1.100:5000/${_f##*/}:${_v}
docker push 192.168.1.100:5000/${_f##*/}:${_v}
docker rmi ${_f}:${_v}
done <<<"${
img}"
[root@master images]# curl http://192.168.1.100:5000/v2/_catalog
{"repositories":["alertmanager","configmap-reload","coredns","dashboard","etcd","flannel","grafana","k8s-prometheus-adapter-amd64","kube-apiserver","kube-controller-manager","