下载Prometheus

下载最新安装包,本文说的都是在Linux x64下面内容,其它平台没尝试过,请选择合适的下载。

  • Prometheus 主程序,主要是负责存储、抓取、聚合、查询方面。
  • Alertmanager 程序,主要是负责实现报警功能。
  • Pushgateway 程序,主要是实现接收由Client push过来的指标数据,在指定的时间间隔,由主程序来抓取。
  • *_exporter 这类是不同系统已经实现了的集成。

下载解压,一般默认的配置就可以运行。

tar xvfz prometheus-*.tar.gz
cd prometheus-*

go写的东西,直接打包成二进制包了,其本上没有别的依赖。

下面我们主要来了解一下他的配置文件,这是一个非常重要的步聚。

配置Prometheus监控自已

Prometheus 通过默认 http://localhost:9090/metrics HTTP接口暴露了自己的性能指标数据,当然也就可以配置抓取目标 targets 为自己了。Prometheus 采集自身性能数据就是一个十分好的例子了,打开解压目录下面的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']

启动Prometheus

使用刚才的配置文件启动Prometheus。

./prometheus -config.file=prometheus.yml

这时候Prometheus应该正确启动了,如果报错,请检查配置文件。(注意:yml格式是对缩进有要求的。) 使用浏览器打开该机器的 http://部署机器:9090 ,或者 http://localhost:9090/ 即可以看到Prometheus的graph页面了。一般等几秒抓取,就会有数据写进Prometheus里面了。

如果相验证Prometheus自己输出了什么性能数据,可以打开 http://localhost:9090/metrics 这个页面看看。

Prometheus默认是有多少个CPU内核就使用多少OS线程,主要是由GOMAXPROCS 这个环境变量控制的,开发GO的应该都清楚。一般默认就好了,太高的话可能会带来意想不到的后果。

Prometheus默认大概会占用3G左右的内存,如果想调小一点,得修改配置文件,或者添加启动参数。

使用Prometheus 自带的表达式浏览器

如果想查看Prometheus都抓了些什么数据,可以使用它内置的一个浏览页面。打开 http://localhost:9090/graph ,默认是在graph的页面。

试试在表达式 expression 输入框:

prometheus_target_interval_length_seconds

查询Promethues目标抓取间隔时间长度。执行后会返回很多条时间序列,Console 内列出的是最后一次抓到的数值。不同的标签表示不同的时间间隔和耗时%。

如果想查询99%的抓取耗时,可以这样:

prometheus_target_interval_length_seconds{quantile="0.99"}

如果想查询返回的时间序列有多少条,可以这样:

count(prometheus_target_interval_length_seconds)

暂时写到这了。

最新文章

  1. 1125MySQL Sending data导致查询很慢的问题详细分析
  2. javascript的几种继承
  3. Statement,PreparedStatement和CallableStatement的联系和区别
  4. redis 在centos下的安装部署
  5. Java泛型:泛型类、泛型接口和泛型方法
  6. 【转】从QA到EP
  7. c# 图片简单模糊 非高斯模糊
  8. Qt widgets
  9. 关于C/S框架网单表绑定,查询
  10. css实现背景颜色渐变效果
  11. JS学习笔记Day17
  12. [LeetCode] Exam Room 考试房间
  13. IDEA环境下SSM整合------注解开发
  14. leetcode — pascals-triangle
  15. RecyclerView的点击、滑动、拖动事件
  16. angular 引入编辑器遇到的各种问题。。。
  17. codeforces 355 div2 C. Vanya and Label 水题
  18. python3.6.4没有raw_input
  19. [您有新的未分配科技点]博弈论进阶:似乎不那么恐惧了…… (SJ定理,简单的基础模型)
  20. WCF实现RESTFul Web Service

热门文章

  1. Linux命令:ps,netstat,top
  2. WCF学习之旅—第三个示例之二(二十八)
  3. WCF学习之旅—WCF服务的Windows 服务程序寄宿(十一)
  4. 【Win 10应用开发】在RichEditBox中使用自定义菜单
  5. Apply Newton Method to Find Extrema in OPEN CASCADE
  6. webService学习之路(二):springMVC集成CXF快速发布webService
  7. CRL快速开发框架系列教程四(删除数据)
  8. Vertica 6.1不完全恢复启动到LGE方法
  9. dicom网络通讯入门(3)
  10. MVC 传值