活学活用Prometheus
文章平均质量分 62
路多辛
分享编程知识与经验
展开
-
活学活用Prometheus:解决“INVALID“ is not a valid start token问题
因为Prometheus版本和配置方法和其它已经在正常使用的都是一致的,偏偏就这个出问题,所以怀疑是项目的问题。我这次报 "INVALID" is not a valid start token 错误是因为项目开启了gzip压缩导致Prometheus不能正确解析指标数据,另外Prometheus配置文件的语法错误或者值不正确也会导致此问题,所以务必要确保配置文件配置正确。看网上有人是因为这个例子里面的配置导致的报错,没有试过,希望多提供一点信息,可以帮助到遇到一样问题的人吧。原创 2023-04-14 20:55:33 · 710 阅读 · 0 评论 -
活学活用Prometheus(七):Prometheus监控Go应用实战
Go应用需要暴露一个HTTP路由用于Prometheus server拉取监控数据,具体的HTTP路由地址可以自定义,官方建议使用 /metrics。介绍主流的Golang框架接入Prometheus监控的方法,分别是Echo、Gin和gRPC。在gRPC服务启动时,使用协程启动一个用于prometheus监控服务的HTTP服务即可。创建一个简单的Go应用并暴露一个用于Prometheus监控的HTTP地址。启动应用后访问 metrics 接口即可看到基础的监控指标。一个简单的Go应用例子。原创 2023-01-08 11:47:54 · 1903 阅读 · 0 评论 -
活学活用Prometheus(六):Pushgateway详解与使用场景
首先讲一下Prometheus采集监控数据的方法,被监控系统(或者借助Exporter)对外暴露一个用于获取当前监控样本数据的HTTP访问地址,Prometheus通过轮询的方式定时从这个http地址中获取监控数据样本。针对被监控服务位于防火墙之后,Prometheus无法穿透防火墙这种场景,请考虑将 Prometheus 服务也部署到防火墙之后,将 Prometheus 服务部署在与被监控服务所在的网络内。Pushgateway是Prometheus的一个中间服务组件,并做为一个独立的工具存在。原创 2023-01-07 17:25:21 · 625 阅读 · 0 评论 -
活学活用Prometheus(五):Prometheus Exporter详解
Exporter是一个采集被监控系统的监控数据,通过Prometheus监控规范对外提供数据的组件。简单来说,为了采集被监控系统的监控样本数据,需要安装一个程序,该程序对外暴露了一个用于获取当前监控样本数据的HTTP访问地址,这样的一个程序称为Exporter,Exporter的实例称为一个Target。TCP,例如Redis Exporter通过Redis提供的系统监控相关命令获取监控指标,MySQL Server Exporter通过MySQL开放的监控相关的表获取监控指标。原创 2023-01-06 23:38:23 · 1048 阅读 · 0 评论 -
活学活用Prometheus(四):Prometheus metric类型
Prometheus提供的客户端库提供了四种核心metric类型,但这些类型目前只是在客户端库和wire protocol中进行区分。Prometheus server 并不区分这些类型,而是统一视为无类型的时间序列,这在未来可能会发生改变。原创 2023-01-04 22:28:13 · 446 阅读 · 0 评论 -
活学活用Prometheus(三):Prometheus数据模型
metric名称表示被监控系统的某项指标(例如http_requests_total表示系统接收到的HTTP请求量),metric名称只能由 ASCII 字符、数字、下划线以及冒号组成,即必须匹配正则表达式 [a-zA-Z_:][a-zA-Z0-9_:]*。改变任何metric上的任何标签值(包括增加或减少一个标签),都会创建新的时间序列。Prometheus采集的所有监控数据以metric的形式保存在内置的时间序列数据库中:属于同一metric名称的,同一标签集合的、带有时间戳的数据流。原创 2023-01-03 22:11:59 · 292 阅读 · 0 评论 -
活学活用Prometheus(二):Prometheus安装方法
在默认配置中,有一个名称为prometheus的job,它抓取由prometheus服务公开的时间序列数据。你可以在本地下载并运行 Prometheus,配置采集自身和示例应用的运行数据,然后使用查询语句、规则和图形工具来使用收集到的时间序列数据。Prometheus的配置文件是YAML格式的,下载的Prometheus文件包里面有一个示例配置文件,文件名称是prometheus.yml,可以参考这个示例文件进行配置。如下的例子是已经删除了大多数注释后的,以使其更加简洁(注释是以#为前缀的行)。原创 2023-01-03 00:01:12 · 253 阅读 · 0 评论 -
活学活用Prometheus(一):Prometheus简介
metrics是数值度量。时间序列数据是随着时间的推移而发生变化的记录。用户想要度量的内容因应用程序而异。对于web服务器来说,可能是请求次数,对于数据库来说,可能是活跃的连接数或活跃的查询数等。metrics在弄清楚服务的工作状态方面发挥着重要作用。假设一个服务的某个接口很慢,这时候就需要有一些信息来了解这个接口为什么变慢。例如,当请求量很高时,接口可能会变慢。如果有请求量指标,就可以发现这个原因并增加服务器数量来提高响应速度。翻译 2023-01-01 16:49:20 · 366 阅读 · 0 评论