prometheus学习笔记(1)-mac单机版环境搭建

摘要:
然后到http://localhost:9091检查一下,你会看到刚刚推送的数据:感兴趣的学生,你也可以看看http://localhost:9090此时,普罗米修斯还可以感知到新添加的数据普罗米修斯的底层存储是一个时间序列数据库。上面的curl命令可以多次运行,这相当于将记录连续添加到时间序列数据库中,稍后将使用该数据库。

注:以下所有环境均为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

prometheus学习笔记(1)-mac单机版环境搭建第1张

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

prometheus学习笔记(1)-mac单机版环境搭建第2张

二、安装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学习笔记(1)-mac单机版环境搭建第3张

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

prometheus学习笔记(1)-mac单机版环境搭建第4张

三、安装pushgateway

从官网https://prometheus.io/download/ 下载pushgateway-1.2.0.darwin-amd64.tar.gz

解压到本地运行

./pushgateway

启动正常的话,浏览http://localhost:9091 可以看到

prometheus学习笔记(1)-mac单机版环境搭建第5张

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

prometheus学习笔记(1)-mac单机版环境搭建第6张

客户端(不管是写代码,还是直接终端敲命令行)把数据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的数据:

prometheus学习笔记(1)-mac单机版环境搭建第7张

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

prometheus学习笔记(1)-mac单机版环境搭建第8张

prometheus底层存储是一个时序数据库,上面的curl命令,可以多跑几次,相当于持续在向时序数据库时添加记录,后面会用到。

四、配置grafana

到目前为止,grafana好象一直在打酱油,没派上用场,该它发挥点作用了。

4.1 新建dashboard

prometheus学习笔记(1)-mac单机版环境搭建第9张

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

prometheus学习笔记(1)-mac单机版环境搭建第10张

4.2 添加图表 

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

prometheus学习笔记(1)-mac单机版环境搭建第11张

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

prometheus学习笔记(1)-mac单机版环境搭建第12张

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

prometheus学习笔记(1)-mac单机版环境搭建第13张

最后保存,这样一个基本的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单机版环境搭建》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇jmeter 调用python的方法三种 (还没试)安装nvm之后node不可用,“node”不是内部或外部命令,也不是可运行的程序或批处理文件(ng)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

使用Go env命令设置Go的环境

1 前言 在进行Go开发的时候,设置Go的环境变量信息是必须的。下面介绍windows和Linux,以及Go自身提供的命令进行设置的形式 2设置 2.1 Linux的设置 In Linux or macOS, you can execute the below commands.(在Linux或者macOS,你可以执行下面的命令) # Enable the...

企业如何部署开源邮箱系统?

今日我们来一些实际的、靠谱的部署。如何让自己有一个属于自己的邮箱系统。 我们说一下软件选择: 方案1:底层收发用postfix+ dovecot ;页面用roundmil;数据库可以用mysql(或者跟我一样用本地操作系统用户) 方案2:直接用iredmail吧,下载一个软件即可。执行程序,根据提示一步步进行。 下面我们简单介绍一下方案2,对用户最简单的方...

hadoop集群搭建

一、准备工作: 1、环境:CentOS6.4-64bit JDK1.7-64bit 基于虚拟机拷贝4个虚拟机,一个作为Master,另外三个作为Slave,在这拷贝出来的四台虚拟机上分别执行下面的脚本初始化网卡eth0设备: /install/initNetwork.sh 2、配置集群网络 A、Master机器: 1 #配置主机名 2 hostname...

如何在Ubuntu 20.04 LTS Focal Fossa上安装Grafana

步骤1.首先,通过apt在终端中运行以下以下命令,确保所有系统软件包都是最新的。sudo apt updatesudo apt upgrade第2步。在Ubuntu 20.04上安装Grafana。添加Grafana GPG密钥,该密钥可让您安装已签名的软件包:sudo apt-get install -y gnupg2 curl software-pro...

Go语言开发环境安装

Go语言(Golang) 由Google 的 Robert Griesemer,Rob Pike 和 Ken Thompson 推出,Go语言具有并发性,可以快速编译机器码,自动垃圾回收,是一种静态强类型、编译型语言。由于Go语言的并发特性,非常适用于Web 服务器、分布式集群计算、云计算、游戏服务端等的开发。在区块链(如以太坊,Ethereum)、容器(...

偏执的iOS逆向研究员:收集全版本的macOS iOS+越狱+内核调试

Intro 虽然“只有偏执狂才能够生存”这句话已经被假药停给毁了,但是作为一只有逼格的高大上的iOS逆向分析研究员,难道如果有现成的macOS/iOS全版本镜像可以下载并且无限“漫游”,难道你就不想来一套么? 在本文中,你将能够获得的是: macOS:10.12、10.11、10.10、10.9、10.8、10.7:六个版本的虚拟机一键安装; 使用苹果的...