Prometheus入门

Prometheus(普罗米修斯) 是一种 新型监控告警工具,Kubernetes 的流行带动了 Prometheus 的应用。

全文参考自 prometheus 学习笔记(1)-mac 单机版环境搭建[1]



Mac 上安装 Prometheus


brew install prometheus

安装路径在 /usr/local/Cellar/prometheus/2.20.1,

配置文件在 /usr/local/etc/prometheus.yml:

global:
  scrape_interval: 15s

scrape_configs:
  - job_name: "prometheus"
    static_configs:
    - targets: ["localhost:9090"]

切换到安装目录的 bin 文件夹,

cd /usr/local/Cellar/prometheus/2.20.1/bin

执行:

./prometheus --config.file=/usr/local/etc/prometheus.yml

alt

此时可访问localhost:9090,有如下页面:

alt

Status中可以看到若干元信息.

alt



安装 grafana


brew install grafana

安装路径在 /usr/local/Cellar/grafana/7.1.5,

配置文件在 /usr/local/etc/grafana/grafana.ini,

可在此修改默认的端口等信息


启动:

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

访问localhost:3000,有如下页面:

(默认的用户名/密码均为 admin,首次登陆必须修改密码)

alt

Grafana 是一个单纯的前端图表展示工具, 必须为其添加数据源,才能读取到数据进而进行展示, 参考下图:

alt

Grafana 支持非常多的数据源.

alt

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

alt


安装 pushgateway


Prometheus 官网[2]搜索pushgateway, 下载 pushgateway-1.2.0.darwin-amd64.tar.gz[3]

本地解压,运行

./pushgateway

alt

此时, 在localhost:9091/页面Status这个 Tab 页,可见:

alt

pushgateway的作用:(图片来自网络)

alt

(图片来自煎鱼大佬的 Prometheus 快速入门[4])

alt

即 客户端(不管是通过代码, 还是直接终端敲命令行) 将数据 push 到网关(pushgateway), 然后 Prometheus 从网关 pull 数据



修改 Prometheus 的配置文件


vim /usr/local/etc/prometheus.yml

增加如下几行,重启 Prometheus,以让新的配置文件生效.

  - job_name: "push-metrics"
    static_configs:
    - targets: ["localhost:9091"]
    honor_labels: true

(Prometheus 提供了多种语言的 sdk, 最简单的方式是通过 shell)

推送一个指标:

echo "cui_metric 100" | curl --data-binary @- http://localhost:9091/metrics/job/dashen_blog

推送多个指标:

cat <<EOF | curl --data-binary @- http://localhost:9091/metrics/job/dashen_blog
blog_visit_total{blogid="12345",domain="dashen.tech",clientip="10.0.1.1"} 20
blog_visit_total{blogid="34567",domain="dashen.tech",clientip="10.0.1.2"} 30
blog_visit_total{blogid="56789",domain="dashen.tech",clientip="10.0.1.3"} 40
EOF

blog_visit_total 相当于指标名称,{ }中的内容相当于 tag,在查询时可根据 tag 进行过滤,最后的 20、30、40 相当于具体的指标值。

dashen_blog 是 job 名称, 可根据需要修改


此时http://localhost:9091上, 已能看到刚才 push 的数据:

alt

http://localhost:9090, Prometheus 里也能感知刚添加的数据

alt

Prometheus 本质上是一个时序数据库. curl 命令可以多执行几次, 相当于持续向时序数据库中写入数据.

alt


配置 Grafana


1.新建 Dashboard


alt

可在设置中进行相关修改

alt



2.添加图表

alt

(可以用 sum/max/min/avg 这类聚合函数统计指标)

alt
alt
alt



参考&进阶:

新型监控告警工具 prometheus(普罗米修斯)的入门使用[5]

Prometheus 快速入门[6]

Prometheus 四大度量指标的了解和应用[7]

使用 Prometheus 对 Go 程序进行指标采集[8]




Prometheus 推拉


Prometheus 是一个开源的监控系统,具有强大的查询语言和数据模型,用于收集和存储时间序列数据。Prometheus 通过 pull 模型从被监控的目标(如服务器、容器等)中获取数据,然后将其存储在本地数据库中。Prometheus 还提供了一种称为 pushgateway 的组件,用于允许被监控的目标通过 push 模型向 Prometheus 推送指标数据。

在 pull 模型中,Prometheus 通过 HTTP 协议从被监控的目标中拉取数据。被监控的目标必须运行一个称为 exporter 的组件,用于暴露指标数据的 HTTP 接口。Prometheus 定期通过该接口获取指标数据。

在 push 模型中,被监控的目标将指标数据推送到一个称为 pushgateway 的中间代理组件中。然后,Prometheus 定期从 pushgateway 中获取指标数据。推送数据的方式对于一些短暂存在的任务非常有用,比如批处理作业、临时性的任务等等,因为这些任务在 Prometheus 抓取数据之前就已经消失了,导致这些指标数据无法被 Prometheus 采集。




alt

5 分钟了解 Prometheus[9]

prometheus 架构[10]

Prometheus 核心组件[11]

[Prometheus 学习笔记(1)Prometheus 架构简介[12]]

参考资料

[1]

prometheus 学习笔记(1)-mac 单机版环境搭建: https://www.cnblogs.com/yjmyzz/p/how-to-install-prometheus-and-grafana.html

[2]

Prometheus 官网: https://prometheus.io/download/

[3]

pushgateway-1.2.0.darwin-amd64.tar.gz: https://github.com/prometheus/pushgateway/releases/download/v1.2.0/pushgateway-1.2.0.darwin-amd64.tar.gz

[4]

Prometheus 快速入门: https://eddycjy.com/posts/prometheus/2020-05-16-startup/

[5]

新型监控告警工具 prometheus(普罗米修斯)的入门使用: https://blog.csdn.net/lijiaocn/article/details/81865120

[6]

Prometheus 快速入门: https://eddycjy.com/posts/prometheus/2020-05-16-startup/

[7]

Prometheus 四大度量指标的了解和应用: https://eddycjy.com/posts/prometheus/2020-05-16-metrics/

[8]

使用 Prometheus 对 Go 程序进行指标采集: https://eddycjy.com/posts/prometheus/2020-05-16-pull/

[9]

5 分钟了解 Prometheus: https://blog.csdn.net/Dou_Hua_Hua/article/details/108535495

[10]

prometheus 架构: https://prometheus.kpingfan.com/01-introduction/01.prometheus%E6%9E%B6%E6%9E%84/

[11]

Prometheus 核心组件: https://yunlzheng.gitbook.io/prometheus-book/parti-prometheus-ji-chu/quickstart/prometheus-arch

[12]

[Prometheus 学习笔记(1)Prometheus 架构简介: https://www.cnblogs.com/linuxk/p/12017580.html

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/86170.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

08-1_Qt 5.9 C++开发指南_QPainter绘图

文章目录 前言1. QPainter 绘图系统1.1 QPainter 与QPaintDevice1.2 paintEvent事件和绘图区1.3 QPainter 绘图的主要属性 2. QPen的主要功能3. QBrush的主要功能4. 渐变填充5. QPainter 绘制基本图形元件5.1 基本图像元件5.2 QpainterPath的使用 前言 本章所介绍内容基本在《…

聚观早报 | 三星和LG发展电车零件业务;宝马召回国产和进口电车

【聚观365】8月12日消息 三星和LG加速发展电车零件业务宝马召回部分国产和进口电动汽车华为有意推动车BU独立运营长城汽车CTO就“中国汽车在一起”发声比科奇芯片被Contela选为单元的核心组件 三星和LG加速发展电车零件业务 随着电动汽车需求的增加&#xff0c;对电池、芯片等…

新一代分布式融合存储,数据场景All In One

1、摘要 2023年5月11日&#xff0c;浪潮信息全国巡展广州站正式启航。会上&#xff0c;重磅发布新一代分布式融合存储AS13000G7&#xff0c;其采用极致融合架构设计理念&#xff0c;实现同一套存储满足四种非结构化数据的“All In One”高效融合&#xff0c;数据存力提升300%&a…

28.Netty源码之缓存一致性协议

Mpsc Queue 基础知识 Mpsc 的全称是 Multi Producer Single Consumer&#xff0c;多生产者单消费者。Mpsc Queue 可以保证多个生产者同时访问队列是线程安全的&#xff0c;而且同一时刻只允许一个消费者从队列中读取数据。 Netty Reactor 线程中任务队列 taskQueue 必须满足多个…

pycharm离线安装依赖包

一、对于单个下载离线包&#xff0c;然后安装 1、先去https://pypi.org/网站下载离线包&#xff0c;下载到本地&#xff1b; 2、从磁盘中找到刚刚下载包&#xff0c;点击确定就可以安装了 二、将本地项目所有依赖包全部下载下来&#xff0c;然后批量在另一个项目&#xff…

造个破谣而已,咋还用上AI了?

最近&#xff0c;央视等各大媒体纷纷曝光了全国多起用AI炮制网络谣言的案例&#xff0c;其中涉及灾害、安全事故、刑事案件等多类谣言内容&#xff0c;造谣的方式更是从文案到图片、视频不一而足。 看到这样的消息&#xff0c;总是会加重我们对AI的担忧&#xff0c;联想到此前的…

windows使用/服务(13)戴尔电脑怎么设置通电自动开机

戴尔pc机器通电自启动 1、将主机显示器键盘鼠标连接好后&#xff0c;按主机电源键开机 2、在开机过程中按键盘"F12",进入如下界面&#xff0c;选择“BIOS SETUP” 3、选择“Power Management” 4、选择“AC Recovery”&#xff0c;点选“Power On”&#xff0c;点击“…

C语言每日一题:16:数对。

思路一&#xff1a;基本思路 1.x,y均不大于n&#xff0c;就是小于等于n。 2.x%y大于等于k。 3.一般的思路使用双for循环去遍历每一对数。 代码实现&#xff1a; #include <stdio.h> int main() {int n 0;int k 0;//输入scanf("%d%d", &n, &k);int x…

springboot第35集:微服务与flutter安卓App开发

Google Playplay.google.com/apps/publis…[1]应用宝open.qq.com/[2]百度手机助手app.baidu.com/[3]360 手机助手dev.360.cn/[4]vivo 应用商店dev.vivo.com.cn/[5]OPPO 软件商店&#xff08;一加&#xff09;open.oppomobile.com/[6]小米应用商店dev.mi.com/[7]华为应用市场dev…

Pycharm解决启动时候索引慢的问题

设置里去掉update里面的两个勾 shared indexes中&#xff0c;把自动下载索引改成不下载使用本地索引

综合能源系统(6)——综合能源综合评估技术

综合能源系统关键技术与典型案例  何泽家&#xff0c;李德智主编 综合能源系统是多种能源系统非线性耦合的、多时间与空间尺度耦合的“源-网-荷一储”一体化系统&#xff0c;通过能源耦合、多能互补&#xff0c;能够实现能源的高效利用&#xff0c;并提高新能源的利用水平。对…

沁恒ch32V208处理器开发(三)GPIO控制

目录 GPIO功能概述 CH32V2x 微控制器的GPIO 口可以配置成多种输入或输出模式&#xff0c;内置可关闭的上拉或下拉电阻&#xff0c;可以配置成推挽或开漏功能。GPIO 口还可以复用成其他功能。端口的每个引脚都可以配置成以下的多种模式之一&#xff1a; 1 浮空输入 2 上拉输入…

安装使用IDEA,修改样式,配置服务,构建Maven项目(超级详细版)

目录 前言&#xff1a; 一&#xff0c;安装 1.1打开官网JetBrains: Essential tools for software developers and teams点击 Developer Tools&#xff0c;再点击 Intellij IDEA 2.点击下载​编辑 3.选择对应的版本&#xff0c;左边的 Ultimate 版本为旗舰版&#xff0c;需要…

C++ ModBUS TCP客户端工具 qModMaster 介绍及使用

qModMaster工具介绍 QModMaster是一个基于Qt的Modbus主站&#xff08;Master&#xff09;模拟器&#xff0c;用于模拟和测试Modbus TCP和RTU通信。它提供了一个直观的图形界面&#xff0c;使用户能够轻松设置和发送Modbus请求&#xff0c;并查看和分析响应数据。 以下是QModM…

图像处理技巧形态学滤波之腐蚀操作

1. 引言 欢迎回来&#xff0c;我的图像处理爱好者们&#xff01;今天&#xff0c;让我们深入研究图像处理领域中的形态学计算。这些非线性的图像处理技术允许我们操纵图像中对象的形状和结构。在本系列中&#xff0c;我们将依次介绍四种基本的形态学操作&#xff1a;腐蚀、膨胀…

Kafka 概述

Kafka 为什么需要消息队列&#xff08;MQ&#xff09;使用消息队列的好处&#xff08;1&#xff09;解耦&#xff08;2&#xff09;可恢复性&#xff08;3&#xff09;缓冲&#xff08;4&#xff09;灵活性 & 峰值处理能力&#xff08;5&#xff09;异步通信 消息队列的两…

Neo4j笔记-数据迁移(导出/导入)

这里先说明以下几点&#xff1a; Neo4j在4.0下版本默认的库名是&#xff1a;graph.db Neo4j在4.0上版本默认的库名是&#xff1a;neo4j.db 不管是Neo4j&#xff0c;还是Neo4j Desktop&#xff0c;都会在bin目录下有neo4j、neo4j-admin软件。在conf目录下&#xff0c;有neo4j.…

MySQL SUBSTRING_INDEX() 函数的详细介绍

MySQL SUBSTRING_INDEX() 从给定字符串中返回指定数量的分隔符出现之前的子字符串。 当指定数字为正数时从最终分隔符的左侧返回子字符串&#xff0c;当指定数字为负数时从最终分隔符的右侧返回子字符串。 如果指定的次数大于分隔符的出现次数&#xff0c;则返回的子字符串将…

【每日一题】1572. 矩阵对角线元素的和

【每日一题】1572. 矩阵对角线元素的和 1572. 矩阵对角线元素的和题目描述解题思路 1572. 矩阵对角线元素的和 题目描述 给你一个正方形矩阵 mat&#xff0c;请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 示例 1&a…

pycharm的Terminal中如何设置打开anaconda3的虚拟环境

在pycharm的File -> Settings -> Tools -> Terminal下面&#xff0c;如下图所示 修改为红框中内容&#xff0c;然后关闭终端在重新打开终端&#xff0c;即可看到anaconda3的虚拟环境就已经会被更新