番外篇-Prometheus入门

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了番外篇-Prometheus入门相关的知识,希望对你有一定的参考价值。

参考技术A 日志Logging[ELK]+指标Metrics[AMP]+追踪Tracing[SkyWalking]
通过指标发现性能问题,通过追踪定位性能,通过日志定位出具体请求的明细参数

Actuator+Micrometer+Prometheus+Grafana
Actuator: 采集内部应用内部信息暴露给外部,提供原始监控数据,比如健康检查,指标收集,应用信息
Micrometer: 为性能数据收集提供通用的API,包括:计时器,计数器,可以与不同的监控系统适配
Prometheus: 系统监控报警框架,提供多维度数据模型和灵活的查询方式,采用Pull方式采集数据
Granfana: 数据监控和数据统计,可视化,报警,通知

- 引入SpringBoot Actuator及micrometer    

- 配置actuator

我们只配置了prometheus和loogers,prometheus可以监控程序,loggers可以修改日志级别,其他根据需要开启和关闭。配置以后可以通过/actuator/prometheus进行访问。
* 如果因为contentType访问失败,需要在WebMvcConfig中configureMessageConverters增加"application/openmetrics-text"的支持。

- 主要指标

运行时间
process_uptime_secondsjob="flower-webapi"
jvm full GC - 24小时gc次数 - 可以设置报警
increase(jvm_gc_pause_seconds_countapplication="agent", cause="Metadata GC Threshold"[24h])
jvm 内存使用 -查看不同区域内存,合理调整jvm参数
jvm_memory_used_bytesjob="flower-webapi", area="heap"/1024/1024
api qps - 5分钟访问量
sum(increase(http_server_requests_seconds_countjob="flower-webapi"[5m])/300)

还可以查看
jvm线程数,jvm gc收集次数和收集耗时
接口请求次数,请求时长,日志情况

- 安装和配置

Prometheus监控的目标是:长期趋势分析
Prometheus中文文档

- 探索PromQL

metric指标-要监控的对象
格式:<metric name><label name>=<label value>,
sample-样本-某个时间戳的指标的值
metric类型
Counter计数器:代表一种样本数据单调递增的指标
Guage仪表盘:代表一种样本数据可以任意变化的指标
Histogram直方图:在一段时间内对数据进行采样
Summary摘要:表示一段时间内的数据采样结果

部署
docker run -d --name agent-granfana -p 3000:3000 -v grafana.ini:/etc/grafana/grafana.ini grafana/grafana

访问
http://ip:3000

- 同一机器的,使用本机地址访问,端口不对外开发
- 同一机器的,不同Docker,可以使用同一docker网络,端口不用映射
- 同一专有网络的,使用专有网络地址访问,端口不对外开发
- 只有Granfana对外公开,同时设置管理员账号

参考文献

https://mp.weixin.qq.com/s/yqMdXehLCl7-m2kcfjh6OQ

SpringBoot入门系列

番外篇-没用的知识
番外篇-Docker入门
番外篇-Prometheus入门

以上是关于番外篇-Prometheus入门的主要内容,如果未能解决你的问题,请参考以下文章

从 0 开始入门 Chrome Ext 安全(番外篇) -- ZoomEye Tools

秒杀系统番外篇 | 阿里开源MySQL中间件Canal快速入门

Vue.js快速入门番外篇——Live Server插件的简介安装与使用

.NET番外篇Rust环境搭建+基础开发入门+Rust与.NET6C++的基础运算性能比较

物联网学习---番外篇Lua脚本编程扫盲

番外篇-Flutter初识三问