使用已售日志监控收集器 - Amazon Managed Service for Prometheus

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用已售日志监控收集器

适用于 Prometheus 的亚马逊托管服务收集器提供销售日志,以帮助您监控指标收集过程并对其进行故障排除。这些日志会自动发送到 Amazon CloudWatch Logs,并提供对服务发现、指标收集和数据导出操作的可见性。收集器为指标收集管道的三个主要组件提供日志:

服务发现日志

服务发现日志提供有关目标发现过程的信息,包括:

  • 访问 Kubernetes API 资源时出现身份验证或权限问题。

  • 服务发现设置中的配置错误。

以下示例演示了在服务发现过程中可能遇到的常见身份验证和权限错误:

不存在的 Amazon EKS 集群

当指定的 Amazon EKS 集群不存在时,您会收到以下错误:

{ "component": "SERVICE_DISCOVERY", "timestamp": "2025-04-30T17:25:41.946Z", "message": { "log": "Failed to watch Service - Verify your scraper source exists." }, "scrapeConfigId": "s-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }
服务的权限无效

当收集器缺少适当的基于角色的访问控制 (RBAC) 权限来监视服务时,您会收到以下错误:

{ "component": "SERVICE_DISCOVERY", "timestamp": "2025-04-30T17:25:41.946Z", "message": { "log": "Failed to watch Service - Verify your scraper source permissions are valid." }, "scrapeConfigId": "s-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }
终端节点的权限无效

当收集器缺少适当的基于角色的访问控制 (RBAC) 权限来监视 Endpoints 时,您会收到以下错误:

{ "component": "SERVICE_DISCOVERY", "timestamp": "2025-04-30T17:25:41.946Z", "message": { "log": "Failed to watch Endpoints - Verify your scraper source permissions are valid." }, "scrapeConfigId": "s-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

收集器日志

收集器日志提供有关指标抓取过程的信息,包括:

  • 由于端点不可用,抓取失败。

  • 尝试抓取目标时出现连接问题。

  • 抓取操作期间超时。

  • 抓取目标返回的 HTTP 状态错误。

以下示例演示了在指标抓取过程中可能遇到的常见收集器错误:

缺少指标端点

/metrics终端节点在目标实例上不可用时,您会收到以下错误:

{ "component": "COLLECTOR", "message": { "log": "Failed to scrape Prometheus endpoint - verify /metrics endpoint is available", "job": "pod_exporter", "targetLabels": "{__name__=\"up\", instance=\10.24.34.0\", job=\"pod_exporter\"}" }, "timestamp": "1752787969551", "scraperId": "s-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }
连接被拒绝

当收集器无法与目标端点建立连接时,您会收到以下错误:

{ "scrapeConfigId": "s-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "timestamp": "2025-04-30T17:25:41.946Z", "message": { "message": "Scrape failed", "scrape_pool": "pod_exporter", "target": "http://10.24.34.0:80/metrics", "error": "Get \"http://10.24.34.0:80/metrics\": dial tcp 10.24.34.0:80: connect: connection refused" }, "component": "COLLECTOR" }

导出器日志

导出器日志提供有关将收集到的指标发送到适用于 Prometheus 的亚马逊托管服务工作空间的过程的信息,包括:

  • 处理的指标和数据点的数量。

  • 由于工作空间问题导致导出失败。

  • 尝试写入指标时出现权限错误。

  • 导出管道中的依赖失败。

以下示例演示了在指标导出过程中可能遇到的常见导出器错误:

未找到工作空间

当找不到指标导出的目标工作空间时,您会收到以下错误:

{ "component": "EXPORTER", "message": { "log": "Failed to export to the target workspace - Verify your scraper destination.", "samplesDropped": 5 }, "timestamp": "1752787969664", "scraperId": "s-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

了解和使用收集器提供的日志

日志结构

所有收集器出售的日志都遵循一致的结构,其中包含以下字段:

scrapeConfigId

生成日志的抓取配置的唯一标识符。

timestamp

日志条目的生成时间。

message

日志消息内容,其中可能包括其他结构化字段。

组件

生成日志的组件(SERVICE_DISCOVERY、COLLECTOR 或导出器)

使用已售日志进行故障排除

收集器提供的日志可帮助您解决指标收集的常见问题:

  1. 服务发现问题

    • 检查 SERVICE_DISCOVERY 日志中是否存在身份验证或权限错误。

    • 验证收集器是否具有访问 Kubernetes 资源的必要权限。

  2. 指标抓取问题

    • 检查 COL LE CTOR 日志中是否存在抓取失败。

    • 验证目标端点是否可访问并返回指标。

    • 确保防火墙规则允许收集器连接到目标端点。

  3. 指标导出问题

    • 检查导出器日志是否存在导出失败。

    • 验证工作区是否存在且配置正确。

    • 确保收集器具有写入工作区的必要权限。

访问收集器提供的日志

收集器出售的日志会自动发送到 Amazon CloudWatch 日志。要访问这些日志,请执行以下操作:

  1. 打开 CloudWatch 控制台,网址为https://console.aws.amazon.com/cloudwatch/

  2. 在导航窗格中,选择 日志组

  3. 查找并选择您的收集器的日志组:/aws/prometheus/workspace_id/collector/collector_id.

  4. 浏览或搜索日志事件以查找相关信息。

您还可以使用 CloudWatch Logs Insights 来查询和分析您的收集器日志。例如,要查找所有服务发现错误,请执行以下操作:

fields @timestamp, message.message | filter component = "SERVICE_DISCOVERY" and message.message like /Failed/ | sort @timestamp desc

监控收集器的最佳实践

要有效监控您的 Amazon Prometheus 收款人托管服务,请执行以下操作:

  1. 为收集器的关键问题设置 CloudWatch 警报,例如持续的抓取失败或导出错误。有关更多信息,请参阅 Amazon CloudWatch 用户指南中的警报

  2. 创建 CloudWatch 仪表板以可视化收集器性能指标以及销售的日志数据。有关更多信息,请参阅 Amazon CloudWatch 用户指南中的控制面板

  3. 定期查看服务发现日志,确保正确发现目标。

  4. 监控丢弃的目标数量以确定潜在的配置问题。

  5. 跟踪导出失败情况,确保指标成功发送到您的工作区。