Prometheus 新手排查入门

各种大神的分享,就不赘述了,刚学习Prometheus 没多久,这里另辟蹊径简单分享下如何排查问题
大佬请忽略

issue 1
Grafana 可以采集到数据,为何监控不显示(spring boot 监控)

问题描述:
我们公司需要监控5个服务
http://ip:9090/targets

image.png

但是监控只显示了2个
image.png

排查过程

  1. 可以确认的是,至少有2个还是可以的,公司服务spring boot 配置的 io.micrometer 都是一样的,不存在依赖包的问题
  2. Grafana 五个服务都可以采集到的,先看看具体的采集数据


    image.png

直接在浏览器访问
(http://ip:port/actuator/prometheus)
找一个成功的,一个不成功的

image.png

使用文本编译器打开
成功的:

# TYPE jvm_gc_max_data_size_bytes gauge
# HELP jvm_gc_max_data_size_bytes Max size of long-lived heap memory pool
jvm_gc_max_data_size_bytes 1.71966464E9
# TYPE jvm_classes_unloaded_classes counter
# HELP jvm_classes_unloaded_classes The total number of classes unloaded since the Java virtual machine has started execution
jvm_classes_unloaded_classes_total 200.0
# TYPE jvm_buffer_count_buffers gauge
# HELP jvm_buffer_count_buffers An estimate of the number of buffers in the pool
jvm_buffer_count_buffers{id="direct"} 12.0
jvm_buffer_count_buffers{id="mapped"} 0.0
# TYPE log4j2_events counter
# HELP log4j2_events Number of fatal level log events
log4j2_events_total{level="warn"} 686.0
log4j2_events_total{level="debug"} 0.0
log4j2_events_total{level="error"} 59010.0
log4j2_events_total{level="trace"} 0.0
log4j2_events_total{level="fatal"} 0.0
log4j2_events_total{level="info"} 3.2804589E7
# TYPE jvm_memory_committed_bytes gauge
# HELP jvm_memory_committed_bytes The amount of memory in bytes that is committed for the Java virtual machine to use
jvm_memory_committed_bytes{area="heap",id="G1 Survivor Space"} 7340032.0
jvm_memory_committed_bytes{area="heap",id="G1 Old Gen"} 8.76609536E8
jvm_memory_committed_bytes{area="nonheap",id="Metaspace"} 1.55648E8
jvm_memory_committed_bytes{area="heap",id="G1 Eden Space"} 8.35715072E8
jvm_memory_committed_bytes{area="nonheap",id="Code Cache"} 1.26222336E8
jvm_memory_committed_bytes{area="nonheap",id="Compressed Class Space"} 1.933312E7
# TYPE system_cpu_count gauge
# HELP system_cpu_count The number of processors available to the Java virtual machine
system_cpu_count 48.0

不成功的:

# TYPE grpc_client_requests_sent_messages counter
# HELP grpc_client_requests_sent_messages The total number of requests sent
grpc_client_requests_sent_messages_total{method="",methodType="",service="com"} 6793741.0
# TYPE zipkin_reporter_spans counter
# HELP zipkin_reporter_spans Spans reported
zipkin_reporter_spans_total 312568.0
# TYPE zipkin_reporter_messages_bytes counter
# HELP zipkin_reporter_messages_bytes Total bytes of messages reported
zipkin_reporter_messages_bytes_total 2.07240049E8
# TYPE grpc_server_requests_received_messages counter
# HELP grpc_server_requests_received_messages The total number of requests received
grpc_server_requests_received_messages_total{method="",methodType="SERVER_STREAMING",service=""} 0.0
grpc_server_requests_received_messages_total{method="add",methodType="UNARY",service=""} 0.0

备注:代码涉及到公司的都删了
不成功的,没有jvm,Grafana 解析采集数据的逻辑我也不懂,学成了再详细分析

  1. 看jvm_memory_used_bytes

    image.png

    地址:
    http://ip:9090/graph
    输入jvm_memory_used_bytes
    可以看到 jvm 相关的,只有一对,两个服务的,验证了,其他三个都没 jvm_memory_used_bytes 相关的数据

  2. 到此可以推断出

  • spring boot 是有数据的
  • 数据缺失jvm_memory_used_bytes
  1. 查看spring boot 代码,去pom里面找找线索
        <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:
  # https://docs.spring.io/spring-boot/docs/current/reference/html/actuator.html
  endpoints:
    web:
      exposure:
        include: '*'
  endpoint:
    info:
      enabled: true
    metrics:
      enabled: true
    prometheus:
      enabled: true
    health:
      show-details: always

看着也没问题
整个 application.yml 看下来,最近一段时间的改变就是加了 grpc

grpc:
  server:
    port: 
    security:
      enabled: false
  client:

http://ip:port/actuator/metrics 成功的的

{"names":["http.server.requests","jvm.buffer.count","jvm.buffer.memory.used","jvm.buffer.total.capacity","jvm.classes.loaded","jvm.classes.unloaded","jvm.gc.live.data.size","jvm.gc.max.data.size","jvm.gc.memory.allocated","jvm.gc.memory.promoted","jvm.gc.pause","jvm.memory.committed","jvm.memory.max","jvm.memory.used","jvm.threads.daemon","jvm.threads.live","jvm.threads.peak","jvm.threads.states","log4j2.events","process.cpu.usage","process.files.max","process.files.open","process.start.time","process.uptime","spring.data.repository.invocations","system.cpu.count","system.cpu.usage","system.load.average.1m","tomcat.sessions.active.current","tomcat.sessions.active.max","tomcat.sessions.alive.max","tomcat.sessions.created","tomcat.sessions.expired","tomcat.sessions.rejected"]}

http://ip:port/actuator/metrics 不成功的的

{"names":["grpc.client.processing.duration","grpc.client.requests.sent","grpc.client.responses.received","grpc.server.processing.duration","grpc.server.requests.received","grpc.server.responses.sent","http.server.requests","spring.data.repository.invocations","tomcat.sessions.active.current","tomcat.sessions.active.max","tomcat.sessions.alive.max","tomcat.sessions.created","tomcat.sessions.expired","tomcat.sessions.rejected","zipkin.reporter.messages","zipkin.reporter.messages.total","zipkin.reporter.queue.bytes","zipkin.reporter.queue.spans","zipkin.reporter.spans","zipkin.reporter.spans.dropped","zipkin.reporter.spans.total"]}

感觉是spring boot 提供的数据受到了 grpc 的影响,具体原因,研究中

后续研究明白更新

  1. 不成功的,研究下来,有两个配置了 grpc,还有一个没有使用grpc ,采集的数据也没有jvm

application.yml 看下来,prometheus 的配置有问题,具体啥问题就不分享了,如果有同学也遇到配置问题,建议照着其他大佬分享的配置,重新配置下就好

这里分享个厉害的:
Spring Boot (十九):使用 Spring Boot Actuator 监控应用
https://blog.csdn.net/ityouknow/article/details/102693719

image.png

可以通过这些接口排查问题

本次分享仅为新手(包括我)提供一下排查思路,抛石子引砖

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容