Docker部署hyperglass完全指南:环境变量与反向代理设置
Docker部署hyperglass完全指南:环境变量与反向代理设置
【免费下载链接】hyperglasshyperglass is the network looking glass that tries to make the internet better.项目地址: https://gitcode.com/gh_mirrors/hy/hyperglass
想要快速部署一个功能强大的网络Looking Glass工具吗?hyperglass就是你的完美选择!这个开源网络Looking Glass工具旨在让网络管理员轻松实现网络诊断和监控功能。通过Docker部署hyperglass,你可以在几分钟内搭建一个专业的网络诊断平台,无需复杂的安装步骤。本指南将详细介绍如何使用Docker部署hyperglass,并深入讲解关键环境变量的配置以及反向代理的设置方法,帮助你快速上手这个强大的网络工具。
为什么选择hyperglass?🚀
hyperglass是一个现代化的网络Looking Glass工具,它支持多种网络设备的查询功能,包括BGP路由查询、BGP社区查询、BGP AS路径查询、Ping和Traceroute等。通过简洁的Web界面,用户可以轻松地对网络设备进行诊断和监控。
使用Docker部署hyperglass有以下几个优势:
- 快速部署:几分钟内即可完成安装和配置
- 环境隔离:避免依赖冲突,保持系统清洁
- 易于维护:升级和回滚操作简单
- 跨平台支持:在任何支持Docker的系统上运行
Docker部署hyperglass的完整步骤
1. 准备工作与环境要求
在开始部署之前,确保你的系统满足以下要求:
- 已安装Docker和Docker Compose
- 至少2GB可用内存
- 网络访问权限(用于拉取镜像)
2. 克隆项目并配置目录
首先,克隆hyperglass项目到本地:
mkdir /etc/hyperglass cd /opt git clone https://gitcode.com/gh_mirrors/hy/hyperglass.git --depth=1 cd /opt/hyperglass3. 快速启动体验
如果你想快速体验hyperglass的功能,可以使用示例配置启动:
cp /opt/hyperglass/.samples/sample_devices.yaml /etc/hyperglass/devices.yaml cd /opt/hyperglass docker compose up启动后,访问 http://localhost:8001 即可看到hyperglass的界面。
关键环境变量详解
hyperglass提供了多个环境变量用于自定义配置,这些变量可以在Docker容器启动时设置,或者在${HYPERGLASS_APP_PATH}/hyperglass.env文件中配置。
基础配置环境变量
| 环境变量 | 类型 | 默认值 | 说明 |
|---|---|---|---|
HYPERGLASS_APP_PATH | 字符串 | /etc/hyperglass | hyperglass配置文件和静态文件的存储目录 |
HYPERGLASS_HOST | 字符串 | 0.0.0.0 | hyperglass监听的IP地址 |
HYPERGLASS_PORT | 数字 | 8001 | hyperglass监听的端口号 |
HYPERGLASS_DEBUG | 布尔值 | false | 是否启用调试模式 |
Redis相关环境变量
由于hyperglass依赖Redis进行缓存和状态管理,以下是相关的配置:
| 环境变量 | 类型 | 默认值 | 说明 |
|---|---|---|---|
HYPERGLASS_REDIS_HOST | 字符串 | redis | Redis服务器的主机名 |
HYPERGLASS_REDIS_PASSWORD | 字符串 | - | Redis密码(如果有) |
HYPERGLASS_REDIS_DB | 数字 | 1 | Redis数据库编号 |
HYPERGLASS_REDIS_DSN | 字符串 | - | Redis连接DSN(如果设置,会覆盖其他Redis配置) |
高级功能环境变量
| 环境变量 | 类型 | 默认值 | 说明 |
|---|---|---|---|
HYPERGLASS_DEV_MODE | 布尔值 | false | 开发模式,仅在特定开发场景下使用 |
HYPEGLASS_DISABLE_UI | 布尔值 | false | 是否禁用Web界面(仅通过REST API访问) |
HYPERGLASS_CONTAINER | 布尔值 | true | 标识是否在容器中运行 |
HYPERGLASS_CA_CERT | 字符串 | - | CA证书路径,用于HTTPS证书验证 |
Docker Compose配置文件详解
hyperglass项目提供了一个完整的compose.yaml文件,包含了Redis和hyperglass服务的配置:
services: redis: image: "redis:alpine" hyperglass: depends_on: - redis environment: - HYPERGLASS_APP_PATH=/etc/hyperglass - HYPERGLASS_HOST=${HYPERGLASS_HOST-0.0.0.0} - HYPERGLASS_PORT=${HYPERGLASS_PORT-8001} - HYPERGLASS_DEBUG=${HYPERGLASS_DEBUG-false} - HYPERGLASS_DEV_MODE=${HYPERGLASS_DEV_MODE-false} - HYPERGLASS_REDIS_HOST=${HYPERGLASS_REDIS_HOST-redis} - HYPEGLASS_DISABLE_UI=${HYPEGLASS_DISABLE_UI-false} - HYPERGLASS_CONTAINER=${HYPERGLASS_CONTAINER-true} - HYPERGLASS_ORIGINAL_APP_PATH=${HYPERGLASS_APP_PATH} build: . ports: - "${HYPERGLASS_PORT-8001}:${HYPERGLASS_PORT-8001}" volumes: - ${HYPERGLASS_APP_PATH-/etc/hyperglass}:/etc/hyperglass反向代理配置指南
在生产环境中,通常需要通过反向代理来提供HTTPS支持和更好的安全性。hyperglass支持多种反向代理方案,包括Caddy和NGINX。
使用Caddy作为反向代理
Caddy是一个现代化的Web服务器,支持自动HTTPS证书管理,配置简单:
- 安装Caddy:按照官方文档安装Caddy
- 配置Caddyfile:
lg.example.com:443 { tls person@example.com file_server { root /etc/hyperglass/static/ui index /etc/hyperglass/static/ui/index.html } file_server /custom { root /etc/hyperglass/static/custom } file_server /images { root /etc/hyperglass/static/images } reverse_proxy localhost:8001 }- 应用配置:
cp /opt/hyperglass/.samples/Caddyfile /etc/caddy/Caddyfile systemctl restart caddy使用NGINX作为反向代理
如果你更熟悉NGINX,可以使用以下配置:
- 复制配置文件:
cp /opt/hyperglass/.samples/hyperglass.nginx /etc/nginx/sites-available/hyperglass ln -s /etc/nginx/sites-available/hyperglass /etc/nginx/sites-enabled/hyperglass- 修改NGINX配置:
server { listen 80; listen [::]:80; server_name lg.example.com; return 301 https://$host$request_uri; } server { listen [::]:443 ssl ipv6only=on; listen 443 ssl; ssl_certificate <path to cert chain>; ssl_certificate_key <path to key>; client_max_body_size 2M; server_name lg.example.com; root /etc/hyperglass/static; location / { try_files $uri $uri/ /ui /ui/$uri =404; index /ui/index.html; } location /openapi.json { try_files $uri @proxy_to_app; } location /custom/ { try_files $uri $uri/ /custom; } location /images/ { try_files $uri $uri/ /images; } location /api { try_files $uri @proxy_to_app; } location @proxy_to_app { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://[::1]:8001; } }生产环境部署最佳实践
1. 创建systemd服务
为了确保hyperglass在系统重启后自动启动,可以创建systemd服务:
cp /opt/hyperglass/.samples/hyperglass-docker.service /etc/hyperglass/hyperglass.service ln -s /etc/hyperglass/hyperglass.service /etc/systemd/system/hyperglass.service systemctl daemon-reload systemctl enable hyperglass systemctl start hyperglass2. 配置设备信息
编辑/etc/hyperglass/devices.yaml文件,添加你的网络设备信息:
devices: - name: Core Router address: 192.168.1.1 credential: username: admin password: secure_password platform: cisco_ios attrs: source4: 192.168.1.100 source6: 2001:db8::1003. 安全配置建议
- 使用强密码保护Redis实例
- 配置防火墙规则,限制访问hyperglass的IP范围
- 定期更新Docker镜像到最新版本
- 配置日志轮转,避免日志文件过大
故障排除与常见问题
Q1: hyperglass启动失败,提示Redis连接错误
解决方案:确保Redis容器已正确启动,并检查HYPERGLASS_REDIS_HOST环境变量设置是否正确。
Q2: Web界面无法访问
解决方案:
- 检查防火墙设置,确保端口8001已开放
- 验证hyperglass容器是否正常运行:
docker ps | grep hyperglass - 查看容器日志:
docker logs hyperglass-container-name
Q3: 反向代理配置后出现404错误
解决方案:检查反向代理配置中的路径映射是否正确,确保静态文件路径配置正确。
Q4: 设备查询超时或失败
解决方案:
- 验证设备配置中的IP地址和凭据是否正确
- 检查网络连通性
- 查看hyperglass日志获取详细错误信息
总结
通过本指南,你已经学会了如何使用Docker快速部署hyperglass网络Looking Glass工具。从基础的环境变量配置到生产级的反向代理设置,hyperglass提供了灵活的部署选项,可以满足不同场景的需求。
记住这些关键点:
- Docker是部署hyperglass的推荐方式,简单且易于维护
- 合理配置环境变量可以优化hyperglass的性能和功能
- 使用反向代理(如Caddy或NGINX)可以提供HTTPS支持和更好的安全性
- 定期更新配置文件和Docker镜像可以确保系统安全稳定
hyperglass的强大功能结合Docker的便捷部署,让网络诊断和监控变得更加简单高效。现在就开始部署你的hyperglass实例,享受现代化的网络管理体验吧!🎉
【免费下载链接】hyperglasshyperglass is the network looking glass that tries to make the internet better.项目地址: https://gitcode.com/gh_mirrors/hy/hyperglass
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考