Prometheus入门

news2024/11/25 12:40:38

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.coloradmin.cn/o/865467.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

个保新标 | 《信息安全技术 敏感个人信息处理安全要求》(征求意见稿)发布

8 月 9 日&#xff0c;全国信息安全标准化技术委员会公开发布关于国家标准《信息安全技术 敏感个人信息处理安全要求》&#xff08;征求意见稿&#xff09;&#xff08;以下简称《标准》&#xff09;的通知&#xff0c;面向社会广泛征求意见。 《标准》的制定背景是为支撑《个人…

【React学习】—类式组件(六)

【React学习】—类式组件&#xff08;六&#xff09; <script type"text/babel">//创建类式组件class MyComponent extends React.Component{render() {// render是放在哪里的&#xff1f;MyComponent的原型对象上&#xff0c;供实例使用// render中的this是谁…

三大方法助你轻松消除内存卡中的病毒,告别烦恼

在数字化时代&#xff0c;内存卡成为了我们存储重要数据的关键设备之一。然而&#xff0c;恶意病毒的存在可能威胁到我们的数据和隐私。所幸的是&#xff0c;我们可以采取一些方法来清理内存卡中的病毒。在本文中&#xff0c;我们将为你介绍三招&#xff0c;让你轻松去除内存卡…

8月10日计算机考研信息差

距24考研初试还有134 天。 8月关注&#xff1a;科目调整、招生宣讲、推荐免试 下一关键节点&#xff1a;预报名(预计2023年09月24日-09月27日) 计算机考研最新资讯&#xff1a; 1、哈尔滨工业大学(威海)发布24专业目录 计算机相关专业&#xff1a; 0812计算机科学与技术 …

瓴羊发布All in One 产品,零售SaaS的尽头是DaaS?

“打破烟囱、化繁为简&#xff0c;让丰富的能力、数据和智能All in One”&#xff0c;这是瓴羊新发布的产品瓴羊One承担的使命&#xff0c;也意味着瓴羊DaaS事业迈入了一个新阶段。 成立伊始&#xff0c;瓴羊就打出了“Not SaaS&#xff0c;But DaaS”旗号&#xff0c;将自己的…

奋斗四个月,我要上西工大

距离考研初试还有135天&#xff0c;今天我参观了西北工业大学&#xff0c;看到了《何尊组雕》&#xff0c;让我肃然起敬。 西北工业大学&#xff0c;国防七子&#xff0c;我也不知道自己能否够得着&#xff0c;也许只有时间能带给我答案。 在过去三年的积累中&#xff0c;我的…

2023年测试工程师,从0到1学习自动化测试,落地实施...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 如何实施自动化测…

RFID技术半导体天车设备上的应用

在当前的制造业环境中&#xff0c;无人化和自动化已经成为了发展的主流趋势&#xff0c;加之在半导体制造业中&#xff0c;12寸的晶圆盒尺寸大&#xff0c;重量重&#xff0c;人工长期搬运会对身体有损伤&#xff0c;而且人工搬运也会对产品的良品率造成影响&#xff0c;因此&a…

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

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

巨人互动|Meta海外户Meta的业务工具转化API

Meta的业务工具转化API是一项创新技术&#xff0c;它可以帮助企业实现更高效的业务工具转化和集成。通过这个API&#xff0c;企业可以将不同的业务工具整合到一个统一的平台上&#xff0c;提高工作效率和协作能力。本文小编将介绍Meta的业务工具转化API的功能和优势。 巨人互动…

【学习日记】【FreeRTOS】临界段的保护

写在前面 本文主要是对于 FreeRTOS 中临界段的保护的详细解释&#xff0c;代码大部分参考了野火 FreeRTOS 教程配套源码&#xff0c;作了一小部分修改。 一、什么是临界段 临界段就是一段在执行的时候不能被中断的代码段。 **临界段&#xff08;Critical Section&#xff0…

文心一言 VS 讯飞星火 VS chatgpt (74)-- 算法导论7.2 2题

二、如果用go语言&#xff0c;当数组A的所有元素都具有相同值时&#xff0c;QUICKSORT的时间复杂度是什么? 文心一言&#xff1a; 在Go语言中&#xff0c;对一个所有元素都相等的数组进行快速排序&#xff08;QuickSort&#xff09;的时间复杂度是O(n log n)。 快速排序是一…

栈和队列修炼指南(基本操作+OJ练习)

栈和队列修炼指南 1. 栈 1. 1 概念及结构 栈&#xff1a;是一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素的操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端为栈底。 栈中的数据元素遵守后进先出原则(LIFO)原则 压栈&#xff1a;栈的…

【Git】—— git的配置

目录 &#xff08;一&#xff09;忽略特殊⽂件 &#xff08;二&#xff09;给命令配置别名 &#xff08;一&#xff09;忽略特殊⽂件 在⽇常开发中&#xff0c;我们有些⽂件不想或者不应该提交到远端&#xff0c;⽐如保存了数据库密码的配置⽂件&#xff0c;那怎么让Git知道呢…

为什么金鸣识别不做成离线版?

来百度APP畅享高清图片 在众多的用户咨询中&#xff0c;金鸣识别客服常常会被用户问及为何不做成离线版的问题&#xff0c;下面我就在这里跟大伙说说其中的原因吧。 离线版的OCR准确率相对于网络版可能会较低&#xff0c;主要有以下几个原因&#xff1a; 1. 数据量和模型更新…

WLRYJ-300型微流控芯片真空热压机

WLRYJ-300型微流控芯片真空热压机 关键词&#xff1a;微流控芯片&#xff0c;热压封合&#xff0c;LNP合成芯片 WLRYJ-300型微流控芯片真空热压机是一款应用于PMMA、PC、PP、COP、COC、BOPET、CBC、树脂&#xff08;部分&#xff09;、聚乙烯&#xff08;部分&#xff09;等硬质…

干货丨学完网络安全专业,我掌握了哪些技能?

andy Ng在我校完成网络防御与司法大专(Diploma in Network Defense and Forensic Countermeasures)之后&#xff0c;顺利升入我校的网络安全本科课程&#xff0c;目前她就职于一家金融机构并担任安全操作中心的分析专员。在进入我校就读之前&#xff0c;Sandy在建筑行业领域工作…

tsup打包如何更改outFileName

首先简单介绍一下&#xff0c;什么是tsup tsup是一个打包工具&#xff0c;类似的有rollup tsup的官网&#xff1a;https://tsup.egoist.dev/ tsup的优点&#xff1a;打包速度快&#xff0c;配置少&#xff0c;与ts兼容良好 安装 npm i tsup -D # Or Yarn yarn add tsup --…

决策规划仿真平台搭建

决策规划仿真平台搭建 自动驾驶决策规划算法第二章第一节 决策规划仿真平台搭建 这部分的主要难点在于多个软件的连通与适配&#xff0c;环境的搭建总是折磨人的&#xff0c;主要是 4 个软件&#xff0c;各软件版本如下 Visual Studio2017PreScan8.5.0CarSim2019.0MATLAB2019b…

【黑马头条之xxl-Job分布式任务调度】

本笔记内容为黑马头条项目的分布式任务调度热点文章部分 目录 一、今日内容 1、需求分析 2、实现思路 3、定时计算 4、定时任务框架-xxljob 二、分布式任务调度 1、什么是分布式任务调度 2、xxl-Job简介 3、XXL-Job-环境搭建 4、配置部署调度中心-docker安装 5、xx…