Prometheus是一个开源系统监控和警报工具包。 现在是一个独立的开源项目,独立于任何公司进行维护。
Prometheus基本原理是通过HTTP协议周期性抓取被监控组件的状态,这样做的好处是任意组件只要提供HTTP接口就可以接入监控系统,不需要任何SDK或者其他的集成过程。这样做非常适合虚拟化环境比如VM或者Docke。
Prometheus 将其指标收集并存储为时间序列数据,即指标信息与记录的时间戳一起存储,以及称为标签的可选键值对。
大多数 Prometheus 组件都是用Go编写的,这使得它们易于构建和部署为静态二进制文件。
官方文档:https://prometheus.io/docs/introduction/overview/
Prometheus 的架构及其一些生态系统组件:
server1:172.25.38.1 harbor仓库端 server2:172.25.38.2 k8s master端 server3:172.25.38.3 k8s node端 server4:172.25.38.4 k8s node端
添加一个项目将Prometheus需要的镜像包上传进去 上传镜像 需要的镜像如图 添加阿里云的chart源 搜索Prometheus的chart包 选择阿里云的chart包,因为只有阿里云的还在维护,其他的都废弃了。拉取后解压并进入目录 编辑配置文件。修改value.yaml文件中的镜像路径为私有仓库路径。修改ingress选项为true,修改管理员密码,以及发布域名。(包含主value.yaml以及chart/路径下的依赖性中的value.yaml)
[root@server2 prometheus-operator]# vim values.yaml #要修改8个镜像的地址
将ingress打开,主机名换了 下图的密码是登录grafana时要用的 ingress都打开 镜像地址都换了 主机名换了 改完上面的文件后保存退出分别进入两个目录修改配置文件,主要是把镜像地址改了 创建namespace
[root@server2 prometheus-node-exporter]# kubectl create namespace prometheus-operator namespace/prometheus-operator created
安装prometheus
[root@server2 prometheus-node-exporter]# cd .. [root@server2 charts]# cd .. [root@server2 prometheus-operator]# helm install prometheus-operator . -n prometheus-operator
全部正常运行 查看分配后端 查看负载均衡器ip 在真机加解析
[root@foundation38 8.6]# vim /etc/hosts
浏览器访问Prometheus成功! 访问Grafana成功! 用上面设置的密码以管理员身份登录 登录进去的页面如下 已经默认将Prometheus添加进去了 可以在右上角搜索 找到Prometheus,界面如下