Prometheus 是一个开放性的监控解决方案,用户可以非常方便的安装和使用 Prometheus 并且能够非常方便的对其进行扩展。
在Prometheus的架构设计中,Prometheus Server 并不直接服务监控特定的目标,其主要任务负责数据的收集,存储并且对外提供数据查询支持。因此为了能够能够监控到某些东西,如主机的CPU使用率,我们需要使用到Exporter。Prometheus周期性的从Exporter暴露的HTTP服务地址(通常是/metrics)拉取监控样本数据。
Exporter可以是一个相对开放的概念,其可以是一个独立运行的程序独立于监控目标以外,也可以是直接内置在监控目标中。只要能够向Prometheus提供标准格式的监控样本数据即可。
1 环境配置
我们在 Windows 下安装 Prometheus。
1.1 安装 Prometheus
下载地址:https://prometheus.io/download/
选择 Windows 安装包,我选择的是prometheus-2.41.0.windows-amd64, 下载完成后解压,直接运行 prometheus.exe 即可。
prometheus默认端口是9090,在浏览器访问:http://localhost:9090,即可看到项目已经在运行。

Prometheus 的相关配置可以在 prometheus.yaml 中修改。
1.2 安装 NodeExporter
NodeExporter 是 Prometheus 提供的一个可以采集到主机信息的应用程序,它能采集到机器的 CPU、内存、磁盘等信息。
下载地址: https://prometheus.io/download/
选择 Windows 版本,我选择的是windows_exporter-0.20.0-amd64,下载完成后直接运行 windows_exporter-0.20.0-amd64.exe 文件即可。
windows_exporter默认端口是9182,通过浏览器访问:http://localhost:9182/metrics,

可以看到当前 node exporter 获取到的当前主机的所有监控数据。 其中 HELP 用于解释当前指标的含义,TYPE 则说明当前指标的数据类型。
2 添加数据源
编辑 prometheus 的配置文件 prometheus.yml,将scrape_configs修改为如下内容:
scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["localhost:9090"]
# node exporter 监控源
- job_name: 'prometheus2'
static_configs:
- targets: ['localhost:8080']
即配置了两个任务。一个名为 prometheus,其从「localhost:9090」地址读取数据。另一个名为 prometheus2,其从「localhost:8080」地址读取数据。 然后重启 Prometheus。
浏览器访问:http://localhost:9090,在搜索框输入up,点击execute,即可看到我们配置的两个任务:

3 自定义写入的数据
新建 SpringBoot 项目。完整项目地址:
GitHub地址:https://github.com/Snowstorm0/learn-prometheus
Gitee地址:https://gitee.com/Snowstorm0/learn-prometheus
在 service 层编写插入数据的代码:
public void insertPrometheus() {
meterRegistry.clear();
setIdList();
setNameMap();
setValueMap();
for (String id : idList) {
List
在 controller 层编写读取的代码:
@RequestMapping(value = "/metric/custom", method = RequestMethod.GET,produces = "text/plain; charset=utf-8")
public Object metric() {
return prometheusMeterRegistry.scrape();
}
用浏览器或者Postman访问: http://localhost:8081/metric/custom
可以看到写入的数据:
# HELP insertPrometheus
# TYPE insertPrometheus gauge
insertPrometheus{id="1002",name="钱二",} 1002.0
insertPrometheus{id="1001",name="赵一",} 1001.0
insertPrometheus{id="1003",name="孙三",} 1003.0
这里的数据是放在本地的,可以供 Prometheus 读取。
4 更新数据
在 service 层编写插入数据的代码:
public void updatePrometheus() {
String name = "updatePrometheus";
List
用浏览器或者Postman访问: http://localhost:8081/metric/custom
可以看到写入的数据:
updatePrometheus{id="1001",name="测试更新",} 1.0
学习更多编程知识,请关注我的公众号:
[代码的路]
-
JAVA
+关注
关注
20文章
2997浏览量
115694 -
Prometheus
+关注
关注
0文章
33浏览量
2017
发布评论请先 登录
在Ubuntu上安装iverilog 12.0方法
烧录工具操作教程:新手也能快速掌握~
Zabbix与Prometheus运维监控系统的对比
如何构建高可用Prometheus监控体系
【VisionFive 2单板计算机试用体验】安装openplc
使用Prometheus与Grafana实现MindIE服务可视化监控功能
Multisim 14 下载安装教程,亲测可用,永久免费
在MAC mini4上安装Ollama、Chatbox及模型交互指南
STM32WB09的开发板下载蓝牙的程序之后,手机的蓝牙检测不到是为什么?
从零入门Prometheus:构建企业级监控与报警系统的最佳实践指南
阿里云官网电脑版,阿里云电脑版的下载使用教程
单独下载安装adcpro后运行adcpro.exe并安装ADS1256PDK的plug-ing后连接开发板总是提示错误,为什么?
linux下服务器稳定性压⼒测试⼯具stress安装使⽤介绍

prometheus下载安装教程
评论