开始之前需要知道普罗米修斯的相关思想

  1. 采用http协议来传输数据
  2. 主动调用获取数据
  3. 简化理解,有一个服务(java服务)提供返回固定格式(四种)的接口,普罗米修斯服务定时调用(内部感觉用该有长链接,否则多少消耗性能),获取的数据通过WebUI可视化工具(Geneal)进行可视化(类比Kibana与ES)展示

引入jar包

        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-registry-prometheus</artifactId></dependency>

修改java项目配置文件

spring:application:name: genesis-prometheus # 应用名management:endpoints:# Actuator HTTP 配置项,对应 WebEndpointProperties 配置类web:exposure:include: '*' # 需要开放的端点。默认值只打开 health 和 info 两个端点。通过设置 * ,可以开放所有端点。metrics:tags: # 通用标签application: ${spring.application.name}

此时访问http://localhost:8080/actuator/prometheus

返回的值就是jvm监控指标

修改普罗米修斯配置文件

global:scrape_interval:     60sevaluation_interval: 60sscrape_configs:- job_name: prometheusstatic_configs:- targets: ['localhost:9090']labels:instance: prometheus- job_name: linuxstatic_configs:- targets: ['172.24.8.166:9100']labels:instance: localhost- job_name: 'genesis-prometheus'# 采集地址metrics_path: '/actuator/prometheus'# 目标服务器static_configs:- targets: ['172.24.8.166:8080']labels:instance: localhost

重新启动普罗米修斯

此时普罗米修斯的相关配置及完成

下面配置展示界面

打开WebUI工具Geneal

配置监控源

模板编号为 4701

得到如下监控仪表盘(jar包自带接口提供的数据,上面有接口)

但是作为后端开发,我关注的不仅仅是硬件信息。我更需要接口的监控

这种需要自定义接口

package com.example.prometheus;import io.micrometer.core.instrument.Counter;
import io.micrometer.core.instrument.MeterRegistry;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import javax.annotation.PostConstruct;@RestController
@RequestMapping("/v1")
public class IndexController {@AutowiredMeterRegistry registry;private Counter counter_core;private Counter counter_index;@PostConstructprivate void init(){counter_core = registry.counter("app_requests_method_count", "method", "IndexController.core");counter_index = registry.counter("app_requests_method_count", "method", "IndexController.index");}@RequestMapping(value = "/index")public Object index(){try{counter_index.increment();} catch (Exception e) {return e;}return counter_index.count() + " index of genesis-prometheus.";}@RequestMapping(value = "/core")public Object coreUrl(){try{counter_core.increment();} catch (Exception e) {return e;}return counter_core.count() + " coreUrl genesis-prometheus.";}
}

理解一下,就是两个请求并计数

在可视化上的配置如下
app_requests_method_count_total

可拓展的东西极多,主要用途大概率是监控docker的硬件指标。目前监控组仅要求引入jar包。后期如果监控自定义的东西,也许监控组会提供他们自己封装的jar包,可以利用alertmanager组建在某些指标达到阀值的时候发送邮件,也可以配置发送短信,但是需要钱买短信

普罗米修斯监控结合Java服务进行工作相关推荐

  1. 普罗米修斯 监控_接近完美的监控系统—普罗米修斯

    普罗米修斯(Prometheus)是一个SoundCloud公司开源的监控系统.当年,由于SoundCloud公司生产了太多的服务,传统的监控已经无法满足监控需求,于是他们在2012年决定着手开发新的 ...

  2. 普罗米修斯监控linux,Prometheus(普罗米修斯)搭建监控

    Prometheus(普罗米修斯) 实验环境:(各个主机,ip,所需服务) docker01 docker02 docker03 1.10 1.20 1.30 NodeEXporter NodeEXp ...

  3. 阿尔萨斯监控平台普罗米修斯监控平台对服务器资源的监控

    一.arthas-阿尔萨斯监控平台 内存监控: 1.打开RDMS,选择应用实例,在'快捷方式'下拉选项中选择arthas 2.打开监控界面,输入:dashboard -i 5000 备注:-i 刷新实 ...

  4. 普罗米修斯监控docker 服务

    环境 192.168.254.127 (监控服务器) 192.168.254.128 (被监控机器) 首先在监控服务器安装: 1.安装Node Exporter 来收集硬件信息 所有节点运行以下命令安 ...

  5. 一篇文章搞定Prometheus普罗米修斯监控系统的部署

    Prometheus普罗米修斯监控系统 一.普罗米修斯监控概述 1.1 什么是普罗米修斯监控 二.时间序列数据 2.1 什么是序列数据 2.2 时间序列数据特点 2.3 普罗米修斯特征 三.普罗米修斯 ...

  6. 普罗米修斯监控服务之-监控携带metric接口的服务

    第一部分:课前小菜: 例子: 分布式:将多台Linux主机组合在一起,做成像一台主机一样来使用 微服务:将一台Linux主机拆分成多台Linux使用 淘宝:搜索页.商品详情页.订单页.支付页.物流.评 ...

  7. 普罗米修斯 监控_完美的分布式监控系统——普罗米修斯

    DevOps工程师或SRE工程师,可能都知道Prometheus普罗米修斯.Prometheus于2012年由SoundCloud创建,目前已经已发展为最热门的分布式监控系统.Prometheus完全 ...

  8. 普罗米修斯监控系统_一步步教你用Prometheus搭建实时监控系统系列(二)——详细分析拉取和推送两种不同模式...

    前言 本系列着重介绍Prometheus以及如何用它和其周边的生态来搭建一套属于自己的实时监控告警平台. 本系列受众对象为初次接触Prometheus的用户,大神勿喷,偏重于操作和实战,但是重要的概念 ...

  9. 普罗米修斯监控系统_基于Prometheus和Grafana的监控平台 - 环境搭建

    导读 微服务中的监控分根据作用领域分为三大类,Logging,Tracing,Metrics. Logging - 用于记录离散的事件.例如,应用程序的调试信息或错误信息.它是我们诊断问题的依据.比如 ...

最新文章

  1. Swift类与结构、存储属性、计算属性、函数与方法、附属脚本等
  2. python32位安装
  3. Windows Mobile 技术开发黄金周系列课程
  4. 子网掩码和网络ID的快速计算方法
  5. noip2017d2t2
  6. Angular 应用解决跨域访问的问题
  7. C++:map和pair
  8. 澳大利亚计算机领域的科学家,澳科学家首创硅基元件 突破量子计算机制造瓶颈...
  9. python 3全栈开发-面向对象之绑定方法(classmethod与staticmethod的区别)、多态、封装的特性property...
  10. Java项目出现的问题02----学习
  11. FastStone Capture 画图吸色工具
  12. OutMan——单例模式、代理模式以及iOS沙盒(sandbox)机制
  13. Python3.7出现RuntimeError: generator raised StopIteration异常
  14. 2021年腾讯云618活动最新优惠攻略
  15. 两分钟解决IntelliJ IDEA中文乱码问题
  16. Android系统工作资料被锁定,您需要知道的有关安卓屏幕锁定设置的所有内容
  17. python十进制转化为二进制
  18. linux ftp服务器配置本地账号,CentOS7 下安装和配置本地用户登录VSFTP服务器
  19. (转)认识SAP SD销售模式之寄售销售
  20. ENVI实验教程(5) 实验五、遥感图像增强

热门文章

  1. server sql 数据总行数_SqlServer中获取数据库中每个表的行数
  2. android bitmap显示图片,Android_07 Android中Bitmap加载图片
  3. C++基础(十五)sizeof的用法 计算数组长度
  4. IDEA出现乱码的各种解决方法
  5. 微信小程序 动态修改图片并将图片实时更新
  6. java仿qq_java模仿实现QQ登录界面
  7. hostname 修改系统name
  8. uni-app条件编译 解决各端差异
  9. 基于BiLSTM的酒店评论文本情感分析
  10. SDH复杂组网之配置SNCP与SNCP相交-01