Prometheus介绍
Prometheus是一个最初在SoundCloud上构建的开源监控系统 。它现在是一个独立的开源项目,为了强调这一点,并说明项目的治理结构,Prometheus 于2016年加入CNCF,作为继Kubernetes之后的第二个托管项目。
特点
- 具有由 metric 名称和键/值对标识的时间序列数据的多维数据模型
- PromQL,有一个灵活的查询语言
- 不依赖分布式存储,只和本地磁盘有关
- 通过 HTTP 的服务拉取时间序列数据
- 也支持推送的方式来添加时间序列数据
- 通过服务发现或静态配置发现目标
- 多种图形和仪表板支持
组件
Prometheus系统由多个组件组成,其中许多组件是可选的:
- Prometheus Server:用于抓取指标、存储时间序列数据
- exporter:暴露指标让任务来抓
- pushgateway:push 的方式将指标数据推送到该网关
- alertmanager:处理报警的报警组件
- adhoc:用于数据查询
大多数 Prometheus 组件都是用 Go 编写的,因此很容易构建和部署为静态的二进制文件。
架构图
此图说明prometheus的体系结构及其一些系统组件

整体流程比较简单,Prometheus 直接接收或者通过中间的 Pushgateway 网关被动获取指标数据,在本地存储所有的获取的指标数据,并对这些数据进行一些规则整理,用来生成一些聚合数据或者报警信息,Grafana 或者其他工具用来可视化这些数据。
基于k8s安装
两种安装方法:
1.Prometheus-operator:GitHub - prometheus-operator/prometheus-operator: Prometheus Operator creates/configures/manages Prometheus clusters atop Kubernetes #就是自定义了一下crd需要自己去注册创建各种服务的监控
2.Kube-prometheus:GitHub - prometheus-operator/kube-prometheus: Use Prometheus to monitor Kubernetes and applications running on Kubernetes #包含了已有很多种集成的监控
推荐使用Kube-prometheus安装
选择最新版下载


下载安装文件 :git clone GitHub - prometheus-operator/kube-prometheus: Use Prometheus to monitor Kubernetes and applications running on Kubernetes
安装operator:
cd manifests/setup && kubectl create -f .
安装Prometheus:
cd .. && kubectl create -f .
创建alert、grafana、prom域名 ingress发布
vim prom-ingress.yaml
创建alert、grafana、prom域名 ingress发布
vim prom-ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
creationTimestamp: "2020-04-23T13:42:11Z"
generation: 1
name: prom-ingresses
namespace: monitoring
resourceVersion: "9525872"
selfLink: /apis/extensions/v1beta1/namespaces/monitoring/ingresses/prom-ingresses
uid: 1ed9143c-7c03-4b8b-b926-00e31024a436
spec:
rules:
- host: alert.test.com
http:
paths:
- backend:
serviceName: alertmanager-main
servicePort: 9093
path: /
- host: grafana.test.com
http:
paths:
- backend:
serviceName: grafana
servicePort: 3000
path: /
- host: prom.test.com
http:
paths:
- backend:
serviceName: prometheus-k8s
servicePort: 9090
path: /
grafan默认账号密码是admin
本文介绍了Prometheus,一个强大的监控系统,其特点包括多维度数据模型、灵活的查询语言和本地存储等。重点讲解了其与Kubernetes的集成方式,以及kube-prometheus的安装和架构。
875

被折叠的 条评论
为什么被折叠?



