go_zero之健康监测&&链路追踪

这篇具有很好参考价值的文章主要介绍了go_zero之健康监测&&链路追踪。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

go-zero短从需求到上线的距离,是一个集成了各种工程实践的 web 和 rpc 框架。通过弹性设计保障了大并发服务端的稳定性,经受了充分的实战检验。
然而我们使用框架的时候,怎么才能知道我们启动的服务的健康状态和资源使用情况,当然框架给我们已经想好了解决方案。下面跟着me一起看看吧···


第一步:对应配置信息打开

Name: user-api
Host: 0.0.0.0
Port: 8002
......

DevServer:
  Enabled: true
  Port: 6470
  HealthPath: "/healthz"
#健康指标信息访问:http://ip:6470/metrics   健康监测访问:http://ip:6470/healthz

下面我们就可以直接使用了,让me给大家讲讲里面的内容叭

健康监测

打开浏览器访问http://ip:6470/healthz,可以看到浏览器回复ok。

健康指标信息

打开浏览器访问http://ip:6470/metrics,可以看到如下关于Prometheus监控系统的指标信息展示文章来源地址https://www.toymoban.com/news/detail-600713.html

# HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles.
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"} 0
go_gc_duration_seconds{quantile="0.25"} 0
go_gc_duration_seconds{quantile="0.5"} 0
go_gc_duration_seconds{quantile="0.75"} 0.0010216
go_gc_duration_seconds{quantile="1"} 0.0010216
go_gc_duration_seconds_sum 0.0010216 
go_gc_duration_seconds_count 4
# HELP go_goroutines Number of goroutines that currently exist.
# TYPE go_goroutines gauge
go_goroutines 24
# HELP go_info Information about the Go environment.
# TYPE go_info gauge
go_info{version="go1.20.6"} 1
# HELP go_memstats_alloc_bytes Number of bytes allocated and still in use.
# TYPE go_memstats_alloc_bytes gauge
go_memstats_alloc_bytes 7.167184e+06
# HELP go_memstats_alloc_bytes_total Total number of bytes allocated, even if freed.
# TYPE go_memstats_alloc_bytes_total counter
go_memstats_alloc_bytes_total 1.1871328e+07
# HELP go_memstats_buck_hash_sys_bytes Number of bytes used by the profiling bucket hash table.
# TYPE go_memstats_buck_hash_sys_bytes gauge
go_memstats_buck_hash_sys_bytes 1.4556e+06
# HELP go_memstats_frees_total Total number of frees.
# TYPE go_memstats_frees_total counter
go_memstats_frees_total 43378
# HELP go_memstats_gc_sys_bytes Number of bytes used for garbage collection system metadata.
# TYPE go_memstats_gc_sys_bytes gauge
go_memstats_gc_sys_bytes 7.84408e+06
# HELP go_memstats_heap_alloc_bytes Number of heap bytes allocated and still in use.
# TYPE go_memstats_heap_alloc_bytes gauge
go_memstats_heap_alloc_bytes 7.167184e+06
# HELP go_memstats_heap_idle_bytes Number of heap bytes waiting to be used.
# TYPE go_memstats_heap_idle_bytes gauge
go_memstats_heap_idle_bytes 6.627328e+06
# HELP go_memstats_heap_inuse_bytes Number of heap bytes that are in use.
# TYPE go_memstats_heap_inuse_bytes gauge
go_memstats_heap_inuse_bytes 9.527296e+06
# HELP go_memstats_heap_objects Number of allocated objects.
# TYPE go_memstats_heap_objects gauge
go_memstats_heap_objects 30878
# HELP go_memstats_heap_released_bytes Number of heap bytes released to OS.
# TYPE go_memstats_heap_released_bytes gauge
go_memstats_heap_released_bytes 6.127616e+06
# HELP go_memstats_heap_sys_bytes Number of heap bytes obtained from system.
# TYPE go_memstats_heap_sys_bytes gauge
go_memstats_heap_sys_bytes 1.6154624e+07
# HELP go_memstats_last_gc_time_seconds Number of seconds since 1970 of last garbage collection.
# TYPE go_memstats_last_gc_time_seconds gauge
go_memstats_last_gc_time_seconds 1.6897467896680956e+09
# HELP go_memstats_lookups_total Total number of pointer lookups.
# TYPE go_memstats_lookups_total counter
go_memstats_lookups_total 0
# HELP go_memstats_mallocs_total Total number of mallocs.
# TYPE go_memstats_mallocs_total counter
go_memstats_mallocs_total 74256
# HELP go_memstats_mcache_inuse_bytes Number of bytes in use by mcache structures.
# TYPE go_memstats_mcache_inuse_bytes gauge
go_memstats_mcache_inuse_bytes 14016
# HELP go_memstats_mcache_sys_bytes Number of bytes used for mcache structures obtained from system.
# TYPE go_memstats_mcache_sys_bytes gauge
go_memstats_mcache_sys_bytes 16352
# HELP go_memstats_mspan_inuse_bytes Number of bytes in use by mspan structures.
# TYPE go_memstats_mspan_inuse_bytes gauge
go_memstats_mspan_inuse_bytes 178240
# HELP go_memstats_mspan_sys_bytes Number of bytes used for mspan structures obtained from system.
# TYPE go_memstats_mspan_sys_bytes gauge
go_memstats_mspan_sys_bytes 179520
# HELP go_memstats_next_gc_bytes Number of heap bytes when next garbage collection will take place.
# TYPE go_memstats_next_gc_bytes gauge
go_memstats_next_gc_bytes 1.0298032e+07
# HELP go_memstats_other_sys_bytes Number of bytes used for other system allocations.
# TYPE go_memstats_other_sys_bytes gauge
go_memstats_other_sys_bytes 1.579064e+06
# HELP go_memstats_stack_inuse_bytes Number of bytes in use by the stack allocator.
# TYPE go_memstats_stack_inuse_bytes gauge
go_memstats_stack_inuse_bytes 622592
# HELP go_memstats_stack_sys_bytes Number of bytes obtained from system for stack allocator.
# TYPE go_memstats_stack_sys_bytes gauge
go_memstats_stack_sys_bytes 622592
# HELP go_memstats_sys_bytes Number of bytes obtained from system.
# TYPE go_memstats_sys_bytes gauge
go_memstats_sys_bytes 2.7851832e+07
# HELP go_threads Number of OS threads created.
# TYPE go_threads gauge
go_threads 16
# HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.
# TYPE process_cpu_seconds_total counter
process_cpu_seconds_total 0.03125
# HELP process_max_fds Maximum number of open file descriptors.
# TYPE process_max_fds gauge
process_max_fds 1.6777216e+07
# HELP process_open_fds Number of open file descriptors.
# TYPE process_open_fds gauge
process_open_fds 176
# HELP process_resident_memory_bytes Resident memory size in bytes.
# TYPE process_resident_memory_bytes gauge
process_resident_memory_bytes 3.5299328e+07
# HELP process_start_time_seconds Start time of the process since unix epoch in seconds.
# TYPE process_start_time_seconds gauge
process_start_time_seconds 1.689746668e+09
# HELP process_virtual_memory_bytes Virtual memory size in bytes.
# TYPE process_virtual_memory_bytes gauge
process_virtual_memory_bytes 3.3103872e+07
# HELP promhttp_metric_handler_requests_in_flight Current number of scrapes being served.
# TYPE promhttp_metric_handler_requests_in_flight gauge
promhttp_metric_handler_requests_in_flight 1
# HELP promhttp_metric_handler_requests_total Total number of scrapes by HTTP status code.
# TYPE promhttp_metric_handler_requests_total counter
promhttp_metric_handler_requests_total{code="200"} 3
promhttp_metric_handler_requests_total{code="500"} 0
promhttp_metric_handler_requests_total{code="503"} 0

解释

  1. go_gc_duration_seconds: 这是垃圾回收周期的暂停持续时间的摘要。它展示了垃圾回收在不同百分位数下的暂停时间。其中,quantile表示百分位数,取值为0、0.25、0.5、0.75和1,分别代表最小值、25分位数、中位数、75分位数和最大值。
  2. go_goroutines: 当前存在的goroutine数量。goroutine是Go语言并发编程的执行单元。
  3. go_info: 关于Go环境的信息。其中version字段表示Go的版本号。
  4. go_memstats_alloc_bytes: 已分配且仍在使用的字节数。
  5. go_memstats_alloc_bytes_total: 分配的总字节数,即使已被释放。
  6. go_memstats_buck_hash_sys_bytes: 用于分析桶哈希表的字节数。
  7. go_memstats_frees_total: 释放的总次数。
  8. go_memstats_gc_sys_bytes: 用于垃圾回收系统元数据的字节数。
  9. go_memstats_heap_alloc_bytes: 堆中已分配且仍在使用的字节数。
  10. go_memstats_heap_idle_bytes: 等待使用的堆字节数。
  11. go_memstats_heap_inuse_bytes: 正在使用的堆字节数。
  12. go_memstats_heap_objects: 已分配对象的数量。
  13. go_memstats_heap_released_bytes: 释放给操作系统的堆字节数。
  14. go_memstats_heap_sys_bytes: 从系统获取的堆字节数。
  15. go_memstats_last_gc_time_seconds: 自1970年以来上次垃圾回收的秒数。
  16. go_memstats_lookups_total: 指针查找的总次数。
  17. go_memstats_mallocs_total: 分配的总次数。
  18. go_memstats_mcache_inuse_bytes: mcache结构正在使用的字节数。
  19. go_memstats_mcache_sys_bytes: 从系统获取的用于mcache结构的字节数。
  20. go_memstats_mspan_inuse_bytes: mspan结构正在使用的字节数。
  21. go_memstats_mspan_sys_bytes: 从系统获取的用于mspan结构的字节数。
  22. go_memstats_next_gc_bytes: 下次垃圾回收时的堆字节数。
  23. go_memstats_other_sys_bytes: 用于其他系统分配的字节数。
  24. go_memstats_stack_inuse_bytes: 栈分配器正在使用的字节数。
  25. go_memstats_stack_sys_bytes: 从系统获取的用于栈分配器的字节数。
  26. go_memstats_sys_bytes: 从系统获取的总字节数。
  27. go_threads: 创建的操作系统线程数。
  28. process_cpu_seconds_total: 在用户和系统CPU上消耗的总时间,以秒为单位。
  29. process_max_fds: 最大打开文件描述符数。
  30. process_open_fds: 打开的文件描述符数。
  31. process_resident_memory_bytes: 占用物理内存的大小,以字节为单位。
  32. process_start_time_seconds: 进程自Unix纪元以来的启动时间,以秒为单位。
  33. process_virtual_memory_bytes: 虚拟内存大小,以字节为单位。
  34. promhttp_metric_handler_requests_in_flight: 当前正在提供的抓取数。
  35. promhttp_metric_handler_requests_total: 根据HTTP状态码的抓取总数。

到了这里,关于go_zero之健康监测&&链路追踪的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 分布式链路追踪专栏,Spring Cloud Sleuth:分布式链路追踪之通信模型设计

    Spring Cloud Sleuth  赋予分布式跟踪的  Spring Boot  自动配置的一键解决方案。 Spring Cloud Sleuth  是基于  Brave  的封装,也是很多公司采用开源加自研的最佳解决方案。 那么从作为架构师或者技术专家如何去借鉴优秀框架的设计理念和思想,本次  Chat  将开启作者既分布式链路

    2024年01月19日
    浏览(66)
  • Zookeeper的集群健康监测与报警

    Zookeeper是一个开源的分布式协调服务,用于构建分布式应用程序的基础设施。它提供了一组简单的原子性操作来管理分布式应用程序的数据,并确保数据的一致性。Zookeeper的核心功能包括: 集群管理:Zookeeper可以管理一个集群中的节点,并确保集群中的节点数量始终保持在预

    2024年01月21日
    浏览(39)
  • 分布式链路追踪

    随着互联网业务快速扩展,软件架构也日益变得复杂,为了适应海量用户高并发请求,系统中越来越多的组件开始走向分布式化,如单体架构拆分为微服务、服务内缓存变为分布式缓存、服务组件通信变为分布式消息,这些组件共同构成了繁杂的分布式网络。 在大型系统的微

    2024年02月16日
    浏览(43)
  • 进阶分布式链路追踪

                            https://item.jd.com/14337086.html​编辑https://item.jd.com/14337086.html “ RocketMQ 消息中间件实战派上下册”是我既“ Spring Cloud Alibaba 微服务架构实战派上下册”之后,又一本历时超过 1 年半的巨无霸技术实战类型的书籍。 为了提高读者阅读本书的体验性,本书

    2024年02月02日
    浏览(46)
  • Skywalking链路追踪

    APM(Application Performance Monitoring)系统是一种用于监控和管理应用程序性能的工具。它可以帮助开发人员和运维团队实时监控应用程序的性能指标、识别潜在的性能问题,并提供性能优化建议。 APM系统可以帮助用户及时发现和解决应用程序的性能问题,提升用户体验和系统稳

    2024年01月18日
    浏览(42)
  • 链路追踪Skywalking应用实战

    2023年09月05日
    浏览(46)
  • 分布式链路追踪概述

    随着系统设计变得日趋复杂,越来越多的组件开始走向分布式化,如微服务、分布式数据库、分布式缓存等,使得后台服务构成了一种复杂的分布式网络。往往前端的一个请求需要经过多个微服务、跨越多个数据中心才能最终获取到结果,如下图 并且随着业务的不断扩张,服

    2024年02月13日
    浏览(40)
  • 服务链路追踪

    对于一个大型的几十个、几百个微服务构成的微服务架构系统,通常会遇到下面一些问题,比如: 如何串联整个调用链路,快速定位问题? 如何理清各个微服务之间的依赖关系? 如何进行各个微服务接口的性能分折? 如何跟踪整个业务流程的调用处理顺序? Zipkin是Twitter开

    2024年02月12日
    浏览(26)
  • 链路追踪Skywalking快速入门

    2023年09月08日
    浏览(45)
  • skywalking全链路追踪

    在上一篇文章skywalking安装教程中我们介绍了skywalking的作用以及如何将其集成到我们的微服务项目中。本篇文章我们介绍在微服务架构中,如何使用skywalking对一次客户端请求进行全链路追踪。 skywalking的介绍分多篇文章: 微服务项目集成skywalking skywalking全链路追踪 何为全链路

    2024年02月14日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包