返回

诸君莫急!手把手教你用Loki画个Traefik监控面板

见解分享

前言
大家好,我是小白。前段时间在Loki2.0发布时,我们更新了一个配套的用LogQL语法绘制Nginx监控面板的Demo。今天小白准备用同样的手法炮制一个基于Traefik日志的监控面板。还不清楚之前Nginx面板操作的同学可以看参考文末后的推荐阅读。

Traefik是一个用Golang实现的云原生轻量级反向代理及负载均衡器,它采用动态配置,提供了丰富的功能,如服务发现、故障转移、中间件集成等。Traefik的日志非常详细,包含了丰富的请求信息,如请求方法、请求路径、请求状态码、请求耗时等。这些信息对于我们分析和监控Traefik的流量非常有帮助。

安装和配置Loki

在开始之前,我们需要先安装和配置Loki。Loki是一个开源的日志聚合和存储系统,它可以帮助我们收集、存储和查询日志。

安装Loki

Loki的安装非常简单,我们可以使用Helm来一键安装。

helm repo add loki https://grafana.github.io/loki/charts
helm install loki loki/loki

配置Loki

安装完成后,我们需要配置Loki。我们可以通过编辑/etc/loki/loki.yaml文件来配置Loki。

server:
  http_listen_port: 3100

storage:
  filesystem:
    directory: /var/log/loki

将上面配置中的/var/log/loki目录替换为实际的日志存储目录。

启动Loki

配置完成后,我们可以启动Loki了。

systemctl start loki

安装和配置Grafana

Grafana是一个开源的监控和可视化平台,它可以帮助我们创建漂亮的仪表盘来可视化数据。

安装Grafana

Grafana的安装也很简单,我们可以使用Helm来一键安装。

helm repo add grafana https://grafana.github.io/helm-charts
helm install grafana grafana/grafana

配置Grafana

安装完成后,我们需要配置Grafana。我们可以通过访问Grafana的Web界面(默认端口为3000)来配置Grafana。

配置数据源

在Grafana的Web界面中,点击“数据源”选项卡,然后点击“添加数据源”按钮。在“数据源类型”字段中,选择“Loki”。在“URL”字段中,输入Loki的HTTP监听地址(默认端口为3100)。

创建仪表盘

配置好数据源后,我们就可以创建仪表盘了。点击“仪表盘”选项卡,然后点击“创建仪表盘”按钮。在“仪表盘标题”字段中,输入仪表盘的标题。在“数据源”字段中,选择Loki数据源。

使用LogQL查询Traefik日志

在创建仪表盘之前,我们需要先了解如何使用LogQL查询Traefik日志。LogQL是Loki的查询语言,它类似于Prometheus的PromQL。

查询所有Traefik日志

我们可以使用以下LogQL查询来查询所有Traefik日志:

{namespace="traefik"}

查询Traefik的请求状态码

我们可以使用以下LogQL查询来查询Traefik的请求状态码:

{namespace="traefik"} | histogram_quantile(0.99, sum(rate({status_code=~"\\d{3}"}[5m])) by (le))

查询Traefik的请求耗时

我们可以使用以下LogQL查询来查询Traefik的请求耗时:

{namespace="traefik"} | histogram_quantile(0.99, sum(rate(histogram_quantile(0.99, sum(rate({response_time=~".*ms"}[5m])) by (le, instance)) by (le)) [5m])) by (le))

创建Traefik监控面板

了解了如何使用LogQL查询Traefik日志后,我们就可以创建Traefik监控面板了。

创建面板

在Grafana的仪表盘编辑器中,点击“添加面板”按钮。在“面板类型”字段中,选择“单值统计”。在“查询”字段中,输入以下LogQL查询:

{namespace="traefik"} | count()

这个查询将返回Traefik日志的总条数。

配置面板

配置好查询后,我们需要配置面板的外观。在“面板标题”字段中,输入面板的标题。在“统计类型”字段中,选择“当前值”。在“值格式”字段中,选择“数字”。

保存面板

配置好面板后,点击“保存”按钮即可。

结语

以上就是如何使用Loki和Grafana创建一个用于监视Traefik流量的仪表盘。希望这篇教程对您有所帮助。