实时端口监控和发现工具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/