• 首页
  • 粮食
  • 蔬菜
  • 果品
  • 水产
  • 酒水
  • 饮料
  • 茶叶
  • 畜禽
  • 食用油
  • 资讯
logo
  • 首页>
  • 食用油 >
  • 正文

Prometheus的使用-快报

2023-03-28 14:19:52 来源:腾讯云

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 list = new ArrayList<>();        list.add(Tag.of("id", id));        list.add(Tag.of("name", nameMap.get(id)));        String name = "insertPrometheus";        double value = Double.parseDouble(String.valueOf(valueMap.get(id)));        meterRegistry.gauge(name, Tags.of(list), value);    }}

在 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 gaugeinsertPrometheus{id="1002",name="钱二",} 1002.0insertPrometheus{id="1001",name="赵一",} 1001.0insertPrometheus{id="1003",name="孙三",} 1003.0

这里的数据是放在本地的,可以供 Prometheus 读取。

4 更新数据

在 service 层编写插入数据的代码:

public void updatePrometheus() {    String name = "updatePrometheus";    List list = new ArrayList<>();    list.add(Tag.of("id", "1001"));    list.add(Tag.of("name", "测试更新"));    // 通过引用的方式将 Prometheus 的 value 存入 valueMap,修改 valueMap 即可修改 Prometheus    updateValueMap.put("1001", meterRegistry.gauge(name, Tags.of(list), new AtomicDouble(0)));    for (int value = 0; value < 12; value++) {        try {            updateValueMap.get("1001").set(value); //  修改 valueMap 中的 value            Thread.sleep(5 * 1000); // 暂停5秒        } catch (InterruptedException e) {            e.printStackTrace();        }    }}

用浏览器或者Postman访问: http://localhost:8081/metric/custom

可以看到写入的数据:

updatePrometheus{id="1001",name="测试更新",} 1.0

关键词:

    为您推荐

  • Prometheus的使用-快报

    食用油2023-03-28
  • 每日热点:德州晶达节能技术有限公司

    食用油2023-03-28
  • 全球今亮点!2023年3月28日早盘期货要闻汇总

    食用油2023-03-28
  • 久违了!“喝酒吃药”行情再现,白酒、医疗齐头并进,热门概念ETF大涨3%

    食用油2023-03-28
  • 海南万宁新房投资最有价值的地方,石梅春墅买房子优势解析!

    食用油2023-03-28
  • 国药现代:3月27日融资买入909.7万元,融资融券余额1.12亿元

    食用油2023-03-28
  • 李泌《长歌行》原文、翻译及赏析_长歌行 唐朝诗人李泌诗词_环球热资讯

    食用油2023-03-28
  • speak to sb.造句_speak to sb-天天速递

    食用油2023-03-28
  • 刚刚!马云回国了!-资讯推荐

    食用油2023-03-27
  • 东安动力:2022年归母净利润同比增长19.58%,拟10派0.512元,2023年目标整机销量70万台 今日看点

    食用油2023-03-27
  • 2021能赚人民币的游戏_赚人民币的网络游戏|天天最资讯

    食用油2023-03-27
  • 万盛股份:2022年净利同比降55.7% 拟10派2元 讯息

    食用油2023-03-27
  • 焦点快报!2023年成都灵活就业人员如何缴纳社保?

    食用油2023-03-27
  • 两次IPO未果,途虎养车难过“盈利”关-全球快看

    食用油2023-03-27
  • 花序类型图解_花序类型|世界热讯

    食用油2023-03-27
  • 男子三次行窃同一小区 第四次轿车暴露被民警抓获

    食用油2023-03-27
  • 当前时讯:和玉资本曾玉:ESG标准尚待进一步细化和明晰

    食用油2023-03-27
  • 天天观点:《深海》:抑郁与轻生

    食用油2023-03-27
  • 卓然股份因定增募资不超4.13亿元收上交所审核问询函,被要求说明短时间内再次融资的必要性

    食用油2023-03-27
  • 住在移动光纤宽带线下面有辐射吗? 当前快播

    食用油2023-03-27

果品

  • 北京2022年冬奥会、冬残奥会奖牌“同心”正式发布
  • 冬奥故事会丨一图了解冬奥会历届奖牌
  • 冰雪之约 中国之邀 | 9种语言祝福冬奥倒计时100天
  • 同心筑梦向未来——写在北京冬奥会开幕倒计时100天之际
  • 外交部:美国针对亚裔仇恨犯罪数字令人痛心

蔬菜

  • 说好“一梯一户”却成了“两梯两户”,买方能否解除合同?
  • 更高水平开放合作助力中国东盟经贸发展迎新机遇
  • 9被告人犯侵犯著作权罪被判刑罚
  • 玉渊谭天丨中美再通话,“建设性”很重要
  • 环球时报社评:中美经贸需要建设性对话
  • 俄媒:莫斯科扩大新冠感染新疗法试点范围
  • 冰雪之约 中国之邀 | 追赶的勇气
  • 中国第20批赴黎维和建筑工兵分队完成“VA-2”道路排水系统修缮任务
  • 中国常驻联合国代表团举办恢复联合国合法席位50周年图片展
  • 美专家认为三大原因导致美国供应链危机

Copyright   2015-2022 中公食品网 版权所有  备案号:沪ICP备2022005074号-18   联系邮箱:5855973@qq.com