Prometheus 初体验
本文环境 Redhat Linux 6.7, Prometheus 2.2.1,node_exporter 1.5.2
介绍
Prometheus 是2012年由 SoundCloud 开源的系统监控和报警工具集,在 《Google SRE 运维解密》一书中也提到与Google内部的Borgmon思想一致。使用 Go 语言开发,适用于各个平台。
安装
[root@bj1eccap01 ~]# tar -xvzf prometheus-2.2.1.linux-amd64.tar.gz
[root@bj1eccap01 ~]# cd prometheus-2.2.1.linux-amd64
[root@bj1eccap01 prometheus-2.2.1.linux-amd64]# ./prometheus --help
usage: prometheus [<flags>]
配置
安装包下有一个默认的配置文件,是 YAML 格式,默认配置文件包括三个分区:global、rule_files、scrape_configs。
global控制 Prometheus 服务器的全局配置。scrape_interval 决定数据抓取的间隔。evaluation_interval 决定数据计算的间隔,Prometheus会根据rule_file来产生新的时间序列值。
rule_files决定规则文件的保存路径。
scrape_config决定Prometheus监控的资源。Prometheus通过HTTP暴露自己的数据,因此也可以监控自己的健康状况。
启动
启动非常简单
[root@bj1eccap01 prometheus-2.2.1.linux-amd64]# ./prometheus --config.file=prometheus.yml
这之后就可以通过浏览查看服务的运行状况了,打开浏览器输入 http://localhost:9090/graph

Prometheus 提供了两种方式查看指标 graph 模式可以直接看到指标曲线,metrics 则看到原始的监控数据。通过切换到 console 界面可以看到。


node_exporter 安装
node_exporter 用来收集服务器的监控信息,目前稳定版本为1.15.2。node_exporter 默认使用 9100 端口监听,Prometheus 会从 node_exporter 中获取信息。
[root@bj1eccap01 ~]# tar -xzvf node_exporter-0.15.2.linux-amd64.tar.gz
[root@bj1eccap01 ~]# cd node_exporter-0.15.2.linux-amd64
[root@bj1eccap01 node_exporter-0.15.2.linux-amd64]# ./node_exporter

运算与统计
Prometheus 提供了一套查询语言,支持运算以及一些常用的统计运算。
运算符号
Prometheus 支持如下运算符。
| 运算符 | 说明 |
|---|---|
| + | 加法 |
| - | 减法 |
| * | 相乘 |
| / | 相除 |
| % | 取摸运算 |
| == | 相等 |
| != | 不相等 |
| > | 大于 |
| < | 小于 |
| >= | 大于或等于 |
| <= | 小于或等于 |
| and | 逻辑和 |
| or | 逻辑或 |
| unless | 除非,取补集 |
统计函数
| 方法名 | 介绍 |
|---|---|
| sum | 求和 |
| min | 求最小值 |
| max | 求最大值 |
| avg | 取平均值 |
| stddev | 计算标准差 |
| stdvar | |
| count | 计算总数 |
| count_values | 计算相同值的数量 |
| bottomk | 最小的k个元素 |
| topk | 最大的k个元素 |
| quantile |
本文为作者原创,如果您觉得本文对您有帮助,请随意打赏,您的支持将鼓励我继续创作。

参考资料:
1、Prometheus
2、Prometheus First Step
3、Prometheus 入门尝试
Prometheus 初体验的更多相关文章
- Prometheus初体验(三)
一.安装部署 Prometheus基于Golang编写,编译后的软件包,不依赖于任何的第三方依赖.用户只需要下载对应平台的二进制包,解压并且添加基本的配置即可正常启动Prometheus Server ...
- .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家 ...
- Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验
Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...
- Spring之初体验
Spring之初体验 Spring是一个轻量级的Java Web开发框架,以IoC(Inverse of Control 控制反转)和 ...
- Xamarin.iOS开发初体验
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKwAAAA+CAIAAAA5/WfHAAAJrklEQVR4nO2c/VdTRxrH+wfdU84pW0
- 【腾讯Bugly干货分享】基于 Webpack & Vue & Vue-Router 的 SPA 初体验
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57d13a57132ff21c38110186 导语 最近这几年的前端圈子,由于 ...
- 【Knockout.js 学习体验之旅】(1)ko初体验
前言 什么,你现在还在看knockout.js?这货都已经落后主流一千年了!赶紧去学Angular.React啊,再不赶紧的话,他们也要变out了哦.身旁的90后小伙伴,嘴里还塞着山东的狗不理大蒜包, ...
- 在同一个硬盘上安装多个 Linux 发行版及 Fedora 21 、Fedora 22 初体验
在同一个硬盘上安装多个 Linux 发行版 以前对多个 Linux 发行版的折腾主要是在虚拟机上完成.我的桌面电脑性能比较强大,玩玩虚拟机没啥问题,但是笔记本电脑就不行了.要在我的笔记本电脑上折腾多个 ...
- 百度EChart3初体验
由于项目需要在首页搞一个订单数量的走势图,经过多方查找,体验,感觉ECharts不错,封装的很细,我们只需要看自己需要那种类型的图表,搞定好自己的json数据就OK.至于说如何体现出来,官网的教程很详 ...
随机推荐
- CentOS 7 通过 yum 安装 nodejs 和 npm
curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - yum install -y nodejs
- PyTorch-Kaldi 语音识别工具包
翻译: https://arxiv.org/pdf/1811.07453.pdf ABSTRACT 开源软件的可用性在语音识别和深度学习的普及中发挥了重要作用.例如,Kaldi 现在是用于开发最先进 ...
- 操作数组不要只会for循环
很多时候,我们在操作数组的时候往往就是一个for循环干到底,对数组提供的其它方法视而不见.看完本文,希望你可以换种思路处理数组,然后可以写出更加漂亮.简洁.函数式的代码. reduce 数组里所有值的 ...
- Wireshark网络分析就这么简单
tcpdump抓包命令: root#tcpdump -I eth0 -s 80 -w /tmp/tcpdump.cap 注:其中80表示,只抓每个包的前80个字节. 抓包时就筛选自己需要的包: Wir ...
- 升级到AndroidStudio3.2.1的注意事项
升级到AndroidStudio3.2.1的注意事项 即不用再在二级结构的build.gradle中的compileSdkVersion 28 下声明 buildToolsVersion &q ...
- 学习ABP遇到的问题汇总
1,在abp官网下载的模板(asp.net+ef)写Application层的时候需要使用AutoMapper.结果ObjectMapper一直为null 解决:需要在当前项目的Module依赖Abp ...
- [洛谷1681]最大正方形II
思路:对于矩阵中的每一个元素,处理出它能扩展到的上边界$up$.左边界$left$,DP得出以该元素为右下角的最大正方形.状态转移方程:$f_{i,j}=min(f_{i-1,j-1},up_{i,j ...
- Xcode6 iOS7模拟器和Xcode7 iOS8模拟器离线下载
Xcode6 只支持iOS7和iOS8的模拟器 Xcode7 只支持iOS9和iOS8的模拟器 Xcode 并不会识别 SDKs 目录下的模拟器,我经过一些尝试以后,发现要放在这个目录下: /Libr ...
- CentOS 7安装GitLab 11.4.5
安装GitLab没必要像网上说的配置那么复杂,也不要自行编译安装,直接使用Omnibus版本即可,也就是综合安装包,注意如下几点: 1.不需要替换Nginx,直接使用GitLab的原生集成,同时这种方 ...
- Parallel Programming--perfbook
https://www.kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.html