一、Prometheus组件包括:Prometheus server、push gateway 、alertmanager、Web UI等node
Prometheus server 按期从数据源拉取数据,而后将数据持久化到磁盘。Prometheus 能够配置 rules,而后定时查询数据,当条件触发的时候,会将 alert 推送到配置的 Alertmanager。Alertmanager 收到警告的时候,能够根据配置,聚合并记录新时间序列,或者生成警报。同时还能够使用其余 API 或者 Grafana 来将收集到的数据进行可视化。git
二、安装prometheus operatorgithub
去github上下载最新的版本:https://github.com/coreos/prometheus-operator.gitdocker
#wget https://github.com/coreos/prometheus-operator/archive/v0.20.0.tar.gzapp
#tar xf v0.20.0.tar.gzgoogle
#cd prometheus-operator-0.20.0spa
#kubectl apply -f bundle.yamlserver
#cd contrib/kube-prometheusget
#hack/cluster-monitoring/deployit
这个过程会建立一个名为monitoring的namespace,建立过程须要拉取镜像,而镜像都是在google云上的,须要为docker使用加速器,我使用的是daocloud。自行注册https://www.daocloud.io/
注意:上面的命令只能这样执行,不能进到cluster-monitoring目录下面执行,由于deploy里面写的执行路径找的文件都在这一层。
执行成功后就建立完毕了,接下来就是检查服务:
# kubectl get pod -n monitoring
AME READY STATUS RESTARTS AGE
alertmanager-main-0 2/2 Running 0 1h
alertmanager-main-1 2/2 Running 0 1h
alertmanager-main-2 2/2 Running 0 1h
grafana-595c4445d9-tlp6z 1/1 Running 0 1h
kube-state-metrics-78c8f797d-6s2wj 4/4 Running 0 1h
node-exporter-lbxlq 2/2 Running 0 1h
node-exporter-vff4z 2/2 Running 0 1h
prometheus-k8s-0 2/2 Running 1 1h
prometheus-k8s-1 2/2 Running 2 1h
prometheus-operator-784bcf6d6-8r9f2 1/1 Running 0 1h
# kubectl -n monitoring get svc
# kubectl -n monitoring get endpoints
# kubectl -n monitoring get servicemonitors
# kubectl get customresourcedefinitions