Spring Cloud【为什么需要监控系统、Prometheus环境搭建、Grafana环境搭建 、微服务应用接入监控 】(十七)

news2024/11/25 15:20:36

 

目录

全方位的监控告警系统_为什么需要监控系统

全方位的监控告警系统_Prometheus环境搭建

全方位的监控告警系统_Grafana环境搭建 

全方位的监控告警系统_微服务应用接入监控 


 

全方位的监控告警系统_为什么需要监控系统

前言 

一个服务上线了后,你想知道这个服务是否可用,需要监控。假如线上出故障了,你要先于顾客感知错误,你需要监控。等等各层面的监控。

 

什么是Prometheus 

Prometheus 是一套开源的系统监控报警框架。

具体流程:

1、Prometheus Server 用于定时抓取数据指标(metrics)、存储时间序列数据(TSDB)

2、Jobs/exporte 收集被监控端数据并暴露指标给Prometheus

3、Pushgateway 监控端的数据会用push的方式主动传给此组件,随后被Prometheus 服务定时pull此组件数据即可

4、Alertmanager 报警组件,可以通过邮箱、微信等方式

5、Web UI 用于多样的UI展示,一般为Grafana

6、还有一些例如配置自动发现目标的小组件和后端存储组件 

Prometheus的特点 

1、多维度数据模型。

2、灵活的查询语言。

3、不依赖分布式存储,单个服务器节点是自主的。

4、通过基于HTTP的pull方式采集时序数据。

5、可以通过中间网关进行时序列数据推送。

6、通过服务发现或者静态配置来发现目标服务对象。

7、支持多种多样的图表和界面展示,比如Grafana等。

Grafana介绍 

Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示。Grafana提供了对prometheus的友好支持,各种工具帮助你构建更加炫酷的数据可视化。

 

Grafana特点 

1、可视化:快速和灵活的客户端图形具有多种选项。面板插件为许多不同的方式可视化指标和日志。

2、报警:可视化地为最重要的指标定义警报规则。Grafana将持续评估它们,并发送通知。

3、通知:警报更改状态时,它会发出通知。接收电子邮件通知。

4、动态仪表盘:使用模板变量创建动态和可重用的仪表板,这些模板变量作为下拉菜单出现在仪表板顶部。

5、混合数据源:在同一个图中混合不同的数据源!可以根据每个查询指定数据源。这甚至适用于自定义数据源。

6、注释:注释来自不同数据源图表。将鼠标悬停在事件上可以显示完整的事件元数据和标记。

7、过滤器:过滤器允许您动态创建新的键/值过滤器,这些过滤器将自动应用于使用该数据源的所有查询。

实时效果反馈

1.全方位的监控告警系统主要作用____。

A 监控链路

B 监控微服务运行状况

C 监控服务调用情况

D 以上都是错误

2.Prometheus 是一套开源的系统____框架。

A 服务网关

B 服务注册

C 监控报警

D 服务熔断 

全方位的监控告警系统_Prometheus环境搭建

Prometheus下载 

Prometheus下载地址:https://prometheus.io/download 

 

解压Prometheus 

tar -zxvf prometheus-2.34.0-rc.1.linux-amd64.tar.gz -C /usr/local

Prometheus启动服务 

运行,指定prometheus.yml配置文件

./prometheus --config.file=prometheus.yml

Prometheus关闭服务

pgrep -f prometheus

Prometheus验证

启动后在浏览器中访问:http://192.168.66.101:3000/,用户名密码默认都是admin

 

全方位的监控告警系统_Grafana环境搭建 

下载Grafana镜像 

docker pull grafana/grafana-enterprise

运行Grafana镜像

docker run -d --name=grafana -p 3000:3000 grafana/grafana-enterprise

Grafana验证

启动后在浏览器中访问:http://192.168.66.101:3000/,用户名密码默认都是admin

 

Grafana datasouce配置 

进入到Data Sources配置页面 

添加监控数据源配置 

点击add data souce按钮,进入添加监控数据源配置页面,数据源类型选择Prometheus(因为Grafana UI的数据来源于 Prometheus)

 

配置Prometheus地址 

保存配置

填写URL后,点击页面最下方的save & Test按钮 

点击左侧import按钮 

配置Grafana模板

在输入框中填写12856,然后点击load。12856是Grafana模板ID,

更多模板请参考:https://grafana.com/grafana/dashboards 

 

选择数据源对象 

进入DashBoard 

就可以查看JVM监控大盘了

全方位的监控告警系统_微服务应用接入监控 

创建工程cloud-provider-prometheus-payment8001 

引入以来 

<dependency>
   <groupId>io.micrometer</groupId>
   <artifactId>micrometer-registry-prometheus</artifactId>
</dependency>

修改application.yml配置文件

management:
 endpoints:
   web:
     exposure:
       include: '*'
 endpoint:
   health:
     show-details: ALWAYS
 metrics:
   tags:
     application: ${spring.application.name}

注意:

management.endpoints.web.exposure.include=* 配置为开启 Actuator 服务,因为Spring Boot Actuator 会自动配置一个 URL 为 /actuator/Prometheus 的 HTTP 服务来供 Prometheus 抓取数据,不过默认该服务是关闭的,该配置将打开所有的 Actuator 服务。 management.metrics.tags.application 配置会将该工程应用名称添加到Grafana UI,方便后边根据应用名称来区分不同的服务。

修改主启动类 

@EnableEurekaClient
@SpringBootApplication
@Slf4j
public class PaymentMain8001 {
    public static void main(String[] args) {
      SpringApplication.run(PaymentMain8001.class,args);
        log.info("***********PaymentMain8001服务启动成功 ******* ");
   }
    @Bean
    MeterRegistryCustomizer<MeterRegistry> configurer(@Value("${spring.application.name }") String applicationName) {
        return registry -> registry.config().commonTags("application", applicationName);
   }
}

关闭Prometheus服务

因为 Prometheus 是一个 Unix 二进制程序,我们可以向 Prometheus 进程发送 SIGTERM 关闭信号。

使用 pgrep -f prometheus 找到运行的 Prometheus 进程号

使用 kill -9 1234 来关闭 

修改prometheus.yml配置文件 

 - job_name: "payment-provider"
   scrape_interval: 5s
   metrics_path: "/actuator/prometheus/"
   static_configs:
     - targets: ["192.168.66.10:8001"]

启动Prometheus服务

./prometheus --config.file=prometheus.yml

查看微服务大盘

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/794647.html

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

相关文章

PostgreSQL-Character with value 0x09 must be escaped.

在使用json相关函数时&#xff0c;报了这个错&#xff1a; Character with value 0x09 must be escaped.中文即使&#xff1a;值为0x09的字符必须转义。 找了下这个0x09 这个ASCII的值&#xff0c;是水平制表符。那这应该是因为json不支持换行导致的&#xff0c;我们将水平制…

spring-websocket在SpringBoot(包含SpringSecurity)项目中的导入

✅作者简介&#xff1a;大家好&#xff0c;我是 Meteors., 向往着更加简洁高效的代码写法与编程方式&#xff0c;持续分享Java技术内容。 &#x1f34e;个人主页&#xff1a;Meteors.的博客 &#x1f96d;本文内容&#xff1a;spring-websocket在SpringBoot(包含SpringSecurity…

移动云携手启明星辰打造云网全域安全能力 提供全方位网络安全防护和风险控制服务

为满足大众安全用云、智慧用云的需求&#xff0c;中国移动云能力中心与启明星辰强强联合打造移动云|星辰安全—云网全域安全能力。此次合作深度融合信息技术与业务运营&#xff0c;提供全方位的网络安全防护和风险控制服务&#xff0c;满足国家合规要求和大众用云需求&#xff…

从小白到大神之路之学习运维第68天-------Nginx企业级优化与防盗链

第三阶段基础 时 间&#xff1a;2023年7月26日 参加人&#xff1a;全班人员 内 容&#xff1a; Nginx企业级优化与防盗链 目录 一、配置Nginx隐藏版本号 二、修改Nginx用户与组 ​三、配置Nginx网页缓存时间 四、实现Nginx的日志切割 五、配置Nginx实现连接超时 六…

图为科技T501赋能工业机器人 革新传统工业流程

工业机器人已成为一个国家制造技术与科技水平的重要衡量标准&#xff0c;在2019年&#xff0c;中国工业机器人的组装量与产量均位居了全球首位。 当前&#xff0c;工业机器人被广泛用于电子、物流、化工等多个领域之中&#xff0c;是一种通过电子科技和机械关节制作出来的智能机…

让婚礼策划展示小程序成为你的必备利器

在当今互联网时代&#xff0c;微信小程序已经成为了很多企业和个人展示自己产品和服务的重要渠道。如果你想学习微信小程序开发&#xff0c;下面将为你介绍一些基本步骤。 首先&#xff0c;你需要注册并登录一个第三方小程序制作平台&#xff0c;比如乔拓云平台。这些平台提供了…

uiautomatorViewer无法获取Android8.0手机屏幕截图的解决方案

问题描述&#xff1a; 做APP UI自动化的时候&#xff0c;会碰到用uiautomatorViewer在Android 8.0及以上版本的手机上&#xff0c;无法获取到手机屏幕截图&#xff0c;无法获取元素定位信息的问题&#xff0c;会有以下的报 在低版本的Android手机上&#xff0c;则没有这个问题…

探索:Modbus TCP协议(应用层)

目录 一&#xff0c;Modbus起源 ModbusTCP协议格式 1,报文头 2,寄存器 3,功能码 练习&#xff1a; 工具软件使用 三方库的使用 【1】库的安装 1.库的安装配置 2.库的使用 【2】函数接口 【3】编程流程 代码实战 一&#xff0c;Modbus起源 起源&#xff1a; Modbus由Modicon公司…

【数据分享】1901-2022年1km分辨率逐月平均气温栅格数据(全国/分省/免费获取)

气温数据是我们最常用的气象指标之一&#xff0c;之前我们给大家分享过1950-2022年0.1 x 0.1精度的逐月平均气温栅格数据和逐年平均气温栅格数据&#xff08;均可查看之前的文章获悉详情&#xff09;&#xff01; 本次我们分享的是精度更高的气温栅格数据——1901-2022年1km分…

【数据分享】全国地级市1999—2020年工业企业数(Shp/Excel格式)

在之前的文章中&#xff0c;我们分享过基于2000-2022年《中国城市统计年鉴》整理的1999-2021年地级市的人口相关数据、各类用地面积数据、污染物排放和环境治理相关数据、房地产投资情况和商品房销售面积、社会消费品零售总额和年末金融机构存贷款余额&#xff08;可查看之前的…

[Golang] Viper原理以及详细使用案例

文章目录 什么是 Viper&#xff1f;基础配置引入依赖&#xff1a;动态监听原理分析&#xff1a;监听原理分析 Config.yaml文件配置Viper文件配置 什么是 Viper&#xff1f; 介绍&#xff1a;用于处理配置文件中解析和读取配置文件 优点&#xff1a;支持多种配置格式&#xff0…

办公软件巨头CCED、WPS迎来新挑战,新款办公软件已形成普及之势

办公软件巨头CCED、WPS的成长经历 众所周知&#xff0c;CCED和WPS是中国办公软件行业的两大知名品牌。 但它们的成长经历不是一蹴而就的&#xff0c;都是经历了漫长的发展过程的。 CCED是中国大陆早期的一款文本编辑器&#xff0c;它在上个世纪80年代末和90年代初非常流行。 …

Flutter Widget Life Cycle 组件生命周期

Flutter Widget Life Cycle 组件生命周期 视频 前言 了解 widget 生命周期&#xff0c;对我们开发组件还是很重要的。 今天会把无状态、有状态组件的几个生命周期函数一起过下。 原文 https://ducafecat.com/blog/flutter-widget-life-cycle 参考 https://api.flutter.dev/f…

低代码和零代码有哪些区别?

低代码开发的概念 低代码开发是一种新兴的软件开发方法&#xff0c;其核心是通过使用图形用户界面和可视化建模工具&#xff0c;来减少编写代码的工作量和技能要求。低代码开发平台通常提供了丰富的预定义组件和模板&#xff0c;可以帮助开发人员快速构建应用程序。开发人员只…

【雕爷学编程】Arduino动手做(173)---SG90舵机双轴云台模块

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

新思的DW ECC计算模块

参考文件&#xff1a;synopsys学习资料-dw_ecc.pdf 设计的模块&#xff1a;

一些需要用到的网址

https://npm.taobao.org/mirrors/chromedriver/ (谷歌浏览器镜像网址) 欢迎使用Markdown编辑器 你好&#xff01; 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章&#xff0c;了解一下Markdown的基本语法知识。…

Neo4j 集群和负载均衡

Neo4j 集群和负载均衡 Neo4j是当前最流行的开源图DB。刚好读到了Neo4j的集群和负载均衡策略&#xff0c;记录一下。 1 集群 Neo4j 集群使用主从复制实现高可用性和水平读扩展。 1.1 复制 集群的写入都通过主节点协调完成的&#xff0c;数据先写入主机&#xff0c;再同步到…

word中将合并后的多行拆分为原先的行数

word中将已经合并的多行拆分为原先的行数&#xff0c;我们不用刻意去数应该是多少行&#xff0c; 只需将拆分的行数不断增加&#xff0c;word会默认最大增加到合并前的行数。