Prometheus是由 SoundCloud 开发的开源监控报警系统和时序列数据库(TSDB).自2012年起,许多公司及组织已经采用 Prometheus,并且该项目有着非常活跃的开发者和用户社区.现在已经成为一个独立的开源项目核,并且保持独立于任何公司,Prometheus 在2016加入 CNCF ( Cloud Native Computing Foundation ), 作为在 kubernetes 之后的第二个由基金会主持的项目.

prometheus 的特点

和其他监控系统相比,Prometheus的特点包括:

  • 多维数据模型(时序列数据由metric名和一组key/value组成)
  • 在多维度上灵活的查询语言(PromQl)
  • 不依赖分布式存储,单主节点工作.
  • 通过基于HTTP的pull方式采集时序数据
  • 可以通过中间网关进行时序列数据推送(pushing)
  • 目标服务器可以通过发现服务或者静态配置实现
  • 多种可视化和仪表盘支持

prometheus 相关组件

Prometheus生态系统由多个组件组成,其中许多是可选的:

  • Prometheus 主服务,用来抓取和存储时序数据
  • client library 用来构造应用或 exporter 代码 (go,java,python,ruby)
  • push 网关可用来支持短连接任务
  • 可视化的dashboard (两种选择,promdash 和 grafana.目前主流选择是 grafana.)
  • 一些特殊需求的数据出口(用于HAProxy, StatsD, Graphite等服务)
  • 实验性的报警管理端(alartmanager,单独进行报警汇总,分发,屏蔽等 )

promethues 的各个组件基本都是用 golang 编写,对编译和部署十分友好.并且没有特殊依赖.基本都是独立工作


Grafana是一个可视化面板(Dashboard),有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器,支持GraphitezabbixInfluxDB、PrometheusOpenTSDB作为数据源。Grafana主要特性:灵活丰富的图形化选项;可以混合多种风格;支持白天和夜间模式;多个数据源。

一、操作步骤

①下载Prometheus
②安装配置Prometheus
③下载Grafana
安装配置Grafana
⑤配置查看监控(Spring Boot项目、mysql、服务器、redis、mongodb)


二、详细步骤

1、下载Prometheus https://prometheus.io/download/


2、解压

tar -zxvf prometheus-2.2.1.linux-amd64.tar.gz

注:把客户端注册到服务端 vim prometheus.yml修改时注意格式和现有保持一致,否则启动会报错


# 全局配置
global:
  scrape_interval:     15s # 默认 15秒到目标处抓取数据

  # 这个标签是在本机上每一条时间序列上都会默认产生的,主要可以用于 联合查询、远程存储、Alertmanger时使用。
  external_labels:
    monitor: 'codelab-monitor'

# 这里就表示抓取对象的配置
# 设置抓取自身数据
scrape_configs:
  #  job name 这个配置是表示在这个配置内的时间序例,每一条都会自动添加上这个{job_name:"prometheus"}的标签。
  - job_name: 'prometheus'

    # 重写了全局抓取间隔时间,由15秒重写成5秒。
    scrape_interval: 5s

    static_configs:
      - targets: ['localhost:9090']

3、启动

./prometheus

4、访问  http://192.168.234.128:9090


注:这里的mydemo是本地启动的spring boot项目


5、安装Grafana待更新。


Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐