博客/工程

如何快速开始使用Grafana Cloud中的新的合成监控功能

2021年1月27日10分钟

我们最近推出了综合监测,这帮助您了解用户体验,提高网站性能通过主动监控您的服务。的强大功能普罗米修斯黑箱出口国,是worldPing的下一个迭代。

新的合成监控功能可用于所有Grafana Cloud用户-包括那些最近公布的免费计划,它允许多达10000系列的Prometheus或Graphite度量和50 GB的日志。通过Grafana Cloud,您可以通过托管指标、日志和跟踪查看服务和系统内部发生的情况,并在三者之间切换。

要获得服务和系统的外部视角,可以使用合成监视设置检查。

“worldPing 2.0”

worldPing是对基础设施可用性进行“一目了然”查看的一个很好的工具,而新的合成监视功能继承了这一功能背后的概念,并在其基础上进行了数量级的改进。

最值得注意的改进是用于合成监视的接口。worldPing尝试发现一组要探测的协议(ICMP、DNS、HTTP[S]端点),然后允许在同一页面上配置这些协议。然而,这可能会导致很多混乱,并使创建和更新检查变得繁琐。其次,worldPing主页提供了被检查端点的列表,以及用于不同协议检查的独立仪表板的链接,但是没有简单的方法来获得所有被测试端点的“概览”。

综合监视清楚地分离了协议检查的配置(添加了许多关于如何执行检查的详细内容),还利用了一个主页,该主页根据协议分组,立即向您显示所有检查的运行状况。

合成监视最显著的变化是,它使用Grafana Cloud已经拥有的托管度量和日志来存储正在执行的检查的数据。

普罗米修斯的力量

除了通过存储日志和度量洛基而且普罗米修斯,我们的合成监视功能还有许多其他的好处,这些好处来自于构建在Prometheus黑盒子输出器上。

首先,Prometheus黑匣子导出器以及通过扩展的合成监视提供了创建Ping、HTTP/HTTPS、TCP和DNS检查的能力,并为每种检查提供了大量配置选项,我们将在本文后面深入讨论这些选项。

合成监控的警报建立在Prometheus警报的基础上。目前,可以使用Grafana云警报中的文本框编辑器编写这些警报,这使您能够快速编写警报,而不需要任何额外的工具、下载或命令行。此外,我们很快将在合成监视中发布一个新的警报选项卡,在那里,您将能够使用合成监视UI中的输入为合成监视检查设置警报。当然,这些警报将在后端创建为Prometheus警报,因此也可以从Grafana Cloud警报中编辑和查看。

最后,由于合成监视发布Prometheus指标和Loki日志,您可以将这些指标和日志与自定义查询和仪表板中的其他数据结合起来。您可以在一个查询中引用多个Prometheus数据源,或者将不同的查询拉到同一个仪表板中的多个面板中。

安装和配置

让我们深入研究如何将合成监视安装到Grafana实例中。有几种不同的方法可以运行合成监视,但所有方法都需要一个Grafana Cloud帐户来正确存储数据和功能。

在您的Grafana Cloud帐户中,只需导航到左侧导航栏上的合成监控图标。在这里,您可以访问主页,其中按支票类型分组显示支票;支票页面,在这里您可以查看现有的支票并创建新的支票;以及一个配置页面,在这里您可以查看Grafana云堆栈合成监控安装在哪里。

添加初始检查

在Grafana实例中安装了合成监视之后,就可以添加检查了!

打开合成监视侧边栏菜单并选择检查

选择新检查从支票页,这将带你到一个新的支票页。

我们将添加一个新的ping(也称为ICMP echo)检查,以确保我们的grafana.net服务器总是可从世界各地的不同地点。选择作为检查类型。

输入Grafana-Ping作业名字段,然后设置grafna.net随着目标(这是一个故意的错别字,请耐心等待!)

现在我们需要选择要在检查中使用的探测的位置。探头是位于全球各地的大量黑盒代理之一,可在广泛的位置使用,其任务是对指定的目标执行配置的检查。每个探针向合成监视后端发送度量和日志,包括诸如目标可用性、运行状况和响应延迟等信息,然后在合成监视指示板中呈现这些信息。

现在,为将发送ICMP回声包(ping)到的探测选择几个不同的位置grafana.net宿主通过选择调查地点菜单的探头的选择部分。在下面的示例中,您将看到我们已经进行了选择伦敦东京西雅图孟买,悉尼

探头的选择部分允许您配置执行检查的频率,以及检查的超时时间。如果在该超时时间内没有收到IGMP的响应,则该ping检查将被标记为失败。

如果展开最后一节Advanced Options,您将注意到这里有额外的配置选项,允许您在指标和日志上设置额外的标签(您将能够在一个PromQLLogQL查询作为标签选择器)。您还可以更改正在使用的Internet协议版本(IPv4、IPv6或两者都有),并决定是否设置“不要分片”位(仅针对IPv4)。

我们现在将坚持使用默认选项,并使用IPv4进行测试。你的ping检查页面现在应该看起来像下面这样:

最后,选择保存按钮。

支票清单

您将被带回到支票列表,这将显示我们的新支票已经注册。首先,你会看到一个问号(?),以显示没有关于该检查运行状况的当前信息。一旦执行了第一次检查,这将发生变化。

现在您将在检查列表中看到ping检查,表明该检查是活动的。过了一会儿,ping检查旁边会出现一个红色的心碎符号。这表明检查失败了!也会有一个成功率与它相关联,它将设置为N/A(不适用)。我们可以通过选择检查类型()和成功率

萍仪表板

一旦选中,用于ping检查的仪表板将被打开,它看起来如下所示。

注意,仪表板的顶部有三个可选择的仪表板变量:探针工作,实例.的探针变量允许您选择单个探测,以获得关于它返回的指标的更详细信息。(所有默认选择,使用为检查配置的所有探针的平均值)。的工作是否要在ping作业上显示信息,因为我们目前只有一个作业,所以设置为Grafana-Ping.最后,实例变量允许您查找目标的所有先前实例。

这里有一些有趣的展板,尽管其中一些是空的。您可能已经猜到了,这是因为检查当前正在失败。的停机时间面板显示了我们为检查添加的探头的位置。红色表示探测的检查失败,而绿色表示检查成功。还有一个统计面板显示平均延迟为了支票,这个频率对于它(目前是60秒),和正常运行时间用于检查目标。

那为什么支票失败了?我们在指定目标时犯了一个排版错误grafana.net服务器,当我们配置检查。来看看*: grafna.net的错误日志面板(包括目标错别字)。你会看到一组重复的错误,看起来像这样:

21-01-22 17:52:35 level=info target=grafna.net msg="解析目标地址" ip_protocol=ip4 21-01-22 17:52:35 level=info target=grafna.net msg=" starting check" type=ping timeout_seconds=3 21-01-22 17:52:30 level=error target=grafna.net msg=" check failed" duration_seconds=0.000799491 21-01-22 17:52:30 level=warn target=grafna.net msg="错误解析地址" err="lookup grafna.net on 127.0.0.1:53:no such host" 21-01-22 17:52:30 level=error target=grafna.net msg="Resolution with IP protocol failed" err="lookup grafna.net on 127.0.0.1:53: no such host"

这表明grafna.nettarget没有返回ICMP回显,因为无法到达它(在编写本文时,这个主机不存在)。

查看了日志并确定检查失败的原因之后,现在可以返回该检查的配置页面以更改它。

通过使用综合监测菜单的检查项,然后选择失败项Grafana-Ping检查。这将带您回到配置屏幕进行检查。改变目标grafna.netgrafana.net,然后选择保存在这一页的底部。

在更改目标后不久,返回仪表板页面进行检查。现在,您将能够看到检查正在正确地工作,并且正在从所有六个探针获取数据。

支票,支票,更多的支票!

我们已经简要概述了如何使用合成监视创建和查看ping检查,但实际上有四种不同类型的检查可用于确保基于web的应用程序可用并准备好为客户服务:

    • 使用ICMP回声包测试主机的可用性,确保在指定超时内发生响应。
  • DNS

    • 确保在指定的超时时间内执行DNS查找。您可以指定返回的记录的类型和要使用的名称服务器,并允许预期的响应代码和正则表达式验证返回的记录。
  • HTTP [S]

    • HTTP和HTTPS检查包括丰富的配置功能,包括:

      • 请求中使用的REST方法,以及可编程的主体和头以及授权选项。
      • 响应的验证标准,包括返回的状态码、HTTP版本检查、SSL选项,以及为返回的正文和报头指定正则表达式的能力。
      • 用于指定服务器和客户端证书和密钥的TLS选项。
  • TCP

    • TCP特定检查,包括针对HTTP[S]的检查,但针对一般TCP有效负载定制的检查。

此外,合成监视允许您创建自己的私有的、基于黑匣子导出器的探测,这带来了从世界各地想要安装它们的任何位置创建可用性检查的灵活性。

REST API的功能。能够以编程方式提供检查,并将检查数据存储为Prometheus指标和Loki日志。在已经拥有的用于监视基础设施的仪表板中包含端点可用性可视化的选项。所有这些都意味着综合监测在其世界传统基础上有了显著的提升。

在以后的文章中,我们将更深入地研究其他可用的监视检查类型,以及创建私有探测和使用REST API。

与此同时,只需登录到您的Grafana Cloud帐户,为自己尝试合成监控。如果您目前没有使用Grafana Cloud,您可以这样做注册专业版免费试用14天探索无限的指标、日志和用户、长期留存率、团队协作功能等。之后,您将自动转移到新的免费层,这使您可以免费访问我们的可组合可观察性平台,最多10,000个活动系列,50gb的日志,以及14天的指标和日志保留。在我们的网站上了解更多关于免费和专业计划的信息