Prometheus介绍和部署

本文介绍了Prometheus,一个强大的监控系统,其特点包括多维度数据模型、灵活的查询语言和本地存储等。重点讲解了其与Kubernetes的集成方式,以及kube-prometheus的安装和架构。

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值