5.9 KiB
5.9 KiB
Grafana 远程访问配置
创建时间: 2025-12-21 状态: ✅ Ingress 已配置
🌐 访问方式
方式一:域名访问(推荐)
访问地址: http://grafana.omniverseai.net
配置步骤:
-
在客户端机器上配置 hosts 文件:
macOS:
# 1. 编辑 hosts 文件 sudo vi /etc/hosts # 添加以下行 192.168.1.83 grafana.omniverseai.net # 2. 刷新 DNS 缓存(必须执行) sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder # 3. 验证配置 ping grafana.omniverseai.netLinux:
sudo vi /etc/hosts # 添加以下行 192.168.1.83 grafana.omniverseai.netWindows:
C:\Windows\System32\drivers\etc\hosts # 添加以下行 192.168.1.83 grafana.omniverseai.net -
浏览器访问:
http://grafana.omniverseai.net -
登录凭据:
- 用户名:
admin - 密码:
admin123
- 用户名:
方式二:IP+端口访问(无需配置 hosts)
访问地址: http://192.168.1.83:31080
说明:
- Ingress Controller 使用 NodePort 类型
- HTTP 端口: 31080
- HTTPS 端口: 31443
浏览器访问:
http://192.168.1.83:31080
注意: 需要在请求头中设置 Host,或者浏览器会返回 404。建议使用方式一。
方式三:通过 curl 测试(验证用)
# 测试 Grafana 是否可访问
curl -H "Host: grafana.omniverseai.net" http://192.168.1.83:31080/api/health
# 预期输出
{"commit":"...","database":"ok","version":"..."}
🔧 Ingress 配置详情
Ingress 资源:
kubectl get ingress -n monitoring grafana
输出:
NAME CLASS HOSTS ADDRESS PORTS AGE
grafana nginx grafana.omniverseai.net 192.168.194.177 80 1m
配置文件: monitoring/grafana/grafana-ingress.yaml
🔒 启用 HTTPS(可选)
如果需要 HTTPS 访问,编辑 monitoring/grafana/grafana-ingress.yaml:
-
取消注释 cert-manager 和 tls 配置:
annotations: cert-manager.io/cluster-issuer: letsencrypt-prod # 取消注释 tls: # 取消注释 - hosts: - grafana.omniverseai.net secretName: grafana-tls -
重新应用配置:
kubectl apply -f monitoring/grafana/grafana-ingress.yaml -
访问:
https://grafana.omniverseai.net
📊 Dashboard 直达链接
配置 hosts 后,可以直接访问:
| Dashboard | 直达链接 |
|---|---|
| PostgreSQL | http://grafana.omniverseai.net/d/000000039/postgresql-database |
| Redis | http://grafana.omniverseai.net/d/xDLNRKUWz/4b82829 |
| Kubernetes Pods | http://grafana.omniverseai.net/d/k8s_views_pods/kubernetes-views-pods |
🛠️ 故障排查
Q1: 浏览器显示 "无法访问此网站"
检查:
- hosts 文件是否配置正确
- 192.168.1.83 是否是正确的主机 IP
- 网络是否连通
- macOS 是否已刷新 DNS 缓存
验证主机 IP:
# 在 macOS 主机上执行
ifconfig | grep "inet " | grep -v 127.0.0.1
刷新 DNS 缓存(macOS):
sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder
验证 hosts 配置生效:
ping grafana.omniverseai.net
# 应该显示 192.168.1.83
Q2: 浏览器返回 404 Not Found
原因: Ingress Controller 无法匹配 Host header
解决:
- 确认 hosts 文件已配置 grafana.omniverseai.net
- 或使用带 Host header 的 curl 测试
Q3: 浏览器返回 503 Service Unavailable
检查 Grafana Pod 状态:
kubectl get pods -n monitoring -l app=grafana
kubectl logs -n monitoring -l app=grafana --tail=50
Q4: 使用 IP:端口访问返回 404
说明: Ingress 需要正确的 Host header
解决: 使用方式一(域名访问),或者:
# 在浏览器中安装 ModHeader 扩展,设置 Host header
# 或使用 curl
curl -H "Host: grafana.omniverseai.net" http://192.168.1.83:31080
🌍 局域网访问
如果需要从局域网其他设备访问:
-
在其他设备的 hosts 文件添加:
macOS 设备:
sudo vi /etc/hosts # 添加 192.168.1.83 grafana.omniverseai.net # 刷新 DNS 缓存 sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponderLinux/Windows 设备:
192.168.1.83 grafana.omniverseai.net -
确保防火墙允许访问:
# macOS 主机上检查防火墙 sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate -
访问:
http://grafana.omniverseai.net
📝 相关命令
Kubernetes 相关
# 查看 Ingress 状态
kubectl get ingress -n monitoring
# 查看 Ingress 详情
kubectl describe ingress -n monitoring grafana
# 查看 Ingress Controller 日志
kubectl logs -n infra -l app.kubernetes.io/name=ingress-nginx --tail=100
# 删除 Ingress(如需)
kubectl delete ingress -n monitoring grafana
# 重新应用 Ingress
kubectl apply -f monitoring/grafana/grafana-ingress.yaml
macOS DNS 缓存管理
# 刷新 DNS 缓存(修改 hosts 后必须执行)
sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder
# 验证 hosts 配置
ping grafana.omniverseai.net
# 查看 hosts 文件
cat /etc/hosts | grep grafana
# 测试 Grafana 连通性
curl -H "Host: grafana.omniverseai.net" http://192.168.1.83:31080/api/health
✅ 验证清单
- hosts 文件已配置 grafana.omniverseai.net → 192.168.1.83
- macOS 已刷新 DNS 缓存(必须)
ping grafana.omniverseai.net能解析到 192.168.1.83- 浏览器可以访问 http://grafana.omniverseai.net:31080
- 可以使用 admin/admin123 登录
- Dashboard 可以正常显示数据
- 局域网其他设备可以访问(如需要)
开始使用远程访问的 Grafana 监控吧! 🚀