Prometheus+Grafana进行服务监控

借助Prometheus+Grafana可以很好地对服务的状态、服务资源使用情况进行监控和展示。

本文只是介绍一些初级入门的使用方法,一些更复杂的用法,需要进一步研究和尝试。

一、单个服务接入prometheus

如果工程是springboot,则接入prometheus非常简单,只需要引入相关依赖,然后开启endpoints即可。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
management:
  endpoint:
    loggers:
      enabled: true
  endpoints:
    web:
      exposure:
        include: "……,prometheus"

然后访问:http://xx/actuator/prometheus 就可以看到相关的搜集数据。

二、Grafana配置面板

1、添加DataSource,选择prometheus作为数据源即可

2、借助Variables可以定义变量,以便进行数据过滤和展示指标定义

示例:

  • 获取prometheus某个label值作为变量:label_values(application),application作为label
  • 获取指定application下的另一个label值作为变量:label_values({application="$application"}, instance),instance作为第二级label
  • 通过指定hide类型,控制变量是否作为页面最上方的查询条件
  • 还可以通过Regex对查询到的变量值进行过滤

3、在dashboard中添加pannel

主要分为几个步骤,首先选择pannel展示的图表类型;

然后对图表属性进行设置,比如展示的文字、颜色等

然后通过query配置进行图表数据的处理,对于prometheus作为数据源来说,就是通过promQL语法进行查询操作,查询和统计各种指标值,然后作为图表的数据来使用。

示例:

sum(jvm_memory_used_bytes{application="$application", instance="$instance", area="heap"})*100/sum(jvm_memory_max_bytes{application="$application",instance="$instance", area="heap"})

查询指定的application、指定instance的内存(JVM堆)使用百分比。

system_cpu_usage{instance="$instance", application="$application"} * 100

查询指定application、指定instance的CPU使用情况

topk(10, sum by(uri, method) (rate(http_server_requests_seconds_count{application="$application", instance="$instance"}[1m])))

接口请求次数统计(每分钟TOP10请求的方法)

sum(rate(http_server_requests_seconds_count{application="$application", instance="$instance", status=~"5.."}[1m]))

sum(rate(http_server_requests_seconds_count{application="$application", instance="$instance", status=~"4.."}[1m]))

sum(rate(http_server_requests_seconds_count{application="$application", instance="$instance", status=~"2.."}[1m]))

每分钟按照接口返回状态进行统计的接口请求次数

样例dashboard:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金融码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值