
后端网络运维数据可视化【免费下载链接】NetAlertXCentralized network visibility and continuous asset discovery. Monitor devices, detect change, and stay aware across distributed networks.项目地址https://gitcode.com/gh_mirrors/ne/NetAlertX点击查看免费下载本指南完整讲解如何在 Synology NAS 上通过Container manager 的 Projectdocker-compose功能部署 NetAlertX覆盖数据目录规划、compose 模板参数逐项解析、端口与卷路径调整以及 Synology 上最常见的宿主目录权限问题SSH 命令修复与任务计划程序 UI 修复两种方案。读完本文你将能在群晖上独立完成 NetAlertX 的容器化部署并理解其底层权限模型UID/GID 20211 与 root-priming 机制为后续 Subnets 与 Plugins 配置打好基础。NetAlertX 在 Synology 上的部署方式概览在 Synology 上安装 NetAlertX 有多种途径包括 SSH 登录后在命令行手动运行docker run。本指南选择Container manager - Project方式原因在于Project 基于 docker-compose可将镜像、网络、卷、环境变量等全部声明式地保存在一个 YAML 模板中便于版本化与日后维护群晖的 Container manager 对 Project 提供了可视化创建、构建与日志查看入口无需记忆大量 CLI 参数项目配置与数据库持久化在宿主机目录中升级镜像、重建容器时数据不丢失。部署完成后NetAlertX 容器将承担集中式网络设备发现与监控任务通过 ARP 扫描、DHCP 租约、各类导入插件持续发现设备、检测变更并产生通知。整个应用栈详见 entrypoint.sh 的启动逻辑包含 cron 调度器supercronic、php-fpm、nginx 与 Python 后端四个核心服务由 entrypoint 统一拉起并监控。第一步创建宿主机数据目录结构NetAlertX 的配置config与数据库db保存在宿主机目录中容器崩溃或重建后仍可恢复。请定期备份这两个目录。在文件管理器File Station中按以下步骤创建在希望存放数据的磁盘如volume1下新建一个父文件夹命名为netalertx在其内部创建db子文件夹存放 SQLite 数据库文件如app.db见 back/app.db在其内部创建config子文件夹存放应用配置app.conf见 back/app.conf 及设备启发式规则 device_heuristics_rules.json 等右键这两个子文件夹 - 属性记下各自的位置Location后续 compose 卷映射需要用到。提示目录结构并非必须预先创建——容器首次启动时 entrypoint 会自动补齐详见下文 root-priming 部分。但预先创建并记录位置可以让你清楚地知道数据落在宿主机的哪个路径便于备份与排错。第二步在 Container manager 中创建 Project打开Container manager - Project点击Create创建填写项目信息Project name项目名称netalertxPath路径例如/app_storage/netalertx以你第一步记录的位置为准各机器不同将下方 YAML 模板粘贴进编辑器services: netalertx: container_name: netalertx # use the below line if you want to test the latest dev image # image: ghcr.io/netalertx/netalertx-dev:latest image: ghcr.io/netalertx/netalertx:latest network_mode: host restart: unless-stopped cap_drop: # Drop all capabilities for enhanced security - ALL cap_add: # Re-add necessary capabilities - NET_RAW - NET_ADMIN - NET_BIND_SERVICE - CHOWN - SETUID - SETGID volumes: - /app_storage/netalertx:/data # to sync with system time - /etc/localtime:/etc/localtime:ro tmpfs: # All writable runtime state resides under /tmp; comment out to persist logs between restarts - /tmp:uid20211,gid20211,mode1700,rw,noexec,nosuid,nodev,async,noatime,nodiratime environment: - PORT20211将volumes中的/app_storage/netalertx替换为你自己的路径例如/volume1/app_storage/netalertx并注释掉不需要的挂载行volumes: - /volume1/app_storage/netalertx:/data可选若20211端口已被占用将PORT改为其它未使用端口点击构建Build并等待镜像拉取与容器启动。compose 模板关键参数解析这份模板并非随机拼凑每一项都与容器运行机制强相关结合仓库实际配置逐一说明参数值作用与依据network_modehost主机网络模式是 ARP 扫描等 L2 扫描插件能够发现局域网设备的必要条件。仓库 docker-compose.yml 同样采用 host 模式并附注 Use host networking for ARP scanning and other servicescap_drop: ALLcap_addNET_RAW、NET_ADMIN、NET_BIND_SERVICE、CHOWN、SETUID、SETGID先丢弃全部 Linux capabilities再按需回加最小化容器权限。其中NET_ADMIN供 ARP 扫描使用NET_RAW供原始套接字操作使用NET_BIND_SERVICE用于绑定特权端口如 nbtscan——详见 docs/FILE_PERMISSIONS.md 的示例注释volumes/xxx/netalertx:/data将宿主机目录挂载为容器内的/data其中/data/config存配置、/data/db存数据库。挂载/etc/localtime:/etc/localtime:ro用于与系统时间同步tmpfs/tmp:uid20211,gid20211,mode1700,...将/tmp挂载为内存文件系统容纳日志、API 缓存、nginx/PHP 运行时目录等所有可写运行时状态。mode1700为安全权限仅属主可写可进。注释掉该行则日志等会持久化在磁盘容器内重启丢失environment.PORT20211前端 Web UI 监听端口访问地址为Synology URL:20211关于可写路径的完整清单可参考 docs/FILE_PERMISSIONS.md 中的 Writable Paths 表格/data/config应用配置、/data/db数据库、/tmp/log日志、/tmp/apiAPI 缓存、/tmp/nginx/active-confignginx 配置覆盖、/tmp/runnginx 与 PHP 运行时目录等。将/tmp整体挂为tmpfs即可自动覆盖其全部子目录。启动后初始化构建完成后浏览器访问Synology URL:20211或自定义端口进入 Web UI。随后按以下顺序完成初始化配置阅读并配置 Subnets指定SCAN_SUBNETS网络与网段含接口与 VLAN 参数这是设备发现的根基阅读并配置 Plugins启用所需的扫描/导入/发布插件按需阅读 Initial Setup、Device Management 等文档完善后续设置。注意SCAN_SUBNETS等设置建议通过 Web UI 的 Settings 页面配置以保证app.conf格式正确仅在确有必要时才直接编辑back/app.conf。第三步解决宿主目录权限问题Synology 上最常见的部署失败现象是容器启动时报 Permission Denied根源通常是宿主目录由之前的 root 容器或其它 UID 创建而 NetAlertX 容器内部以专用低权限用户netalertxUID 20211 / GID 20211运行无法写入那些目录。背景NetAlertX 运行在基于 Alpine 的只读容器中所有可写路径要么是挂载的持久卷、要么是 tmpfs。容器内文件统一归20211:20211所有宿主机上表现为这些文件属于20211:20211。完整说明见 docs/FILE_PERMISSIONS.md。方式一SSH 命令行修复推荐SSH 登录你的 Synology 后执行以下两条命令将/db与/config所在父目录local_data_dir替换为你的实际路径的属主改为 20211 并放开访问权限sudo chown -R 20211:20211 /local_data_dir sudo chmod -R arwx /local_data_dir执行后重启容器即可正常读写数据库与配置文件。方式二通过群晖 UI 的任务计划程序执行如果你不方便使用 SSH可将上述命令放入一次性计划任务中执行打开控制面板 - 任务计划程序点击创建 - 计划的任务 - 用户定义的脚本为任务命名在计划中指定仅运行一次例如 5 分钟后执行给自己留出保存时间在任务设置中粘贴上面 SSH 小节的两条命令并将/local_data_dir替换为你/db与/config文件夹的父目录等待任务执行时间到达验证文件属主已变为20211:20211。底层机制root-priming 权限修复为什么手动chown到 20211 是标准答案因为容器在 root 启动阶段会主动做同样的事情。仓库中的 root-entrypoint.sh 是容器的root 预热入口若容器以 root 启动它会先执行_prime_paths()对/data、/tmp及各运行时子目录执行chown -R ${PUID}:${PGID}默认即 20211:20211随后通过su-exec降权到目标 UID/GID 再执行真正的 entrypoint.sh该脚本注释中明确提到这类宿主卷属主/模式问题在 Synology 这类 Docker 卷 copy-up 能力受限的设备上很常见如果宿主目录是 root 创建、无法被降权后的进程写入就会出现 Permission Denied——此时宿主机侧chown 20211:20211正是补齐这一环的关键另外 PUID_PGID_SECURITY.md 说明PUID/PGID环境变量只接受纯数字任何非数字值如注入式20211 rm -rf /都会被判定为畸形输入并直接致命退出这是 root 阶段防注入的安全措施。因此不要在 compose 中给这两个变量传非数字值。如果你不想在宿主机手工改属主也可以按 docs/FILE_PERMISSIONS.md 的说明以 root--user 0临时运行一次容器让 entrypoint 自动执行chown -R 20211:20211修复所有卷的属主后 CtrlC 停止再按正常 compose 启动。但需注意运行 root 容器期间务必保持PUID/PGID为纯数字环境变量且 root 模式仅用于修复不应长期使用可参阅 PUID/PGID 安全说明。常见问题与排错指引端口被占用若20211已被其它套件占用修改 compose 中environment.PORT为未使用端口重建容器后访问新端口可参考 WEB_UI_PORT_DEBUG 排查。扫描不到设备network_mode: host是前提若仍无结果在容器内执行sudo arp-scan --interfaceeth0 192.168.1.0/24验证网络可达性并按 Subnets 中的排查清单检查接口名、VLAN 与防火墙限制。仍遇权限报错复查宿主目录属主是否为20211:20211、chmod是否生效并对照 Permission overview guide 逐一核对可写路径清单。数据备份netalertx父目录含db与config是 NetAlertX 的全部持久状态建议纳入群晖 Hyper Backup 或定期复制备份。总结在 Synology 上部署 NetAlertX 的核心流程可归纳为三步规划并记录netalertx/db与netalertx/config宿主机目录 → 在 Container manager 的 Project 中粘贴并定制compose 模板、调整卷路径与端口 → 遇到权限问题时用 SSH 或任务计划程序将目录属主修正为20211:20211。理解容器只读 20211 用户 root-priming 修复的安全模型后你就能在群晖上稳定运行 NetAlertX并继续深入 Subnets子网/接口/VLAN 配置与 Plugins扫描与通知插件完成整套设备发现与告警体系。赞分享后端网络运维数据可视化【免费下载链接】NetAlertXCentralized network visibility and continuous asset discovery. Monitor devices, detect change, and stay aware across distributed networks.项目地址https://gitcode.com/gh_mirrors/ne/NetAlertX点击查看免费下载相关推荐MediaCrawler 上手指南三步跑通第一次社媒数据采集MediaCrawler 上手指南三步跑通第一次社媒数据采集 MediaCrawler 是一款免费开源的多平台社媒数据采集工具小红书、抖音、快手、B站、微博网页爬虫数据工程Perkeep 在群晖 Synology NAS 上的部署实战DSM 6.x 安装、反向代理与配置详解Perkeep 在群晖 Synology NAS 上的部署实战DSM 6.x 安装、反向代理与配置详解 本指南以 Perkeep 官方文档 doc/synol后端数据存储在群晖NAS上部署Tandoor Recipes的完整指南在群晖NAS上部署Tandoor Recipes的完整指南 前言 Tandoor Recipes是一款开源的食谱管理应用可以帮助用户高效地组织和管理个人食谱。后端前端AI 应用上一篇3分钟掌握猫抓扩展网页视频资源嗅探下载完全指南下一篇PhysicsLayout实战创建10个惊艳的Android物理动画效果创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考