type
status
date
slug
summary
tags
category
icon
password
通过Grafana对Traefik服务的指标和访问日志进行监控。除了Traefik,还可以对各种其他服务进行监控
📝 介绍
Grafana 是一个可视化工具,能够将数据转化为易于理解的图表,使用Prometheus监控服务状态,Promtail+Loki查询服务日志。
下面是实现效果:
💿安装和配置
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
中新增metrics
和accessLog
。以下是个人配置,仅供参考,请按需修改:日志轮转
访问日志随着时间推移会越来越多,需要外部程序对日志进行轮转和处理
在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需要挂载日志文件夹,其他保持默认:Prometheus配置
修改
/mnt/user/appdata/prometheus/etc/prometheus.yml
:重启服务:
Promtail配置
修改
/mnt/user/appdata/promtail/config.yml
上面的配置足够运行,也可以针对Traefik日志进一步处理:
结果:
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/找到别人分享的面板直接导入:如Traefik,Traefik Official Standalone Dashboard等。
再分享一个我修改过的面板:
访问日志查询
进入Explore按步骤查询:
其他服务
Metrics
Unraid
安装Prometheus-Node-Exporter插件
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
📎 参考文章
- 作者:Biliko
- 链接:https://biliko.net/article/traefik-part8
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章