Prometheus+ Grafana 微服务系统监控方案搭建
Prometheus是由 SoundCloud 开发的开源监控报警系统和时序列数据库(TSDB).自2012年起,许多公司及组织已经采用 Prometheus,并且该项目有着非常活跃的开发者和用户社区.现在已经成为一个独立的开源项目核,并且保持独立于任何公司,Prometheus 在2016加入 CNCF ( Cloud Native Computing Foundation ), 作为在 kub
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),有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器,支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB作为数据源。Grafana主要特性:灵活丰富的图形化选项;可以混合多种风格;支持白天和夜间模式;多个数据源。
一、操作步骤
二、详细步骤
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待更新。
更多推荐
所有评论(0)