prometheus学习笔记(1)-mac单机版环境搭建
注:以下所有环境均为mac笔记本
一、安装prometheus
brew install prometheus
安装完后,默认的安装路径为:
/usr/local/Cellar/prometheus/2.16.0/
同时还会生成一个默认配置文件:/usr/local/etc/prometheus.yml
global:
scrape_interval: 15s scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["localhost:9090"]
进入安装路径后,输入以下命令:
./prometheus --config.file=/usr/local/etc/prometheus.yml
顺利的话,应该能正常启动,然后浏览器输入 http://localhost:9090

菜单切换到status,还能看到一些关键参数,比如数据默认保存天数:(默认15天)

二、安装grafana
要展示各种漂亮的图表,就得借助grafana,仍用brew安装
brew install grafana
默认安装路径:
/usr/local/Cellar/grafana/6.7.0
启动:
grafana-server --config=/usr/local/etc/grafana/grafana.ini --homepath /usr/local/share/grafana --packaging=brew cfg:default.paths.logs=/usr/local/var/log/grafana cfg:default.paths.data=/usr/local/var/lib/grafana cfg:default.paths.plugins=/usr/local/var/lib/grafana/plugins
启动完成后,浏览http://localhost:3000/进入首页(注:如需修改默认端口,可修改/usr/local/etc/grafana/grafana.ini 这个文件),默认用户名/密码,都是admin,使用前必须更改密码
grafana只是一个图表展示工具,必须添加数据源,才能读取到数据,参考下图:

选择prometheus数据源,指定URL地址,然后保存即可

三、安装pushgateway
从官网https://prometheus.io/download/ 下载pushgateway-1.2.0.darwin-amd64.tar.gz
解压到本地运行
./pushgateway
启动正常的话,浏览http://localhost:9091 可以看到

为什么要安装这个玩意儿,看下面的示意图(从网上淘的):

客户端(不管是写代码,还是直接终端敲命令行)把数据push到网关(pushgateway),然后prometheus从网关pull数据。
安装好之后,还要修改/usr/local/etc/prometheus.yml 不然prometheus感知不到网关的存在
global:
scrape_interval: 15s scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["localhost:9090"]
# 加入下面这几行
- job_name: "push-metrics"
static_configs:
- targets: ["localhost:9091"]
honor_labels: true
加入最后这几行即可,改完后最好把prometheus重启一下,以便让配置文件生效。
接下来测试数据写入:先准备1个文件data.txt
blog_visit_total{blogid="12345",domain="yjmyzz.cnblogs.com",clientip="10.0.1.1"} 20
blog_visit_total{blogid="34567",domain="yjmyzz.cnblogs.com",clientip="10.0.1.2"} 30
blog_visit_total{blogid="56789",domain="yjmyzz.cnblogs.com",clientip="10.0.1.3"} 40
解释一下,blog_visit_total相当于指标名称,{ }里面的东西,相当于tag,可以根据tag在查询时过滤,最后的20、30、40相当于具体的指标值。
命令行下,输入:
curl -XPOST --data-binary @/Users/jimmy/Downloads/data.txt http://localhost:9091/metrics/job/cnblogs
就把这3行数据push到网关了,注意下格式:http://localhost:9091/metrics/job/cnblogs 红色的部分,这是job名称,大家可以根据需要自己修改。
此时再到http://localhost:9091查看一下,应该能看到刚push的数据:

感兴趣的同学,还可以看下http://localhost:9090 ,这时候prometheus里也能感知刚添加的数据

prometheus底层存储是一个时序数据库,上面的curl命令,可以多跑几次,相当于持续在向时序数据库时添加记录,后面会用到。
四、配置grafana
到目前为止,grafana好象一直在打酱油,没派上用场,该它发挥点作用了。
4.1 新建dashboard

参考上图,新建1个dashboard,然后随便起个名字(上图中我已经创建了一个名为“菩提树下的杨过”的dashboard),命名的地方,在settings里(如下)

4.2 添加图表
接下来,添加一个查询(Add Query)

参考下图,将刚才的指标blog_visit_total添加进来(还可以用sum/max/min/avg这类聚合函数处理)

图表名称可以参考下图设置:

最后保存,这样一个基本的prometheus监控系统(单机环境)就搭建完成了。
参考文章:
https://prometheus.io/docs/practices/pushing/
https://prometheus.io/download/
https://prometheus.io/docs/introduction/overview/
https://www.liuyixiang.com/post/96100.html
https://blog.csdn.net/Holly_walker/article/details/103820509
prometheus学习笔记(1)-mac单机版环境搭建的更多相关文章
- Solr学习笔记之1、环境搭建
Solr学习笔记之1.环境搭建 一.下载相关安装包 1.JDK 2.Tomcat 3.Solr 此文所用软件包版本如下: 操作系统:Win7 64位 JDK:jdk-7u25-windows-i586 ...
- ESP32学习笔记(一) 环境搭建与下载
ESP32学习笔记(一) 环境搭建与下载 作者:Nevel 博客:nevel.cnblogs.com 转载请保留出处 前几天刚入手了ESP32模块,趁着放假有时间,我们先把ESP32的编译环境搭建好 ...
- Java学习笔记【一、环境搭建】
今天把java的学习重新拾起来,一方面是因为公司的项目需要用到大数据方面的东西,需要用java做语言 另一方面是原先使用的C#公司也在慢慢替换为java,为了以后路宽一些吧,技多不压身 此次的学习目标 ...
- Hadoop学习笔记—22.Hadoop2.x环境搭建与配置
自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...
- Lua 学习笔记(一)环境搭建
Lua是一个小巧的脚本语言.Lua由标准C编写而成,代码简洁,几乎在所有的操作系统和平台上都可以编译,运行. 主要讲一下mac和win下的环境搭建. 工具: 1.Sublime Text 2 ...
- Cocos2d-x 3.2 学习笔记(一)环境搭建
目前项目无事,时间比较充裕,因此来学习下cocos2dx,当然本人也是新手一个, 写此笔记做备忘和脚步. 最近3.2版本更新出來了!官方说这是自2.x分支以来修复了超过450个bug,3.2版本是目前 ...
- 【Lua学习笔记之:Lua环境搭建 Windows 不用 visual studio】
Lua 环境搭建 Windows 不用 visual studio 系统环境:Win7 64bit 联系方式:yexiaopeng1992@126.com 前言: 最近需要学习Unity3d游戏中的热 ...
- nodejs学习笔记<一>安装及环境搭建
零零散散学了几天nodejs,进度一直停滞不前,今天沉下心来好好看了下nodejs的介绍和代码.自己也试着玩了下,算是有点入门了. 这里来做个学习笔记. ——————————————————————— ...
- 零基础Android学习笔记-01 安卓开发环境搭建
安卓开发环境搭建. 1.首先准备JDK,从官网找到JDK下载地址,原来做.NET不熟悉JAVA,干脆用最新的,下载了JDK 1.7的版本.原来装过1.5还要配置环境变量什么的.但1.7好像很给力,装好 ...
- ReactNative学习笔记(一)环境搭建
前言 本文开发环境为Windows,目标平台为Android,react-native版本为0.35.0. 环境搭建 注意,本文不是按照官网的教程来的,官网说必须安装什么Chocolatey,我懒得鸟 ...
随机推荐
- 如何构造一款类似One API的大模型集成平台
作为AI领域的开发者,我们经常需要调用多个不同的大语言模型,但面对各家不同的API规范和接入方式,集成工作变得繁琐.构建一个统一的大模型集成平台,能够极大地简化这一过程. 本文将探讨如何实现一个兼容O ...
- 关于ADB-数据包抓取-反编译工具(手机刷机使用)
1 逆向基本流程 1 获取目标app(官网,豌豆荚),尽量不要去华为应用市场,小米应用市场下载--多渠道打包,安装到手机上 2 使用抓包工具抓包分析(charles,fiddler...) 3 使用反 ...
- Python基础 - 序列结构
有序序列: 列表.元组.字符串 无序序列: 字典.集合 可变序列: 列表.字典.集合 不可变序列: 元组.字符串 基本涉及功能: 增.删.查.改 列表:升级版数组 特点: 支持双向索引 包含若干元素的 ...
- JAVA经典算法分析
算法分析是对一个算法需要多少计算时间和存储空间作定量的分析. 算法(Algorithm)是解题的步骤,可以把算法定义成解一确定类问题的任意一种特殊的方法.在计算机科学中,算法要用计算机算法语言描述 ...
- 最新版Navicat Premium v15.0.26 中文破解
注册机和主要流程参考<Navicat Premium v15.0.25 中文最新破解版(附:激活工具)>,但是,要注意以下细节: 断网 重装navicat 将注册机放到Navicat Pr ...
- Kubernetes控制器-Horizontal Pod Autoscaler(HPA)
Horizontal Pod Autoscaler(HPA) 我们可以通过手动执行kubeclt sacle命令实现Pod的扩缩容,但是这显然不符合Kubernetes的定位目标-自动化和智能化.Ku ...
- 手把手教你实现PyTorch版ViT:图像分类任务中的Transformer实战
作者:SkyXZ CSDN:SkyXZ--CSDN博客 博客园:SkyXZ - 博客园 ViT论文Arxiv地址:An Image is Worth 16x16 Words: Transformers ...
- [GESP样题 七级] 最长不下降子序列题解
题目传送门 题目大意 给定一个有向图无环图\(G\),在这个图中寻找一条路径,是这条路径上的点权所组成的序列的最长不下降子序列的长度最长. 思路部分 解决无后效性 求一个有向无环图中的最长不下降子序列 ...
- 函数使用十六:BAPI_GOODSMVT_CREATE
*&---------------------------------------------------------------------* *& Report ZBAPI_GOO ...
- 开源直播课丨高效稳定易用的数据集成框架——ChunJun类加载原理与实现
一.直播介绍 前几期,我们为大家分享了ChunJun的数据还原.Hive事务表及传输模块的一些内容,本期我们为大家分享ChunJun类加载原理与实现. 本次直播我们将从Java 类加载器解决类冲突基本 ...