type
status
date
slug
summary
tags
category
icon
password
😀
通过Grafana对Traefik服务的指标和访问日志进行监控。除了Traefik,还可以对各种其他服务进行监控

📝 介绍

Grafana 是一个可视化工具,能够将数据转化为易于理解的图表,使用Prometheus监控服务状态,Promtail+Loki查询服务日志。
下面是实现效果:
Traefik Metrics
Traefik Metrics
Traefik访问日志
Traefik访问日志

💿安装和配置

Traefik的可观测性

在Traefik-2.X的生态里,将可观测性分为了如下几个部分,官方文档说明traefik-observability
  • 服务日志: Traefik进程本身相关的操作日志
  • 访问日志: 由Traefik接管的代理服务的访问日志(access.log)
  • Metrics: Traefik提供的自身详细的metrics数据
  • Tracing: Traefik也提供了追踪相关的接口,用来可视化分布式或微服务中的调用情况

启用AccessLog和Metrics

💡
由于前面在配置crowdsec时将Traefik日志存在
/mnt/user/appdata/shared/crowdsec/traefik/traefik.log,下面的配置文件都以这个路径为例。
traefik.yml中新增metricsaccessLog。以下是个人配置,仅供参考,请按需修改:

日志轮转

访问日志随着时间推移会越来越多,需要外部程序对日志进行轮转和处理
在Unraid中的/etc/logrotate.d/目录下新建文件traefik,内容如下:
logrotate将日志切分为10个文件,循环覆盖。
使用 logrotate /etc/logrotate.conf --debug 命令检查是否正确。
由于Unraid重启后不会保留/etc/下的文件更改,我们需要把文件保存在unraid存储阵列中,如/mnt/user/system/traefik,然后使用User Scripts插件添加一个脚本,内容为:
将脚本设置为At Startup of Array
💡
也可以在/boot/config/go中添加一行命令,实现开机自动执行。

PLG安装

Grafana仅是一个前端展示界面,需要Prometheus提供metrics数据源或Loki提供log数据源,安装以下四个容器,它们全部运行在Proxy网络。GrafanaPromtail需要挂载日志文件夹,其他保持默认:
notion image
notion image
notion image
notion image
GrafanaPromtail挂载Log
GrafanaPromtail挂载Log

Prometheus配置

修改/mnt/user/appdata/prometheus/etc/prometheus.yml
重启服务:
notion image

Promtail配置

修改/mnt/user/appdata/promtail/config.yml
notion image
上面的配置足够运行,也可以针对Traefik日志进一步处理:
结果:
notion image

Loki配置

修改/mnt/user/appdata/loki/conf/local-config.yaml
💡
2024/04更新
Loki更新到3.0,从compactor配置中移除了shared_store, 且需要配置compactor.delete_request_store
更多信息请查看更新说明

Grafana使用

运行状态监控

进入Dashboard,可以在https://grafana.com/grafana/dashboards/找到别人分享的面板直接导入:如TraefikTraefik Official Standalone Dashboard等。
notion image
再分享一个我修改过的面板:

访问日志查询

进入Explore按步骤查询:
notion image

其他服务

Metrics

Unraid

安装Prometheus-Node-Exporter插件
notion image
Prometheus配置增加:
targets更换为Unraid的IP。
Grafana导入Dashboard:Node Exporter Full

Cloudflared

发布参数中增加--metrics cloudflared:6789参数:
Prometheus配置增加:
targets更换为Cloudflared的IP。
Grafana导入Dashboard:Cloudflare Tunnels

Crowdsec

/mnt/user/appdata/crowdsec/config.yaml
Prometheus配置增加:
Grafana导入Dashboard:Crowdsec security engines overview

Log

💡
所有的日志都挂载到同一目录下,如/mnt/user/appdata/shared/crowdsec

Authelia

/mnt/user/appdata/Authelia/configuration.yml
Promtail配置增加:

Vaultwarden

挂载日志
-v '/mnt/user/appdata/shared/crowdsec/vaultwarden/':'/log/':'rw’
Promtail配置增加:

📔备忘

Inspecting pipeline stages
 

📎 参考文章

 
相关文章
Traefik 篇七:Cloudflare内网穿透
Lazy loaded image
Traefik 篇六:云“fail2ban”协作式防火墙CrowdSec
Lazy loaded image
Traefik 篇五:进阶的代理配置
Lazy loaded image
Traefik篇四:中间件Authelia
Lazy loaded image
Traefik 篇三:Traefik的安装和配置
Lazy loaded image
Traefik 篇二:前期准备
Lazy loaded image
使用CloudFlare R2存储当图床Traefik 篇七:Cloudflare内网穿透
Loading...
Biliko
Biliko
吃饱了🍚
最新发布
Linux 硬盘空间扩容
2025-3-29
Traefik 篇五:进阶的代理配置
2025-3-29
Traefik 篇八:使用Grafana监控服务和管理日志
2025-3-29
Traefik 篇七:Cloudflare内网穿透
2025-3-29
Traefik 篇六:云“fail2ban”协作式防火墙CrowdSec
2025-3-29
Traefik篇四:中间件Authelia
2025-3-29
公告
🎉祝你每天快乐!🎉