ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Scanopy 自动化运维:如何设置定时发现和报告生成

Scanopy 自动化运维:如何设置定时发现和报告生成 Scanopy 自动化运维如何设置定时发现和报告生成【免费下载链接】scanopyNetwork diagrams that update themselves项目地址: https://gitcode.com/gh_mirrors/ne/scanopyScanopy 是一款开源的网络文档自动化工具用会自我更新的网络图替代手工绘制。本教程带你从零完成Scanopy 定时发现与自动报告生成配置让守护进程按 cron 计划扫描网络每次扫描后自动对比变化并把新增主机、下线设备和服务变更以摘要邮件推送给团队——无需再打开 draw.io 重画图纸。为什么用 Scanopy 做自动化网络文档传统网络拓扑图最大的痛点是画完即过时。Scanopy 的思路是一台轻量守护进程daemon定期扫描真实环境持续维护基础设施模型一次扫描自动产出四个视图视图内容适合谁L2 物理每台交换机、每个端口、每条链路网络工程师L3 逻辑子网划分与跨网段连接架构评审工作负载裸机 → 虚拟化 → 容器平台 / DevOps应用依赖服务及其依赖关系运维 / MSP5分钟快速部署Docker 一键启动 Scanopy自动化配置的前提是把服务跑起来Scanopy 提供官方 docker-compose.yml两条命令即可启动docker compose up -d然后访问http://你的服务器IP:60072创建账号、安装守护进程等待第一次发现完成即可。自托管版本基于 AGPL-3.0 完全免费见 LICENSE.md。三步设置定时发现Scanopy 的定时发现基于cron 表达式调度支持 IANA 时区调度器随服务端启动自动加载所有已启用的计划任务核心逻辑见 backend/src/server/discovery/service/scheduling.rs。第 1 步创建发现任务在 UI 的Discovery面板点击新建选择目标网络与运行扫描的守护进程。推荐使用Unified统一发现类型它同时覆盖自报告、网络扫描和 Docker 容器检测类型定义见 backend/src/server/discovery/impl/types.rs并可为本次任务单独配置扫描性能参数。第 2 步配置计划时间将运行方式从 AdHoc手动切换为Scheduled此时界面提供两种配置模式见 DiscoveryScheduleForm.svelte日历选择模式新手推荐点选星期几 填写时间界面自动生成 cron 表达式原始 Cron 模式点击Edit as Cron直接输入 6 段 cron 表达式含秒位适合精细控制。别忘了在时区下拉框中选择本地时区不填则按 UTC 执行。常用表达式参考需求Cron 表达式每天 03:00 扫描0 0 3 * * *每周一 02:30 扫描0 30 2 * * 1每 30 分钟扫描0 */30 * * * *第 3 步保存并确认生效保存后服务端 cron 调度器会注册该任务每次触发前它还会检查守护进程是否在线——离线或处于 standby 状态的任务会自动跳过而非报错。任务的实际运行记录last_run 列会在 Discovery → Scheduled 标签页实时展示方便你确认自动化真的在工作。 注意Free 套餐的组织中定时任务会被自动暂停界面会显示暂停警告升级后计划配置会原样恢复执行。开启自动报告生成发现摘要邮件Scanopy 内置了报告生成引擎每次发现会话结束后摘要服务会基于时间窗口对比本次扫描的实体变化只有当网络确实发生了值得关注的变化时才生成报告空摘要会被自动抑制核心实现见 backend/src/server/digest/service.rs。报告里有什么每封Discovery scan summary邮件包含邮件模板见 discovery_digest.rs✅New hosts discovered—— 本次新发现的主机⚠️Stale hosts—— 在窗口期内未被观测到可能下线的主机Hosts with changes—— 服务、端口、IP 或接口发生变更的主机VLANs detected / Stale VLANs—— 新增与消失的 VLAN 本次扫描覆盖的子网列表报告还附带该网络的陈旧判定阈值说明保证邮件结论与界面徽章口径一致。如何开启与关闭接收进入Settings → Email标签页打开discovery_digest开关即可前端实现见 EmailTab.svelte。报告只投递给对该网络有访问权限且开启了此开关的用户——多角色团队各取所需互不干扰。快照为关键时刻存档网络状态定时扫描解决持续更新快照则解决时间点留档。在拓扑页手动触发即可把当前网络的完整状态固化为一个时间点后端实现见 backend/src/server/snapshots/service.rs前端交互见 ui/src/lib/features/snapshots/queries.ts。典型用法变更前拍快照出问题可回溯对比每月定期存档作为变更审计的基线。设置陈旧窗口让报告更准确设备是否离线由每个网络独立的Stale After小时参数决定。在Networks → 编辑网络中调整见 NetworkEditModal.svelte生产核心网建议 24 小时快速发现下线设备测试 / 家庭网络建议 7×24 小时以上避免误报噪音。该窗口同时作用于库存列表、拓扑徽章与摘要报告改一处三处口径统一。定时发现 5 个最佳实践错峰运行把 cron 安排在凌晨低峰期如0 0 3 * * *避开业务高峰时区设为本地跨时区团队不要依赖 UTC否则每天 9 点会变成凌晨 1 点多网段部署多个守护进程守护进程可分布在各网段配合子网过滤subnet_ids缩小扫描范围加快多站点拓扑收敛按网络粒度配陈旧窗口核心网和边缘网分开设置报告噪音立降每周检查 Scheduled 标签页确认 last_run 在更新、守护进程在线比事后救火省心。小结Scanopy 的自动化闭环非常清晰定时发现cron 调度守护进程扫描→模型持续更新四视图自动重绘→报告自动生成变化摘要邮件→快照留档关键节点可回溯。整套机制完全开箱即用配合本教程的 5 个最佳实践你的网络文档将从季度大修变成每天自动保鲜。【免费下载链接】scanopyNetwork diagrams that update themselves项目地址: https://gitcode.com/gh_mirrors/ne/scanopy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进