【问题标题】:Get google cloud uptime history to a third party application获取第三方应用程序的谷歌云正常运行时间历史记录
【发布时间】:2021-05-24 11:05:18
【问题描述】:

我正在尝试将我的应用程序(托管在谷歌云中)正常运行时间历史记录到我自己的页面。谷歌云上有什么api吗?我只需要获取日期和上/下百分比或时间。

我已经在谷歌控制台上配置了正常运行时间检查。但我需要将它集成到我的应用程序中。

【问题讨论】:

    标签: google-cloud-platform google-cloud-stackdriver health-monitoring google-cloud-monitoring


    【解决方案1】:

    是的,您可以,但这并不明显,使用 Cloud Monitoring 以外的其他工具将正常运行时间数据导出到非 GCP 站点可能更容易:-)

    如果您确实想使用 Stackdriver Monitoring 将此数据导入到非 GCP 页面中,那么 Cloud Monitoring SDKs 之一可能是最好的选择。您也可以创建一个 URL(见下文),但您需要对该 URL 进行身份验证,这可能会使其过于复杂。

    举个例子,这是我针对我的博客创建的正常运行时间检查:

    我推荐Google APIs Explorer,因为它是了解 Google 服务(通过 REST API)和测试方法的绝佳方式。

    首先:列表|获取正常运行时间检查

    https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.uptimeCheckConfigs/list

    插入右侧表格parentprojects/${PROJECT}的值

    如果您的项目 ID 是 freddie-210224-66311747,那么您应该输入 project/freddie-210224-66311747

    https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.uptimeCheckConfigs/get

    对于这个,你需要提供nameprojects/${PROJECT}/uptimeCheckConfigs/${UPTIME_CHECK}的值

    如果您的正常运行时间检查称为test,那么您将输入projects/freddie-210224-66311747/uptimeCheckConfigs/test

    注意在我的例子中,我使用了包含句点 (my.blog.com) 的正常运行时间检查名称,并将其转换为 (my-blog-com)。因此,您可能需要先列出以检查名称。

    点击“执行”(您无需勾选API Key,但没有区别)。

    我了解到,正常运行时间检查与所有其他检查一样是指标。我在观看 Uptime 检查时通过观看 Chrome 开发工具确认了这一点。

    确保您使用正确的指标名称。您可以使用 Monitoring 的 Metrics Explorer 来确认这一点:

    资源类型是Uptime Check URL (uptime_url)

    您可能使用的一个 (!) 指标是 Request Latency (monitoring.googleapis.com/uptime_check/request_latency)

    如果您填充 Metrics Explorer,您应该会看到与正常运行时间检查页面相同的数据。

    单击Query Editor 以获取以云监控查询语言 (MQL) 表示的正常运行时间指标,删除所有换行符。您可以使用:

    fetch uptime_url | metric 'monitoring.googleapis.com/uptime_check/request_latency' | group_by 1m, [value_request_latency_mean: mean(value.request_latency)] | every 1m

    所以,现在我们要查询监控指标时间序列

    https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/query

    name 的值为 projects/${PROJECT}

    对于query,从上面粘贴MQL 保留引号,即"fetch uptime_url ..."

    点击EXECUTE

    您应该会收到 Uptime URL 所依据的时间序列数据的快照。您可以修改 MQL 以准确反映您需要的子集。在2021-02-24T20:55:38,延迟为20.869

    所以,得到例如为您的正常运行时间检查请求延迟,您可以使用监控 API 的 TimeSeries 查询方法,并且通过合适的查询,这将产生 JSON 数据,包括一个点(值)数组。然后可以将这些值转换并显示到您的外部页面中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-05
      • 2019-10-24
      • 1970-01-01
      • 2021-02-27
      • 1970-01-01
      • 1970-01-01
      • 2019-06-04
      • 2019-04-16
      相关资源
      最近更新 更多