Prometheus源码学习(1) 编译源码

news/2024/5/18 21:51:21 标签: prometheus, 源码

代码里面看不明白的变量或者函数可以通过两种方式观测它的值来了解其含义

  • 一种是把代码片段摘出来,写到一个测试程序里运行一下
  • 另一种时日志里打印它的值来观察

第一种比较简单易行,但是代码片段要比较独立才好做,第二种要修改源码重新编译,可以在整个源码上下文中观测,但是需要编码源码,相对麻烦一些,研究源码早晚也要编译,所以先总结一下编译 Prometheus 源码的步骤。

编译 Prometheus 源码需要 node.js 和 yarn。我是在 WSL2 上编译的。

  1. 安装 node.js
$ curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -

$ sudo apt-get install -y nodejs
  1. 安装 gcc
sudo apt-get install gcc g++ make
  1. 安装 yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update
sudo apt install yarn
  1. 编译源码
# 避免报错 fsevents@2.1.2: The platform "linux" is incompatible with this module.
yarn config set ignore-engines true
make build

耗时比较长,10分钟以上。


http://www.niftyadmin.cn/n/1531819.html

相关文章

屏幕分辨率

19宽屏:1440*9001400*10501366*7681360*7681280*10241152*8641280*10241024*768转载于:https://www.cnblogs.com/wangxiang/archive/2007/09/18/897503.html

Grafana table 表格配置方法

使用 table panel 展示文件系统的使用率,这个指标只关心当前值。 在 Query tab 设置 Format 为 Table,勾选 Instant Panel tab 的 Visualization 选择 Table Transform tab 隐藏不显示的列 Field tab 设置 Cell display mode 和 Unit 修改列名

更新 Prometheus 配置文件的正确姿势

Prometheus 有几种配置文件,每种可能有多个具体的文件。 这些配置文件可能包括: 配置文件如 prometheus.yml告警规则文件如 rule.yml服务发现用的监控目标文件如 targets.jsonnode-exporter 的 textfile 这些文件有些被重新加载的场景: 可…

.NET Core微服务之基于Ocelot+IdentityServer实现统一验证与授权

Tip: 此篇已加入.NET Core微服务基础系列文章索引 一、案例结构总览 这里,假设我们有两个客户端(一个Web网站,一个移动App),他们要使用系统,需要通过API网关(这里API网关始终作为客户端的统一入…

Prometheus 监控进程的内存使用率 PromQL 多对一向量匹配

使用 process-exporter 监控进程,node-expoert 监控节点 获取每个进程的内存使用量的表达式为 node_process_namegroup_memory_bytes{job"process",ip"10.1.1.1",memtype"resident"}获取节点总内存量的表达式为 node_memory_MemTota…

【译】WebAPI,Autofac,以及生命周期作用域

说明 原文地址:http://decompile.it/blog/2014/03/13/webapi-autofac-lifetime-scopes/ 介绍 这是一篇关于AutoFac的生命周期作用域的文章。 关于生命周期域一直以来都是一个令人头疼的命题,其中有些概念极易造成误解和混淆,比如域内单例&…

Prometheus 基于 snmp 监控网络设备注意事项

使用ifHCOUTOctets 而不是 ifOUTOctets,前者是64位的counter,后者是32位的snmp-exporter 的配置文件中,抓什么指标就 walk 什么 oid,最小化 walk 提高效率告警指标通常使用端口占用率而不是端口流量绝对值,ifSpeed 的值…

Prometheus源码学习(2) 服务发现

Prometheus 每个被控目标暴露一个 endpoint 供 server 抓取,要获知这些 endpoint 有多种方式,最简单的是在配置文件里静态配置,还有基于 k8s、consul、dns 等多种方式,基于文件的服务发现是比较灵活普遍的一种方式。当监控目标量比…