实时端口监控和发现工具Portracker
简介
什么是 Portracker ?
Portracker是一个自托管的实时端口监控和发现工具,通过自动发现系统上的服务,提供网络的实时、准确的映射。它通过消除手动跟踪,帮助防止因端口冲突导致的部署失败。
主要特点
- 自动端口发现:自动扫描主机系统,发现并显示正在运行的服务及其端口,无需手动输入。
- 平台特定收集器:提供针对 Docker和TrueNAS的专用收集器,收集丰富的上下文信息。
- 轻量且自包含:作为单个进程运行,内置 SQLite数据库,无需外部数据库依赖。
- 对等监控:可以将其他 Portracker实例作为对等体添加,统一管理所有服务器、容器和虚拟机。
- 分层分组:支持将服务器组织成父子结构,便于管理和监控。
- 增强的 TrueNAS 发现:支持通过提供 TrueNAS API密钥发现运行的虚拟机,并获取系统信息。
- 现代响应式用户界面:提供清晰的仪表板界面,支持多种数据视图和主题模式。
应用场景
- 企业网络管理:适用于需要监控和管理多个服务器和服务的企业环境,帮助 IT 部门保持网络运行的稳定性。
- 容器化环境:在使用 Docker的场景中,Portracker能够自动发现容器中的服务,简化管理。
- 虚拟化平台监控:在 TrueNAS等虚拟化平台上使用,提供对虚拟机的监控和管理。
- 开发和测试:开发人员可以使用 Portracker来确保服务运行正常,避免端口冲突,提高开发效率。

Portracker 是一个灵活、功能强大的工具,可以显著提高网络管理的效率和准确性。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 portracker ,选择第一个 mostafawahied/portracker,版本选择 latest。
本文写作时,
latest版本对应为main,比1.0.2要晚几天 ;

docker cli 安装
如果你熟悉命令行,可能用 docker cli 更快捷
| 1 | # 新建文件夹 portracker 和 子目录 | 
| 可变 | 描述 | 默认 | 
|---|---|---|
| PORT* | Web应用程序将在其上运行的端口。 | 4999 | 
| DATABASE_PATH* | 容器内 SQLite数据库文件的路径。 | /data/portracker.db | 
| TRUENAS_API_KEY | 用于增强 TrueNAS数据收集的可选API密钥。 | |
| CACHE_TIMEOUT_MS | 缓存扫描结果的持续时间(以毫秒为单位)。 | 60000 | 
| DISABLE_CACHE | 设置为 true以禁用所有缓存。 | false | 
| INCLUDE_UDP | 设置为 true在扫描中包含UDP端口。 | false | 
| DEBUG | 设置 true为详细的应用程序日志记录。 | false | 
docker-compose 安装
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
| 1 | services: | 
然后执行下面的命令
| 1 | # 新建文件夹 portracker 和 子目录 | 

运行
在浏览器中输入 http://群晖IP:4999 就能看到主界面

如果容器越多,花的时间的会越久

下拉可以看到端口信息

可以为端口增加备注,方便记忆

多服务器
如果你有多台服务器,在安装了 Portracker 之后,可以点左下角的 Add Server 添加进来统一管理
- Server Name:用于标识服务器
- Server URL:服务器地址,例如- http://192.168.0.199:4999

设置没问题的话,就可以看到另一台主机的信息了

如果不行,可以尝试让群晖的 docker 服务允许通过 TCP 进行连接。
用 SSH 连到群晖上,编辑文件 /var/packages/Docker/etc/dockerd.json ,并新增一行:
| 1 | "hosts" : [ "tcp://192.168.0.199:2375", "unix:///var/run/docker.sock" ], | 

其中的 IP 需要改成群晖主机的 IP 地址,然后保存。接下来,还需要重启群晖的 docker 服务
| 1 | # 重启 docker 套件 | 
参考文档
Mostafa-Wahied/portracker
地址:https://github.com/mostafa-wahied/portrackerportracker - Ports monitoring & auto discovery dashboard for your homelab : r/selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/1m3k148/portracker_ports_monitoring_auto_discovery/
