Grafana基本面
介绍
在本教程中,您将了解如何使用Grafana设置监控解决方案为您的应用程序。
在本教程中,您将:
- 探索指标和日志
- 构建仪表盘
- 注释指示板
- 设置警报
设置示例应用程序
本教程使用一个示例应用程序来演示在Grafana的一些特性。完成练习在本教程中,您需要下载的文件到您的本地机器上。
在这个步骤中,您将设置样例应用程序中,以及配套服务等普罗米修斯和洛基。
克隆的github.com/grafana/tutorial-environment存储库。
git克隆https://github.com/grafana/tutorial-environment.git
更改的目录你克隆存储库:
cd tutorial-environment
确保码头工人正在运行:
码头工人ps
没有错误就意味着它正在运行。如果你得到一个错误,然后开始码头工人,然后再次运行该命令。
示例应用程序:
docker-compose了-
第一次运行
docker-compose了-
、码头工人下载本教程,所有必要的参考资料。这可能需要几分钟,这取决于你的网络连接。注意:如果你已经Grafana,洛基,或普罗米修斯在您的系统上运行,那么您可能会看到错误,因为码头工人形象正试图使用当地的设施已经使用的端口。停止服务,然后再次运行该命令。
确保所有服务安装:
docker-compose ps
在状态列,应该说
向上
为所有服务。浏览到这个示例应用程序localhost: 8081。
Grafana新闻
样例应用程序中,Grafana新闻,让你帖子的链接和投票给你喜欢的人。
添加一个链接:
在标题,输入例子。
在URL,输入https://example.com。
点击提交添加链接。
链接Grafana新闻标题出现在列表中。
投票给一个链接,点击旁边的三角形图标的名称链接。
登录到Grafana
Grafana是一个开源的平台监控和可观察性,允许您可视化和探索您的系统的状态。
打开一个新标签。
浏览到localhost: 3000。
在电子邮件或用户名,输入管理。
在密码,输入管理。
点击登录。
你第一次登录时,要求你改变你的密码:
在新密码,输入你的新密码。
在确认新密码,输入相同的密码。
点击保存。
你看到的第一件事就是仪表盘,帮助您入门。
你可以看到最左边侧边栏,一套快速访问Grafana导航图标。
添加一个指标数据源
样例应用程序存储在暴露指标普罗米修斯,一个受欢迎的时间序列数据库(TSDB)。
从普罗米修斯能够可视化指标,首先需要将它添加在Grafana作为数据源。
在侧边栏,把鼠标移到配置(齿轮)图标,然后单击数据源。
点击添加数据来源。
在数据源列表中,单击普罗米修斯。
在URL框中,输入http://prometheus: 9090。
点击保存&测试。
普罗米修斯在Grafana现在可以作为数据源。
探索你的指标
Grafana探索是故障诊断的工作流和数据探索。在这个步骤中,您将使用探索创建临时查询了解指标公开的示例应用程序。
即席查询的查询是由交互,探索数据的目的。一个特别的查询通常是紧随其后的是另一个更具体的查询。
在侧边栏,单击探索(指南针)图标。
在查询编辑器,它说输入一个PromQL查询…,输入
tns_request_duration_seconds_count
然后按Shift + Enter。会出现一个图形。在右上角,点击下拉箭头上运行查询按钮,然后选择5 s。Grafana运行查询并更新图每5秒。
你只会让你的第一个PromQL查询!PromQL是一种强大的查询语言,允许您选择和聚合时间序列数据存储在普罗米修斯。
tns_request_duration_seconds_count
是一个计数器,的一种度量,其价值只会增加。而非可视化的实际值,你可以用计数器来计算变动率,即以多快的速度值增加。添加
率
函数查询可视化的速度每秒的请求。输入以下的查询编辑器然后按Shift + Enter。率(tns_request_duration_seconds_count [5 m])
立即图下面有一个区域每个时间序列与一个彩色图标旁边列出。这个地区被称为传说。
PromQL让你组时间序列标签,使用
总和
聚合算子。添加
总和
聚合算子被路由到查询组时间序列:sum(率(tns_request_duration_seconds_count [5 m])),(路线)
回到样例应用程序和生成一些流量通过添加新的链接,投票,或刷新浏览器。
在右上角,点击时间选择器,并选择最后5分钟。通过放大在最后几分钟,很容易看到当你收到新的数据。
根据您的用例中,您可能希望集团在其他标签。尝试其他标签分组,如status_code
,通过改变(路线)
查询的一部分。
添加一个日志数据源
Grafana支持日志数据源洛基。就像指标,首先需要添加您的数据源Grafana。
- 在侧边栏,把鼠标移到配置(齿轮)图标,然后单击数据源。
- 点击添加数据来源。
- 在数据源列表中,单击洛基。
- 在URL框中,输入http://loki: 3100。
- 点击保存&测试保存您的更改。
洛基在Grafana现在可以作为数据源。
探索你的日志
Grafana探索不仅让你的特别查询指标,但是让你探索你的日志。
在侧边栏,单击探索(指南针)图标。
在顶部的数据源列表,选择洛基数据源。
在查询编辑器,输入:
{文件名= " / var / log / tns-app.log "}
Grafana显示所有日志在示例应用程序的日志文件。图中的每一栏的高度编码生成日志的数量。
单击并拖动整个酒吧图中根据时间过滤日志。
洛基不仅让你过滤日志基于标签,但在特定事件。
让我们生成一个错误,并分析其与探索。
在样例应用程序,发布一个新的链接的URL生成一个错误在您的浏览器中说
空的url
。回到Grafana并输入以下查询过滤日志行基于一个字符串:
{文件名= " / var / log / tns-app.log "}|= "error"
点击日志行说
水平=错误味精=“空url”
看到更多关于错误的信息。注意:如果你在生活模式,点击日志不会显示更多关于错误的信息。相反,停止并退出直播,然后单击日志行。
日志有助于理解错了。稍后在本教程中,您将看到如何将日志与度量普罗米修斯为了更好地理解上下文的错误。
建立一个仪表板
一个指示板给你一个大致的数据,并允许您通过不同的可视化跟踪指标。
指示板包含面板,每个代表一个故事的一部分你想让你的仪表板。
每个小组由一个查询和一个可视化。查询定义什么数据显示,而可视化定义如何数据显示。
在侧边栏,把鼠标移到创建(加号)图标,然后单击指示板。
点击添加一个新的面板。
在查询编辑器以下图表,从早些时候进入查询,然后按Shift +输入:
sum(率(tns_request_duration_seconds_count [5 m])),(路线)
在传说字段中,输入{{路线}}重命名时间序列的传奇。外的图例更新当你点击字段。
在右边的面板编辑器,下设置,面板标题更改为“交通”。
点击应用在右上角保存面板和回到仪表板视图。
单击保存仪表板(磁盘)图标仪表板的顶部保存您的仪表板。
在输入一个名称仪表板的名字字段,然后单击保存。
注释的事件
当事情变坏,它通常能帮助如果你理解的背景发生了错误。最后的部署,系统变化,或数据库迁移可以提供了解可能导致停机。注释允许您直接代表此类事件在你的图表。
在本教程的下一部分中,我们将模拟一些常见用例,有人会添加注解。
手动添加一个注释,点击任何地方在你的图,然后点击添加注释。
在描述,输入迁移用户数据库。
点击保存。
Grafana将注释添加到图。悬停鼠标底部的注释读课文。
Grafana还允许您标注了一个时间间隔,地区的注释。
添加一个区域注释:
- 按Ctrl(或macOS Cmd),然后单击并拖动整个图来选择一个区域。
- 在描述,输入执行负载测试。
- 在标签,输入测试。
手工注释仪表板是不错的单一事件。经常发生的事件,如部署一个新版本,Grafana支持来自你的一个数据源的查询注释。让我们创建一个注释使用我们之前添加的洛基数据源。
仪表板的顶部,单击仪表板设置(齿轮)图标。
去注释并点击添加注释查询。
在的名字,输入错误。
在数据源中,选择洛基。
在查询,输入以下查询:
{文件名= " / var / log / tns-app.log "}|= "error"
- 点击添加。Grafana显示注释列表,和你的新注解。
- 单击回去箭头回到仪表板。
- 仪表板的顶部,现在有一个切换显示新创建的注释结果查询。按它的启用。
您的查询返回的记录行现在显示为图中注释。
能够结合来自多个数据源的数据在一个图允许您从普罗米修斯和洛基关联信息。
注释与警报也很好。下一个也是最后一个部分中,我们将为我们的应用程序设置警报grafana.news
然后我们会触发。这将提供一个快速介绍我们新的报警平台。
创建一个Grafana预警管理
警报系统允许您发现问题后不久。快速地找到意想不到的变化在你的系统中,您可以最小化中断服务。
Grafana新的报警平台推出的Grafana 8。一年后,Grafana 9,它成为了默认的报警方法。在这一步中,我们将创建一个Grafana预警管理。然后我们将引发新的警报和虚拟端点发送测试消息。
最基本的警报包括两个部分:
- 一个接触点——一个接触点定义了如何Grafana提供警报。当的条件警惕法则得到满足,Grafana通知接触点,或渠道,配置警报。一些流行的渠道包括电子邮件、人、松弛的通知和PagerDuty通知。
- 一个警惕法则——规则定义一个或多个警报条件Grafana定期评估。当这些评估满足规则的标准,会触发警报。
首先,让我们建立一个webhook接触点。一旦我们有了一个可用的端点,我们将编写一个预警规则和触发通知。
为Grafana创建一个接触点管理警报
在这一步中,我们将建立一个新的接触点。这个接触点将使用人则通道。为了使这项工作,我们还需要一个端点webhook通道接收警报。我们将使用requestbin.com快速设置测试端点。这样我们可以确保我们的警报是发送一个通知。
- 浏览到requestbin.com。
- 下创建请求本按钮,点击公众本链接。
你的要求本现在等待第一个请求。
- 复制端点URL。
接下来,让我们配置一个接触点在Grafana报警界面本通知发送给我们的要求。
- 回到Grafana。Grafana的侧边栏,把鼠标移到报警(钟)图标,然后单击接触点。
- 点击+新的接触点。
- 在的名字,写RequestBin。
- 在接触点类型,选择Webhook。
- 在Url你的要求本,粘贴的端点。
- 点击测试发送一个测试警惕你的请求。
- 导航回前面创建的请求本。在左边,现在
POST /
条目。点击它,看看Grafana发送信息。 - 回到Grafana并单击保存接触点。
我们已经创建了一个假的webhook端点和创建了一个新的警报在Grafana接触点。现在我们可以创建一个警告规则和链接到这个新渠道。
添加规则Grafana警报
现在Grafana知道如何通知我们,是时候建立一个预警规则:
- Grafana的侧边栏,将光标停留在报警(钟)图标,然后单击预警规则。
- 点击+新的预警规则。
- 为第一节命名规则
fundamentals-test
,并设置规则类型来Grafana管理警报。为文件夹类型基本面
在出现的框,出版社创建:基本面。 - 为第二节,找到查询盒子。选择你的普罗米修斯数据源和输入相同的查询,我们在前面板中使用:
sum(率(tns_request_duration_seconds_count [5 m])),(路线)
。新闻运行查询。您应该看到图中一些数据。 - 向下滚动到查询B盒子。为操作选择
经典的条件
。你可以在这里阅读更多关于经典的和多维的条件。输入以下条件:当最后的()是0.2以上
- 在第三节,输入
30年代
为评估每一个字段。本教程的目的,故意评价时间间隔短。这使得它更容易测试。在为字段中,输入0米
。这个设置使Grafana等到警报发射了对于一个给定的时间Grafana发送通知。 - 在第四节,你可以添加一些示例文本消息摘要。阅读更多关于消息模板。
- 点击保存并退出在页面的顶部。
- Grafana的侧边栏,将光标停留在报警(钟)图标,然后单击通知的政策。
- 下根的政策,按编辑和改变默认的接触点来RequestBin。随着系统,管理员可以使用通知的政策设置组织匹配预警规则具体的接触点。
引发Grafana预警管理
我们已经配置警报规则和一个接触点。现在让我们看看我们是否可以触发Grafana管理警报通过生成一些交通在我们的样例应用程序。
- 浏览到localhost: 8081。
- 反复点击“投票”按钮或刷新页面生成一个交通高峰。
一次查询sum(率(tns_request_duration_seconds_count [5 m])),(路线)
返回一个值大于0.2
Grafana会触发警报。浏览我们之前创建的请求本和发现Grafana发送警报通知详细信息和元数据。