k8s微服务springbootJVM监控-创新互联

目录

创新互联公司长期为上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为莘县企业提供专业的网站制作、成都网站制作莘县网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。

1.前言

1.1 JVM监控方案

1.2 接入操作步骤

2. 服务开启actuator prometheus监控

2.1 示例参考添加依赖

2.2 配置prometheus监控

3 配置 prometheus 监控

4 配置jvm grafana dashboard


1.前言

服务

部署环境

监控

spring-demo

k8s v1.22

Prometheus Operator

1.1 JVM监控方案
  • 侵入式指标采集:SpringBoot 2.0 自带监控功能Actuator
  • 非侵入式采集:JMX Exporter

两者各有优缺点,基本指标均包含如jvm堆内存使用、非堆内存使用、qps、负载等指标,可以对应用进行较为全面的监控。这里不讨论哪种方式更优,由于部分原因,本方案使用的是actuator。

业务系统为java服务,以微服务的形式部署在K8S,采用SpringBoot框架。使用SpringBoot自带监控功能Actuator,可以帮助实现对程序内部运行情况监控,比如监控状况、Bean加载情况、环境变量、日志信息、线程信息、健康检查、审计、统计和HTTP追踪等。Actuator同时还可以与外部应用监控系统整合,比如Prometheus。

1.2 接入操作步骤
  • 服务增加spring-boot-starter-actuator依赖
  • 启用 prometheus和health监控
  • 配置 prometheus 监控
  • 添加grafana dashboard
2. 服务开启actuator prometheus监控

官方文档:Spring Boot Actuator: Production-ready Features

2.1 示例参考添加依赖
org.springframework.bootspring-boot-starter-actuatorio.micrometermicrometer-registry-prometheus
2.2 配置prometheus监控

编辑application.properties

#prometheus配置
spring.application.name = spring-demo
management.security.enabled = false
management.metrics.export.prometheus.enabled = true
management.metrics.export.prometheus.step = 1ms
management.metrics.export.prometheus.descriptions = true
management.web.server.auto-time-requests = true

management.endpoint.prometheus.enabled = true
#启用 prometheus监控
management.endpoints.web.exposure.include=prometheus
#management.endpoints.web.exposure.include=*
management.endpoints.web.base-path = /

完成配置后,访问 curl -i http://localhost:port/actuator/prometheus,即可查看jvm prometheus监控指标

3 配置 prometheus 监控

微服务是部署在K8S环境,K8S使用的是云原生proemetheus operator监控方案,这里使用servicemonitor对服务进行监控。

创建servicemonitor 资源yaml文件 spring-demo-monitor.yaml

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  labels:
    project: spring-demo
  name: spring-demo-jvm
  namespace: default
spec:
  endpoints:
  - interval: 30s
    path: /actuator/prometheus
    port: http
    scheme: http    
  namespaceSelector:
    matchNames:
    - default
  selector:
    matchLabels:
      app: spring-demo

创建资源:kubectl apply -f spring-demo-monitor.yaml

查看资源

>kubectl get servicemonitors 
NAME           AGE
spring-demo-jvm   17h

创建servicemonitor资源后,可以在targets中查看

targets正常后,可以查询Jvm相关监控指标,如jvm_memory_used_bytes

到这里后,就可以通过grafana将jvm的监控信息展示出来

4 配置jvm grafana dashboard

添加数据源略(jvm所在的prometheus)

dashboard参考ID:9568(也可自行搜索Dashboards | Grafana Labs)

效果如下

到此,jvm监控及展示基本告一段落,关于grafana dashboard的问题,大家可自行搜索使用其它面板,哪个更符合自己实际需求,自行研究吧。觉得有用的点个赞和收藏吧~

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧

文章名称:k8s微服务springbootJVM监控-创新互联
网页网址:https://www.cdcxhl.com/article12/cedjgc.html

成都网站建设公司_创新互联,为您提供响应式网站网站设计虚拟主机微信公众号网站建设服务器托管

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都做网站