首页 > 系统相关 >Prometheus+Grafana实现服务性能监控:windows主机监控、Spring Boot监控、Spring Cloud Alibaba Seata监控

Prometheus+Grafana实现服务性能监控:windows主机监控、Spring Boot监控、Spring Cloud Alibaba Seata监控

时间:2023-11-02 16:45:23浏览次数:42  
标签:Seata windows Spring prometheus grafana metrics Prometheus 监控

1、Prometheus介绍

Prometheus使用Go语言开发,中文名称叫:普罗 米修斯。Prometheus是一个开源系统最初在SoundCloud构建的监控和警报工具包。自 2012 年成立以来,许多公司和组织已经采用了 Prometheus,它现在是一个独立的开源项目并独立于任何公司进行维护。Prometheus于2016年加入云原生计算基金会作为继 Kubernetes之后的第二个托管项目。Prometheus主要用于抓取目标数据,并记录所有抓取的目标数据。

官网地址

https://prometheus.io/

Github地址

https://github.com/prometheus/prometheus

2、下载Prometheus并启动

官网下载:

https://prometheus.io/download/

Github下载:

https://github.com/prometheus/prometheus/releases

通过访问上面的地址,可以选择下载Prometheus的版本。这里选择下载windows版本:

下载成功后,解压压缩包,进入prometheus-2.44.0-rc.0.windows-386目录我们就可以启动程序了。

启动程序:prometheus.exe

程序启动成功后,访问端口9090进入系统:

http://localhost:9090/graph

成功进入系统后,我们可以访问Targets来查看接入的目标数据,由于我们还没有配置其他目标数据采集,目前只能检测到自己的信息:

3、安装可视化工具Grafana

通过上面启动Prometheus,会发现上面的展示信息都是数据而不是通过图表展示出来,这个看起来非常费力。所以需要通过第三方工具通过图表的方式用来把Prometheus收集的数据展现出来。

官网地址:

https://grafana.com/

进入官网后,可以在下载里面进行下载程序或者直接点击链接下载

https://grafana.com/grafana/download?pg=get&plcmt=selfmanaged-box1-cta1

Github地址:

https://github.com/grafana/grafana

Github ChangeLog:

https://github.com/grafana/grafana/blob/main/CHANGELOG.md

选择版本和操作系统进行下载,下载成功后进入grafana文件里面进入/bin目录,启动程序:

启动程序:grafana-server.exe

等待窗口加载完毕,访问地址:http://localhost:3000  默认账号密码:admin/admin 就可以登录系统了,首次登录需要修改admin密码。

在grafana中添加数据源

点击添加数据源,选择Prometheus:

配置连接信息:

配置成功后点击保存,这样我们的数据源就配置成功了。

4、Grafana官网模板

在grafana中我们可以自己配置仪表盘展示信息也可以通过引入官方模板进行展示。模板地址:

https://grafana.com/grafana/dashboards/

记录一下常用模板信息:

模板编号ID:
9276:主机基础监控(cpu,内存,磁盘,网络)
12900:SpringBoot Dashboard
4701:JVM模板
10467:windows_exporter-Windows Server监控模板导入
11587:OhmGraphite-0.21.0-Ohm Windows Desktop

5、使用Prometheus+Grafana实现windows主机监控

要想监控windows系统,首先我们需要一个windows监控工具,然后把这个监控地址的连接集成到Prometheus中,最后在通过Grafana进行展示出来。这里介绍两个window监控工具

第一个windows_exporter下载地址:

https://github.com/prometheus-community/windows_exporter/releases

选择版本进行下载,下载windows运行程序就可以了,直接启动即可。启动完成端口为:9182,如果启动成功访问:http://localhost:9182/metrics 就可以以数据的格式展示出我们当前主机的配置信息。

接下来就需要把地址配入到Prometheus中,让Prometheus进行管理。进入Prometheus目录,修改Prometheus配置文件prometheus.yml并重新启动Prometheus

重新启动Prometheus后,再次查看Targets标签,发现windows_exporter接入成功,状态为 UP(正常)

最后我们就需要把数据通过Grafana以图表形式展现出来,首先登录我们安装成功的grafana系统,点击+号导入官方提供的模板。

输入模板ID:10467,点击Load:

选择数据源为Prometheus

点击导入,我们就可以查看到windows系统的配置信息

通过上面的步骤,我们就成功配置成功了一个监控信息了。下面介绍windows的另一个监控软件:OhmGraphite,下载地址:

https://github.com/nickbabcock/OhmGraphite/releases

需要下载压缩包文件,下载成功后进行解压。解压成功后需要进入OhmGraphite-0.21.0目录,编辑OhmGraphite.exe.config文件,增加prometheus作为接收数据源。支持Graphite、InfluxDB、Prometheus、Timescale / Postgres。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="host" value="localhost" />
    <add key="port" value="2003" />
    <add key="interval" value="5" />
	  <!--开启prometheus-->
	<add key="type" value="prometheus" />
    <add key="prometheus_port" value="4000" />
	<add key="prometheus_host" value="*" />
  </appSettings>
</configuration>

通过cmd命令行执行:

OhmGraphite.exe install

启动:

OhmGraphite.exe start

启动成功后访问:http://127.0.0.1:4000/metrics 就可以访问的监控数据。后面步骤就和第一次集成一致修改Prometheus配置文件在scrape_configs中添加新的路径,导入Grafana。导入模板ID:11587:OhmGraphite-0.21.0-Ohm Windows Desktop

 #被监控端的配置,目前只有一个节点,就是prometheus本身
scrape_configs:
  - job_name: "prometheus"
    static_configs:
      - targets: ["localhost:9090"]
  - job_name: "windows_exporter"
    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.
    static_configs:
    - targets: ["localhost:9182"] 
  - job_name: "windows_ohm_graphite"
    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.
    static_configs:
    - targets: ["localhost:4000"] 

6、SpringBoot监控

首先在SpringBoot项目中导入依赖

        <!--prometheus 监控平台 集成micrometer,将监控数据存储到 prometheus-->
        <dependency>
            <groupId>io.micrometer</groupId>
            <artifactId>micrometer-registry-prometheus</artifactId>
        </dependency>
        <!--监控-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

在配置文件bootstrap.yml或application.yml中加入配置暴露端点

#暴露端点
management:
  endpoints:
    web:
      exposure:
        include: '*'

配置成功后,启动项目访问地址:http://IP:PORT/actuator/prometheus

http://localhost:8810/actuator/prometheus

就可以查看到监控数据

数据获取成功后,后面就和原来的步骤一样了,修改Prometheus配置文件在scrape_configs中添加新的路径,导入Grafana。

  - job_name: "spring-boot-order-8810"
    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.
    metrics_path: "/actuator/prometheus" #路径变了,记得要更改访问路径
    static_configs:
    - targets: ["localhost:8810"]

这里还是使用官方提供的模板,模板ID:12900:SpringBoot Dashboard

7、Spring Cloud Alibaba Seata事务监控

Seata支持在TC开启Metrics数据采集并输出到Prometheus监控系统中。默认是关闭状态,需要开启 metrics 的采集配置。进入\seata\conf,修改或新增metrics

## metrics configuration, only used in server side
metrics {
  enabled = true
  registryType = "compact"
  # multi exporters use comma divided
  exporterList = "prometheus"
  exporterPrometheusPort = 9898
  registry-type: compact
}

修改成功后,重新启动seata。输入http://IP:9898/metrics,即可获得最新的Metrics数据

http://localhost:9898/metrics

修改Prometheus配置文件添加seata:

查看Targets

在Grafana中点击新建控制台,添加seata信息:

选择数据源

搜索seata_transactional

点击Run queries查询,就可以成功获取seata信息数据

获取成功保存图表即可。我们点击图表下面的颜色标签,也可以查看不同状态下seata事务的使用情况以及事务提交状况。好了,本次关于Prometheus+Grafana的学习就到这里,以后如果会遇到其他使用情况也会做相关的记录,方便以后再次遇到相同的问题时再次快速查找。最后感谢阅读本篇的读友,让我们一起成长、共同进步。

标签:Seata,windows,Spring,prometheus,grafana,metrics,Prometheus,监控
From: https://www.cnblogs.com/eternality/p/17805738.html

相关文章

  • 安防视频监控平台EasyCVR出现目录在线,通道离线的问题该如何解决?
    视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力,也具备接入AI智能分析的能力,可拓展性强......
  • ==springCloud(一)==
    为什么选择SpringCloud作为微服务架构选型依据整体解决方案和框架成熟度社区热度可维护性学习曲线当前各大IT公司用的微服务架构有那些?阿里:dubbo+HFS京东:JFS新浪:Motan当当网:DubboX…SpringCloud概念Spring官网:https://spring.io/什么是微服务架构微服务有什么优点微服务就是将单......
  • 新一代云原生可观测平台之CCE服务监控篇
    本文分享自华为云社区《新一代云原生可观测平台之CCE服务监控篇》,作者:云容器大未来。在云原生容器化浪潮的当下,监控是确保业务稳定性最受关注的问题之一。那么,华为云CCE容器服务又是如何帮助用户提高运维效率呢?半年来,CCE容器服务的运维团队持续拜访用户,并总结用户在云原生运维......
  • Spring MVC的工作流程
    SpringMVC的工作流程1. 用户发送请求至前端控制器DispatcherServlet2. DispatcherServlet收到请求后,调用HandlerMapping处理器映射器3. 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器及处理器拦截器一并返回给DispatcherServlet。4. DispatcherSe......
  • 安防监控EasyCVR视频汇聚平台,如何实现视频汇聚?
    关注我们的朋友都知道,EasyCVR平台最初就是以汇聚为核心而进行打造的,那到底什么是汇聚平台呢?又如何进行视频资源汇聚?简单来说,视频汇聚平台是指能够从不同的视频源(例如直播、点播等)收集、整合和展示视频内容的平台。下面就是EasyCVR中一些常见的视频汇聚方法:1、数据采集视频汇聚平台......
  • Spring Boot 实现 PDF 水印,实战来了!
    来源:cnblogs.com/hushaojun/p/16285486.html简介PDF(PortableDocumentFormat,便携式文档格式)是一种流行的文件格式,它可以在多个操作系统和应用程序中进行查看和打印。在某些情况下,我们需要对PDF文件添加水印,以使其更具有辨识度或者保护其版权。本文将介绍如何使用SpringBoot......
  • Zabbix技术分享——使用SNMP监控网络设备
    前言:SNMP介绍SNMP(简单网关协议,SimpleNetworkManagementProtocol)是专门设计用于在IP网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。SNMP的前身是简单网关监控协议(SGMP),用来对通信线路进行管理。随后人们对SGMP进行了很大的修改,特别......
  • spring boot中redis的使用
    1.添加Redis依赖首先,需要在pom.xml文件中添加Redis依赖: <dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-data-redis</artifactId></dependency>这个依赖包含了SpringDataRedis,以及Jedis和Lettuce这两......
  • 真空充氮包装机远程监控运维平台解决方案
    真空充氮包装机是一种复合型的包装机械设备,用于包装食品、药品、化学品和其他物品。它通过将包装物品抽成真空,然后在其中注入氮气等方式,保护包装物品免受氧气、湿气和其他污染物的侵害,可以有效地延长包装物品的保质期,并提高它们的保存质量。 真空充氮包装机集制氮气、抽真空、充氮......
  • SpringBoot自动装配原理(一)
    基本概念SpringBoot是一个基于SpringFramework的快速应用开发框架,它通过自动装配(AutoConfiguration)实现了对Spring应用的自动化配置。自动装配能够大幅减少开发者的配置工作,提高了开发效率。step1.starter依赖介绍SpringBoot的Starter是一种依赖描述符,用于封装相关功能的依赖,......