首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Prometheus抓取‘不可读’属性时出错

Prometheus是一款开源的监控系统和时间序列数据库,用于收集和存储系统和服务的指标数据。它使用HTTP协议进行数据采集,并提供了强大的查询语言和灵活的图形化界面,使用户能够对监控数据进行分析和可视化。

在Prometheus中,抓取(scraping)是指定期间内从目标系统中收集指标数据的过程。抓取过程中,Prometheus会向目标系统发送HTTP请求,获取指标数据并存储在本地的时间序列数据库中。然而,当Prometheus尝试抓取一个目标系统的‘不可读’属性时,就会出现错误。

‘不可读’属性通常指的是目标系统中的某些指标数据无法被Prometheus正确解析和读取。这可能是由于目标系统返回的指标数据格式不符合Prometheus的要求,或者是由于目标系统的权限设置导致Prometheus无法访问到该属性。

为了解决这个问题,可以采取以下几个步骤:

  1. 检查目标系统的指标数据格式:确保目标系统返回的指标数据符合Prometheus的数据格式要求。Prometheus要求指标数据以键值对的形式表示,并且包含特定的标签(labels)用于标识不同的时间序列。如果目标系统返回的数据格式不正确,可以尝试调整目标系统的输出格式或使用适当的中间件进行数据格式转换。
  2. 检查目标系统的权限设置:确保Prometheus具有足够的权限来访问目标系统的指标数据。如果目标系统的权限设置限制了Prometheus的访问权限,可以尝试调整目标系统的权限设置或使用适当的身份验证和授权机制来确保Prometheus可以正常访问指标数据。
  3. 使用Prometheus的黑盒监控功能:Prometheus提供了一种称为黑盒监控(blackbox monitoring)的功能,用于检测和监控目标系统的可用性和性能。通过配置适当的黑盒监控规则,可以在抓取指标数据时自动检测和处理‘不可读’属性的情况。

腾讯云提供了一款名为云监控(Cloud Monitor)的产品,可以与Prometheus集成,提供更全面的监控和告警功能。云监控可以帮助用户实时监控云上资源的状态和性能,并提供丰富的可视化报表和告警功能。用户可以通过云监控的控制台配置和管理Prometheus的抓取目标,并查看和分析监控数据。

更多关于腾讯云云监控的信息,请访问:云监控产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

5 分钟学会写一个自己的 Prometheus Exporter

Exporter何为 Prometheus ExporterPrometheus 监控基于一个很简单的模型: 主动抓取目标的指标接口(HTTP 协议)获取监控指标, 再存储到本地或远端的时序数据库....“可读性”: 上面的论断有一个例外, 那就是当标签涉及”可读性”, 即使它不贡献额外的区分度, 也可以加上....可以看到, 唯一性和可读性之间其实有一些权衡, 那么有没有更好的办法呢答案就是 Info 指标(Info Metric)....因此了解怎么监控 exporter 并在编写考虑到这点尤为重要. 首先, 所有的 Prometheus 抓取目标都有一个 up 指标用来表明这个抓取目标能否被成功抓取....这一套假如需要从头搭建, 还是有一定的门槛(用 k8s 的话至少得看一下 helm chart 吧), 甚至于有些时候想搭建监控的是全栈(gan)工程师, 作为全公司的独苗, 很可能更多的精力需要花在跟进前端的新技术上(我没有黑前端

8.2K10

开源监控系统 Prometheus 最佳实践

we-feed-card 指标名字 指标命名的整体结构是 name_unit_suffix , 符合正则[a-zA-Z*][a-zA-Z0-9_]\* name: name 要做到望文生义, 类似变量名, 应具有良好的可读性...在抓取指标自动附加, 不需要在埋点代码中定义....unit: 指标名可以带上单位, 如 request_bytes_total , request_latency_seconds; 值总是使用基本单位, 如 秒/米/字节, 单位展示可读性的事情则交给...单个 label 值超过 128 个字符; 避免一个指标过多的 label 组合, 不必要的组合 label 可以拆解为多个指标, 以便降低指标基数, 提高该指标的查询性能....历史数据基于时间分片; 性能优化: Thanos Query 执行 promQL 通过 gRPC 双向流方法流式获取样本数据, 如果涉及 Store 节点还需 Range 请求对象存储, 而 Prometheus

1.7K60
  • 开源监控系统 Prometheus 最佳实践

    TWO 指标名字 指标命名的整体结构是 name_unit_suffix , 符合正则[a-zA-Z*][a-zA-Z0-9_]\* name: name 要做到望文生义, 类似变量名, 应具有良好的可读性...在抓取指标自动附加, 不需要在埋点代码中定义....unit: 指标名可以带上单位, 如 request_bytes_total , request_latency_seconds; 值总是使用基本单位, 如 秒/米/字节, 单位展示可读性的事情则交给...Prometheus alerts 包含各种 exporter 导出的指标的告警规则例子; rule 也遵循 label based 机制, 触发告警, label 集合是 rule 中自定义的静态...历史数据基于时间分片; 性能优化: Thanos Query 执行 promQL 通过 gRPC 双向流方法流式获取样本数据, 如果涉及 Store 节点还需 Range 请求对象存储, 而 Prometheus

    1.4K20

    Cloudflare 如何大规模运行 Prometheus

    假设我们想要检测一个应用程序,也就是说要以指标的形式添加一些可观察属性,让 Prometheus 从我们的应用程序中读取这些属性。...当应用程序的时间序列消失,不再抓取,它们仍然驻留在内存中,直到所有的样本块都被写入磁盘,垃圾回收才会将它们删除。 这意味着 Prometheus 在不断地一遍又一遍地抓取相同的时间序列时效率最高。...如果我们设法可视化 Prometheus 最适合的数据类型,那么我们最终会得到这样的结果: 几条连续的线,描述了一些观察到的属性。...尽管你可以给 Prometheus 传递一个 隐藏标志 来调整它的部分行为,让它更适应短期时间序列,但通常,我们建议这样做。...CI 验证 下一层保护是在 CI(持续集)时运行检查,即在有人发起 pull 请求,为其应用程序添加新的抓取配置或修改现有的抓取配置

    59220

    Prometheus Relabeling 重新标记的使用

    概述 Prometheus 发现、抓取和处理不同类型的 label 标签对象,根据标签值操作或过滤这些对象非常有用,比如: 只监视具有特定服务发现注解的某些目标,通常在服务发现中使用 向目标抓取请求添加...Relabeling 规则 Relabeling 规则主要由以下的一些配置属性组成,但对于每种类型的操作,只使用这些字段的一个子集。...) keep 操作同样按顺序执行如下步骤: 使用 separator 分隔符将 source_labels 中列出的标签值连接起来 测试 regex 中的正则表达式是否与上一步的连接字符串匹配 如果匹配...只存储特定的指标 当使用 metric_relabel_configs 来控制目标的抓取方式,我们可以使用下面的规则来只存储指标名称以 api_ 或 http_ 开头的指标。...标签哈希和分片 在一些场景下我们可能需要运行多个几乎相同的 Prometheus 副本来横向扩展,每个副本只抓取部分目标,这样可以降低 Prometheus 的压力,在这种情况下 hashmod 操作有助于我们对目标进行分片操作

    5K30

    听GPT 讲Prometheus源代码--rulesscrape等

    ---- File: rules/alerting.go 在Prometheus项目中,rules/alerting.go文件是Alerting子系统的一部分,主要负责定义和处理在监控规则匹配失败或发生异常情况生成的警报...AlertState是一个枚举类型,表示警报的状态,包括"Pending"(等待发送),"Firing"(正在发送中),"Silenced"(已被静默),"Inactive"(活动)和"Resolved...这些函数和结构体提供了Recording Rule的基本功能,包括创建、设置属性、获取属性以及转换为字符串表示等操作。...disableEndOfRunStalenessMarkers:禁用运行结束的陈旧标记。 getCache:获取抓取缓存。 append:将数据追加到抓取缓存。...errSampleLimit和errBucketLimit是两个错误变量,分别表示样本限制错误和桶限制错误,用于在抓取目标处理相关错误。 TargetHealth是一个表示目标健康状态的枚举类型。

    34220

    锅总浅析Prometheus 设计

    增强可读性: 尽管允许组合复杂查询,但PromQL依然保持了较高的可读性,这对于维护和共享查询非常重要。...实现: 稀疏数组允许Prometheus浪费存储空间的情况下保存时间序列数据,同时在查询能够快速访问相关数据点。 5....实现: 时间序列的数据点之间通常存在一定的相关性,Prometheus使用这些相关性来压缩数据,例如存储时间戳之间的差异,而不是绝对时间戳。这种压缩方式在牺牲查询性能的情况下,显著降低了存储需求。...查询数据集存储数据的过程 各部分说明: Prometheus Server: Prometheus 服务器负责数据的抓取和存储。...Scrape Data: Prometheus 抓取目标端点的数据。 Time Series Database (TSDB): 时间序列数据库,存储抓取到的时间序列数据。

    10910

    prometheus-简介及安装

    Prometheus将收刮(scrape)的指标(metric)保存在本地或者远程存储上。 使用scrape_configs定义采集目标 配置一系列的目标,以及如何抓取它们的参数。...路径 [ metrics_path: | default = /metrics ] # 当添加标签发现指标已经有同名标签,是否保留原有标签覆盖 [ honor_labels: <boolean...告警分配 route属性用来设置报警的分发策略,它是一个树状结构,按照深度优先从左向右的顺序进行匹配。...通常3小或以上 主要处理流程: 接收到Alert,根据labels判断属于哪些Route(可存在多个Route,一个Route有多个Group,一个Group有多个Alert)。...新的Group等待group_wait指定的时间(等待可能收到同一Group的Alert),根据resolve_timeout判断Alert是否解决,然后发送通知。

    3.3K50

    如何扩展单个Prometheus实现近万Kubernetes集群监控?

    id对应,后续抓取,本series只需将id和值告诉存储模块即可。...针对每个Prometheus,尝试将其正在采集的target分配给他,前提是该Prometheus负载超过avg_load,并将成功分配的target在global_targets中标记为已分配。...抓取任务被分配到另外一个Prometheus,需要增加一种平滑转移机制,确保转移过程中不掉点。...target交接的实现非常简单,由于各个Prometheus的target更新几乎是同时发生的,所以只需要让第一个Prometheus的发现抓取任务被转移后,延迟2个抓取周期结束任务即可。...,它支持通过定义ServiceMonitor,PodMonitor这两种相比于原生配置文件具有更优可读性的自定义类型,协助用户生成最终的采集配置文件。

    1.8K52

    【实践】2.Prometheus命令和配置详解

    .. ] 3.2 alerting 字段 该字段配置与Alertmanager进行对接的配置 样例: alerting: alert_relabel_configs: # 动态修改 alert 属性的规则配置...这样查询的时候,更具有可读性,也可以执行其他PromQL查询 来向警报添加额外内容,ALertmanager Web UI中会根据标签值显示器警报信息。 {{ $lable....ssl请求证书配置 tls_config: [ ca_file: ] [ cert_file: ] [ key_file: .../docs/prometheus/latest/configuratio n/configuration/ static_configs 服务发现来获取抓取目标为动态配置,这个配置项目为静态配置,静态配置为典型的...所以过滤就显得尤为重要,我们知道抓取数据就是抓取target的一些列metrics,Prometheus过滤是通过对标签操作操现的,在字段relabel_configs和metric_relabel_configs

    4.2K20

    基于prometheus的监控方案

    external_labels: 额外的属性,会添加到拉取的数据并存到数据库中。...AlertingConfig告警配置,配置包括: alert_relabel_configs: 动态修改 alert 属性的规则配置。...3、如果群集是动态的或变化的,则每次群集中部署Prometheus,您通常都需要实现一种自动向Grafana添加数据源的方法。 以上本质上Prometheus的单机能力依旧没有得到解决。...再说一个痛点,就是在抓取必须保证业务服务是可触达的,所以对服务部署的要求会高 业界案例: 360多啦A梦: ?...在服务发现做分摊的好处是首先从源头切断了数据,这样后续可以避免好多内存操作,同时对ui的展示影响降低到最小(只是发现不了任务而已),缺点是你看我的图,你细品你得改多少地方 2)在抓取 嗯,前面一切都走通了

    2.2K20

    Prometheus时序数据库

    配置文件的设定 prometheus的配置文件采用的是yaml文件,yaml文件书写的要求如下: 大小写敏感 使用缩进表示层级关系 缩进不允许使用Tab键,只允许使用空格。...缩进的空格数目不重要,只要相同层级的元素左侧对齐即可 prometheus.yml的样例 # Prometheus全局配置项 global: scrape_interval: 15s # 设定抓取数据的周期...: 15s # 抓取周期,默认采用global配置 static_configs: # 静态配置 - targets: ['localdns:9090'] # prometheus所要抓取数据的地址...此项如果设置,则在Alert中已经Resolved的报警项,也会被发送到企业微信。...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    2.1K20

    Prometheus 服务的自动发现使用

    前面我们了解了 Prometheus 中 Relabeling 重新标记的使用,本文我们将学习 Prometheus 中是如何使用服务发现来查找和抓取目标的。...我们知道在 Prometheus 配置文件中可以通过一个 static_configs 来配置静态的抓取任务,但是在云环境下,特别是容器环境下,抓取目标地址是经常变动的,所以用静态的方式就不能满足这些场景了...我们都可以通过 Prometheus 配置文件中的 scrape_config 部分进行配置,Prometheus 会不断更新动态的抓取目标列表,自动停止抓取旧的实例,开始抓取新的实例,Prometheus...Consul 允许使用 JSON 中的 meta属性将 key-value 元数据与每个注册的服务实例相关联,比如这里我们配置的 env 属性和部署环境 production 或 staging 进行关联...注意:当在生产环境 Prometheus 服务器中改变 file_sd 目标文件,需要确保改变是原子的,以避免重新加载出现错误,最好的方法是在一个单独的位置创建更新的文件,然后将其重命名为目标文件名(

    5.7K50

    prometheus-operator 监控 k8s 外部集群

    ,其实下面操作就是有点为了用k8s 而用 k8s 了,有点吃力讨好的架势,但是我们这里为了学习,可以玩耍 prometheus-operator 监控 etcd 无论是 Kubernetes 集群外的还是使用...namespaceSelector: matchNames: - kube-system 上面我们在 monitoring 命名空间下面创建了名为 etcd-k8s 的 ServiceMonitor 对象,基本属性和前面章节中的一致...kube-system 这个命名空间下面的具有 k8s-app=etcd 这个 label 标签的 Service,jobLabel 表示用于检索 job 任务名称的标签,和前面不太一样的地方是 endpoints 属性的写法...,配置上访问 etcd 的相关证书,endpoints 属性下面可以配置很多抓取的参数,比如 relabel、proxyUrl,tlsConfig 表示用于配置抓取监控数据端点的 tls 认证,由于证书...关于 ServiceMonitor 属性的更多用法可以查看文档:https://github.com/coreos/prometheus-operator/blob/master/Documentation

    1K52

    构建企业级监控平台系列(十三):Prometheus Server 配置详解

    当设置此标志,它将覆盖“storage.tsdb.retention”。如果既没有这个标志,也没有“storage.tsdb”。保留”也“storage.tsdb.retention。...当设置此标志,它将覆盖“storage.tsdb.retention”。如果既没有这个标志,也没有“storage.tsdb”。保留”也“storage.tsdb.retention。...scrape_configs模块 用于指定Prometheus抓取的目标信息。...默认配置只有一个监控目标,即prometheus server本身,端口为9090,如果指定路径,默认会从/metrics路径抓取。...远程可读存储 remote_read 主要用于可读远程存储配置,主要包含以下参数: url: 访问地址 remote_timeout: 请求超时时间 一份完整的配置大致为: # The URL of

    1.3K21

    prometheus-operator 监控 k8s 外部集群

    ,其实下面操作就是有点为了用k8s 而用 k8s 了,有点吃力讨好的架势,但是我们这里为了学习,可以玩耍 prometheus-operator 监控 etcd 无论是 Kubernetes 集群外的还是使用...namespaceSelector: matchNames: - kube-system 上面我们在 monitoring 命名空间下面创建了名为 etcd-k8s 的 ServiceMonitor 对象,基本属性和前面章节中的一致...kube-system 这个命名空间下面的具有 k8s-app=etcd 这个 label 标签的 Service,jobLabel 表示用于检索 job 任务名称的标签,和前面不太一样的地方是 endpoints 属性的写法...,配置上访问 etcd 的相关证书,endpoints 属性下面可以配置很多抓取的参数,比如 relabel、proxyUrl,tlsConfig 表示用于配置抓取监控数据端点的 tls 认证,由于证书...serverName 和 etcd 中签发的可能不匹配,所以加上了 insecureSkipVerify=true [image-20200907105741840] 关于 ServiceMonitor 属性的更多用法可以查看文档

    1.8K126

    3.Prometheus监控入门之指标与标签使用说明

    答: 在Prometheus中指标是基础它标志着采集或抓取监控项,并且指标的数值是有上升或者下降的变化,从而使得监控某一个时间段中某个监控项的变化分布情况。...指标名称必须以字母开头并且可以跟着任意数目的字母、数字和下划线,如[a-zA-Z_:][a-zA-Z0-9_:]正则表达式 # - 正常示例 node_cpu_core_throttles_total # - 在测控指标名称建议使用冒号...rank_number__, __input_vector__) __meta_kubernetes_node_address_InternalIP="192.168.12.226" # - 在测控指标名称建议使用冒号...2) 目标标签: 它是确定了特定的监控目标即Prometheus抓取指标数据的目标,其标签作为抓取指标过程中的一部分。...2.标签应用 描述: 在 Prometheus 中标签往往有以下几种应用场景: 1) 在 Prometheus 采集进行数据指标的分类,并按照一定的规则保留或者丢弃采集的数据。

    4.7K10

    减少警报疲劳,提高 Kubernetes 监控效果

    当此计数超过5000,触发通知。 持续高的上下文切换表示需要切换到内存优化(RAM)实例,而不是长期坚持当前配置。上下文切换通常在基准测试阶段使用。 监控此指标会使我们对性能问题一无所知。...设置一个警报,当pod数量下降到低于某个阈值通知团队。 对于可能面临物理pod关闭的产品团队来说,此警报可以是基本的生命线,通知团队此类故障。 当pod达到最小阈值容量,此警报将触发。...如果您不知道某些事情已经出错,您将如何发现出了什么问题? 有时我们可能过度依赖自动化,并忘记我们需要跟踪自动重启。一个常被忽视的基本警报是没有警报pod重启。...为了防止这种情况,请在附加不受支持的节点设置警报。 强烈建议监控Prometheus正在抓取的内容。...为Alertmanager设置正确的阈值以减少警报疲劳 配置Alertmanager指标,请查看和调整速率限制设置和等式。花点时间理解预期行为,并考虑如何抓取指标,因为这种方法会显著影响设置过程。

    12110
    领券