[{"data":1,"prerenderedAt":1572},["ShallowReactive",2],{"navigation":3,"blogNavigation":232,"page-\u002Fdocs\u002Fswitchops%E4%BA%A4%E6%8D%A2%E6%9C%BA%E5%B7%A1%E6%A3%80\u002Fdevice-config":418,"\u002Fdocs\u002Fswitchops%E4%BA%A4%E6%8D%A2%E6%9C%BA%E5%B7%A1%E6%A3%80\u002Fdevice-config-surround":1567},[4],{"title":5,"path":6,"stem":7,"children":8,"page":57},"Docs","\u002Fdocs","docs",[9,176,184],{"title":10,"path":11,"stem":12,"children":13,"icon":16},"简单文档","\u002Fdocs\u002F简单文档","docs\u002F1.简单文档\u002F1.index",[14,17,22,58,63,166,171],{"title":15,"path":11,"stem":12,"icon":16},"入门简介","lucide-house",{"title":18,"path":19,"stem":20,"icon":21},"安装与开发","\u002Fdocs\u002F简单文档\u002Finstallation","docs\u002F1.简单文档\u002F2.installation","lucide-play",{"title":23,"path":24,"stem":25,"children":26,"page":57},"开始写作","\u002Fdocs\u002F简单文档\u002Fwriting","docs\u002F1.简单文档\u002F3.writing",[27,32,37,42,47,52],{"title":28,"path":29,"stem":30,"icon":31},"Markdown","\u002Fdocs\u002F简单文档\u002Fwriting\u002Fmarkdown","docs\u002F1.简单文档\u002F3.writing\u002F1.markdown","simple-icons:markdown",{"title":33,"path":34,"stem":35,"icon":36},"页面 frontmatter","\u002Fdocs\u002F简单文档\u002Fwriting\u002Fpages","docs\u002F1.简单文档\u002F3.writing\u002F2.pages","lucide:file-text",{"title":38,"path":39,"stem":40,"icon":41},"目录与文件命名","\u002Fdocs\u002F简单文档\u002Fwriting\u002Ffolders","docs\u002F1.简单文档\u002F3.writing\u002F3.folders","lucide:folder",{"title":43,"path":44,"stem":45,"icon":46},"单页面示例","\u002Fdocs\u002F简单文档\u002Fwriting\u002Ffull-page-example","docs\u002F1.简单文档\u002F3.writing\u002F4.full-page-example","lucide:layout-template",{"title":48,"path":49,"stem":50,"icon":51},"内容检查与测试","\u002Fdocs\u002F简单文档\u002Fwriting\u002Ftest","docs\u002F1.简单文档\u002F3.writing\u002F5.test","lucide:shield-check",{"title":53,"path":54,"stem":55,"icon":56},"在文章中使用组件","\u002Fdocs\u002F简单文档\u002Fwriting\u002Fmdc-content","docs\u002F1.简单文档\u002F3.writing\u002F6.mdc-content","lucide-blocks",false,{"title":59,"path":60,"stem":61,"icon":62},"部署服务","\u002Fdocs\u002F简单文档\u002Fdeployment","docs\u002F1.简单文档\u002F4.deployment","lucide:cloud",{"title":64,"path":65,"stem":66,"children":67,"page":57},"组件特性","\u002Fdocs\u002F简单文档\u002Fcomponents","docs\u002F1.简单文档\u002F5.components",[68,73,77,81,85,89,93,97,101,105,110,114,118,122,126,131,136,141,146,150,154,158,162],{"title":69,"path":70,"stem":71,"icon":72},"常用组件","\u002Fdocs\u002F简单文档\u002Fcomponents\u002Fapi","docs\u002F1.简单文档\u002F5.components\u002F1.API","lucide-component",{"title":74,"path":75,"stem":76},"Alert","\u002Fdocs\u002F简单文档\u002Fcomponents\u002Falert","docs\u002F1.简单文档\u002F5.components\u002Falert",{"title":78,"path":79,"stem":80},"Badge","\u002Fdocs\u002F简单文档\u002Fcomponents\u002Fbadge","docs\u002F1.简单文档\u002F5.components\u002Fbadge",{"title":82,"path":83,"stem":84},"Button Link","\u002Fdocs\u002F简单文档\u002Fcomponents\u002Fbutton-link","docs\u002F1.简单文档\u002F5.components\u002Fbutton-link",{"title":86,"path":87,"stem":88},"Callout","\u002Fdocs\u002F简单文档\u002Fcomponents\u002Fcallout","docs\u002F1.简单文档\u002F5.components\u002Fcallout",{"title":90,"path":91,"stem":92},"Card","\u002Fdocs\u002F简单文档\u002Fcomponents\u002Fcard","docs\u002F1.简单文档\u002F5.components\u002Fcard",{"title":94,"path":95,"stem":96},"Card Group","\u002Fdocs\u002F简单文档\u002Fcomponents\u002Fcard-group","docs\u002F1.简单文档\u002F5.components\u002Fcard-group",{"title":98,"path":99,"stem":100},"Code Group","\u002Fdocs\u002F简单文档\u002Fcomponents\u002Fcode-group","docs\u002F1.简单文档\u002F5.components\u002Fcode-group",{"title":102,"path":103,"stem":104},"Code Tree","\u002Fdocs\u002F简单文档\u002Fcomponents\u002Fcode-tree","docs\u002F1.简单文档\u002F5.components\u002Fcode-tree",{"title":106,"path":107,"stem":108,"icon":109},"博客与文档内容块","\u002Fdocs\u002F简单文档\u002Fcomponents\u002Fcontent-blocks","docs\u002F1.简单文档\u002F5.components\u002Fcontent-blocks","lucide-panels-top-left",{"title":111,"path":112,"stem":113},"Field","\u002Fdocs\u002F简单文档\u002Fcomponents\u002Ffield","docs\u002F1.简单文档\u002F5.components\u002Ffield",{"title":115,"path":116,"stem":117},"Field Group","\u002Fdocs\u002F简单文档\u002Fcomponents\u002Ffield-group","docs\u002F1.简单文档\u002F5.components\u002Ffield-group",{"title":119,"path":120,"stem":121},"File Tree","\u002Fdocs\u002F简单文档\u002Fcomponents\u002Ffile-tree","docs\u002F1.简单文档\u002F5.components\u002Ffile-tree",{"title":123,"path":124,"stem":125},"Icon","\u002Fdocs\u002F简单文档\u002Fcomponents\u002Ficon","docs\u002F1.简单文档\u002F5.components\u002Ficon",{"title":127,"path":128,"stem":129,"icon":130},"数据、API 与阅读交互组件","\u002Fdocs\u002F简单文档\u002Fcomponents\u002Finteractive-blocks","docs\u002F1.简单文档\u002F5.components\u002Finteractive-blocks","lucide-table-properties",{"title":132,"path":133,"stem":134,"icon":135},"进阶组件交互演示","\u002Fdocs\u002F简单文档\u002Fcomponents\u002Finteractive-showcase","docs\u002F1.简单文档\u002F5.components\u002Finteractive-showcase","lucide-sliders-horizontal",{"title":137,"path":138,"stem":139,"icon":140},"MDC 语法与组件注册","\u002Fdocs\u002F简单文档\u002Fcomponents\u002Fmdc-guide","docs\u002F1.简单文档\u002F5.components\u002Fmdc-guide","lucide-file-code",{"title":142,"path":143,"stem":144,"icon":145},"MDC 组件交互演示","\u002Fdocs\u002F简单文档\u002Fcomponents\u002Fmdc-showcase","docs\u002F1.简单文档\u002F5.components\u002Fmdc-showcase","lucide-mouse-pointer-click",{"title":147,"path":148,"stem":149},"Playground","\u002Fdocs\u002F简单文档\u002Fcomponents\u002Fplayground","docs\u002F1.简单文档\u002F5.components\u002Fplayground",{"title":151,"path":152,"stem":153},"Read More","\u002Fdocs\u002F简单文档\u002Fcomponents\u002Fread-more","docs\u002F1.简单文档\u002F5.components\u002Fread-more",{"title":155,"path":156,"stem":157},"Stack","\u002Fdocs\u002F简单文档\u002Fcomponents\u002Fstack","docs\u002F1.简单文档\u002F5.components\u002Fstack",{"title":159,"path":160,"stem":161},"Steps","\u002Fdocs\u002F简单文档\u002Fcomponents\u002Fsteps","docs\u002F1.简单文档\u002F5.components\u002Fsteps",{"title":163,"path":164,"stem":165},"Tabs","\u002Fdocs\u002F简单文档\u002Fcomponents\u002Ftabs","docs\u002F1.简单文档\u002F5.components\u002Ftabs",{"title":167,"path":168,"stem":169,"icon":170},"功能与路线图","\u002Fdocs\u002F简单文档\u002F功能与路线图","docs\u002F1.简单文档\u002F6.功能与路线图","lucide:map",{"title":172,"path":173,"stem":174,"icon":175},"Nuxt Studio 现状与运维说明","\u002Fdocs\u002F简单文档\u002Fnuxt-studio-upgrade-plan","docs\u002F1.简单文档\u002F7.nuxt-studio-upgrade-plan","simple-icons:nuxtdotjs",{"title":177,"path":178,"stem":179,"children":180,"icon":183},"无人自助系统","\u002Fdocs\u002F无人自助系统","docs\u002F2.无人自助系统\u002F1.index",[181],{"title":182,"path":178,"stem":179,"icon":183},"介绍","simple-icons:opencollective",{"title":185,"path":186,"stem":187,"children":188,"icon":191},"SwitchOps 交换机巡检","\u002Fdocs\u002Fswitchops交换机巡检","docs\u002F3.SwitchOps交换机巡检\u002F1.index",[189,192,197,202,207,212,217,222,227],{"title":190,"path":186,"stem":187,"icon":191},"产品简介","lucide:house",{"title":193,"path":194,"stem":195,"icon":196},"快速开始","\u002Fdocs\u002Fswitchops交换机巡检\u002Fquick-start","docs\u002F3.SwitchOps交换机巡检\u002F2.quick-start","lucide:rocket",{"title":198,"path":199,"stem":200,"icon":201},"设备清单配置","\u002Fdocs\u002Fswitchops交换机巡检\u002Fdevice-config","docs\u002F3.SwitchOps交换机巡检\u002F3.device-config","lucide:list-tree",{"title":203,"path":204,"stem":205,"icon":206},"图形界面使用","\u002Fdocs\u002Fswitchops交换机巡检\u002Fgui-guide","docs\u002F3.SwitchOps交换机巡检\u002F4.gui-guide","lucide:monitor",{"title":208,"path":209,"stem":210,"icon":211},"命令行使用","\u002Fdocs\u002Fswitchops交换机巡检\u002Fcli-guide","docs\u002F3.SwitchOps交换机巡检\u002F5.cli-guide","lucide:square-terminal",{"title":213,"path":214,"stem":215,"icon":216},"报告与历史数据","\u002Fdocs\u002Fswitchops交换机巡检\u002Freports-history","docs\u002F3.SwitchOps交换机巡检\u002F6.reports-history","lucide:file-chart-column",{"title":218,"path":219,"stem":220,"icon":221},"高级配置","\u002Fdocs\u002Fswitchops交换机巡检\u002Fadvanced-config","docs\u002F3.SwitchOps交换机巡检\u002F7.advanced-config","lucide:settings",{"title":223,"path":224,"stem":225,"icon":226},"Windows 打包部署","\u002Fdocs\u002Fswitchops交换机巡检\u002Fwindows-deployment","docs\u002F3.SwitchOps交换机巡检\u002F8.windows-deployment","lucide:package",{"title":228,"path":229,"stem":230,"icon":231},"故障排查与安全","\u002Fdocs\u002Fswitchops交换机巡检\u002Ftroubleshooting-security","docs\u002F3.SwitchOps交换机巡检\u002F9.troubleshooting-security","lucide:shield-alert",[233],{"title":234,"path":235,"stem":236,"children":237,"page":57},"Blog","\u002Fblog","blog",[238,401,410],{"title":239,"path":240,"stem":241,"children":242,"page":57},"技术栈","\u002Fblog\u002F技术栈","blog\u002F1.技术栈",[243,248,253,258,262,267,271,276,280,284,289,294,299,303,307,311,315,319,324,328,333,338,343,347,352,357,362,367,372,376,381,386,391,396],{"title":244,"path":245,"stem":246,"icon":247},"最近给文档站补了些什么","\u002Fblog\u002F技术栈\u002Festel-docs-recent-updates","blog\u002F1.技术栈\u002F968.estel-docs-recent-updates","lucide:blocks",{"title":249,"path":250,"stem":251,"icon":252},"国产化终端能上办公网，却登录不了 OA：一次网络准入故障排查","\u002Fblog\u002F技术栈\u002F国产化终端办公oa网络准入故障排查","blog\u002F1.技术栈\u002F969.国产化终端办公OA网络准入故障排查","lucide:network",{"title":254,"path":255,"stem":256,"icon":257},"准备新的插件","\u002Fblog\u002F技术栈\u002F新的插件","blog\u002F1.技术栈\u002F970.新的插件","simple-icons:debian",{"title":259,"path":260,"stem":261,"icon":257},"防于未然，先固不破 — Debian 12 快速加固实战","\u002Fblog\u002F技术栈\u002F服务器加固实战","blog\u002F1.技术栈\u002F971.服务器加固实战",{"title":263,"path":264,"stem":265,"icon":266},"nmap高级应用技巧-实战","\u002Fblog\u002F技术栈\u002Fnmap高级应用技巧-实战","blog\u002F1.技术栈\u002F972.nmap高级应用技巧-实战","simple-icons:openstreetmap",{"title":268,"path":269,"stem":270,"icon":266},"nmap高级应用技巧-NSE","\u002Fblog\u002F技术栈\u002Fnmap高级应用技巧-nse","blog\u002F1.技术栈\u002F973.nmap高级应用技巧-NSE",{"title":272,"path":273,"stem":274,"icon":275},"部分vue组件语法预览","\u002Fblog\u002F技术栈\u002F部分组件语法展示","blog\u002F1.技术栈\u002F974.部分组件语法展示","simple-icons:vuedotjs",{"title":277,"path":278,"stem":279,"icon":175},"新的文档渲染样式","\u002Fblog\u002F技术栈\u002F新的文档渲染样式","blog\u002F1.技术栈\u002F975.新的文档渲染样式",{"title":281,"path":282,"stem":283,"icon":175},"Nuxt 微信分享接口","\u002Fblog\u002F技术栈\u002Fnuxt-微信分享接口","blog\u002F1.技术栈\u002F976.Nuxt 微信分享接口",{"title":285,"path":286,"stem":287,"icon":288},"AI复合应用 合同审查","\u002Fblog\u002F技术栈\u002Fai复合应用-合同审查","blog\u002F1.技术栈\u002F978.AI复合应用 合同审查","simple-icons:openai",{"title":290,"path":291,"stem":292,"icon":293},"Kali 安装 GVM","\u002Fblog\u002F技术栈\u002Fkali-安装-gvm","blog\u002F1.技术栈\u002F979.Kali 安装 GVM","simple-icons:kalilinux",{"title":295,"path":296,"stem":297,"icon":298},"GPT-5","\u002Fblog\u002F技术栈\u002Fgpt5","blog\u002F1.技术栈\u002F980.GPT5","simple-icons:powershell",{"title":300,"path":301,"stem":302,"icon":288},"使用 AI 守护内网安全","\u002Fblog\u002F技术栈\u002F使用-ai-守护内网安全","blog\u002F1.技术栈\u002F981.使用 AI 守护内网安全",{"title":304,"path":305,"stem":306,"icon":266},"系统安全扫描工具命令集合","\u002Fblog\u002F技术栈\u002F系统安全扫描工具命令集合","blog\u002F1.技术栈\u002F982.系统安全扫描工具命令集合",{"title":308,"path":309,"stem":310},"用 MDC 组织技术文章","\u002Fblog\u002F技术栈\u002Fmdc-article-example","blog\u002F1.技术栈\u002F983.mdc-article-example",{"title":312,"path":313,"stem":314,"icon":293},"系统安全综合评估报告","\u002Fblog\u002F技术栈\u002F系统安全综合评估报告","blog\u002F1.技术栈\u002F983.系统安全综合评估报告",{"title":316,"path":317,"stem":318},"用交互组件写一份技术说明","\u002Fblog\u002F技术栈\u002Fmdc-interactive-example","blog\u002F1.技术栈\u002F984.mdc-interactive-example",{"title":320,"path":321,"stem":322,"icon":323},"树莓派安装 Kali Linux","\u002Fblog\u002F技术栈\u002F树莓派安装-kali-linux","blog\u002F1.技术栈\u002F984.树莓派安装 Kali Linux","simple-icons:raspberrypi",{"title":325,"path":326,"stem":327,"icon":175},"Nuxt UI Pro","\u002Fblog\u002F技术栈\u002Fnuxt-ui-pro","blog\u002F1.技术栈\u002F985.Nuxt UI Pro",{"title":329,"path":330,"stem":331,"icon":332},"Supabase 阿里云短信","\u002Fblog\u002F技术栈\u002Fsupabase-阿里云短信","blog\u002F1.技术栈\u002F986.Supabase 阿里云短信","simple-icons:alibabacloud",{"title":334,"path":335,"stem":336,"icon":337},"Coolify","\u002Fblog\u002F技术栈\u002Fcoolify","blog\u002F1.技术栈\u002F987.Coolify","simple-icons:chai",{"title":339,"path":340,"stem":341,"icon":342},"Python 代码规范","\u002Fblog\u002F技术栈\u002Fpython-代码规范","blog\u002F1.技术栈\u002F988.Python 代码规范","simple-icons:python",{"title":344,"path":345,"stem":346,"icon":175},"Nuxt3 代码规范","\u002Fblog\u002F技术栈\u002Fnuxt3-代码规范","blog\u002F1.技术栈\u002F989.Nuxt3 代码规范",{"title":348,"path":349,"stem":350,"icon":351},"Linux 系统 Swap 分区配置指南","\u002Fblog\u002F技术栈\u002Flinux-系统-swap-分区配置指南","blog\u002F1.技术栈\u002F990.Linux 系统 Swap 分区配置指南","simple-icons:linux",{"title":353,"path":354,"stem":355,"icon":356},"从Supabase迁移到Appwrite","\u002Fblog\u002F技术栈\u002F从supabase迁移到appwrite","blog\u002F1.技术栈\u002F991.从Supabase迁移到Appwrite","simple-icons:supabase",{"title":358,"path":359,"stem":360,"icon":361},"AppWrite 项目资源占用情况","\u002Fblog\u002F技术栈\u002Fappwrite-项目资源占用情况","blog\u002F1.技术栈\u002F992.AppWrite 项目资源占用情况","simple-icons:appwrite",{"title":363,"path":364,"stem":365,"icon":366},"Docker 里配置hosts","\u002Fblog\u002F技术栈\u002Fdocker-里配置hosts","blog\u002F1.技术栈\u002F993.Docker 里配置hosts","simple-icons:docker",{"title":368,"path":369,"stem":370,"icon":371},"MySQL 中如何忽略表名的大小写","\u002Fblog\u002F技术栈\u002Fmysql-中如何忽略表名的大小写","blog\u002F1.技术栈\u002F994.MySQL 中如何忽略表名的大小写","simple-icons:mysql",{"title":373,"path":374,"stem":375,"icon":257},"Debian 12 安装nodejs","\u002Fblog\u002F技术栈\u002Fdebian-12-安装nodejs","blog\u002F1.技术栈\u002F995.Debian 12 安装nodejs",{"title":377,"path":378,"stem":379,"icon":380},"Dify + Supabase：打造带数据库的AI问答机器人","\u002Fblog\u002F技术栈\u002Fdify-supabase：打造带数据库的ai问答机器人","blog\u002F1.技术栈\u002F996.Dify + Supabase：打造带数据库的AI问答机器人","simple-icons:reactbootstrap",{"title":382,"path":383,"stem":384,"icon":385},"安装 VS Code到浏览器 -- Code Server","\u002Fblog\u002F技术栈\u002F安装-vs-code到浏览器-code-server-copy","blog\u002F1.技术栈\u002F996.安装 VS Code到浏览器 -- Code Server copy","simple-icons:visualstudiocode",{"title":387,"path":388,"stem":389,"icon":390},"Debian 12 云服务器初始安全设置与优化指南","\u002Fblog\u002F技术栈\u002Fdebian-12-云服务器初始安全设置与优化指南","blog\u002F1.技术栈\u002F997.Debian 12 云服务器初始安全设置与优化指南","lucide-server",{"title":392,"path":393,"stem":394,"icon":395},"Iperf3 万兆网络打流测试指南","\u002Fblog\u002F技术栈\u002Fiperf3-万兆网络打流测试指南","blog\u002F1.技术栈\u002F998.Iperf3 万兆网络打流测试指南","lucide-network",{"title":397,"path":398,"stem":399,"icon":400},"GROK3 and Deepseek","\u002Fblog\u002F技术栈\u002Fgrok3-and-deepseek","blog\u002F1.技术栈\u002F999.GROK3-and-Deepseek","lucide-brain",{"title":402,"path":403,"stem":404,"children":405,"page":57},"AI","\u002Fblog\u002Fai","blog\u002F2.AI",[406],{"title":407,"path":408,"stem":409,"icon":337},"AI最佳实践","\u002Fblog\u002Fai\u002Fai","blog\u002F2.AI\u002F01.AI",{"title":411,"path":412,"stem":413,"children":414,"page":57},"生活","\u002Fblog\u002F生活","blog\u002F3.生活",[415],{"title":411,"path":416,"stem":417,"icon":337},"\u002Fblog\u002F生活\u002F生活","blog\u002F3.生活\u002F01.生活",{"id":419,"title":198,"badges":420,"body":421,"date":420,"description":1559,"draft":57,"extension":1560,"fullpage":57,"icon":420,"links":420,"meta":1561,"navBadges":420,"navigation":1562,"path":199,"rawbody":1563,"seo":1564,"stem":200,"updated":1565,"__hash__":1566},"docs\u002Fdocs\u002F3.SwitchOps交换机巡检\u002F3.device-config.md",null,{"type":422,"value":423,"toc":1547},"minimark",[424,428,432,443,450,453,1035,1038,1041,1293,1308,1311,1316,1345,1349,1378,1383,1386,1416,1419,1422,1435,1438,1441,1446,1461,1493,1496,1514,1517,1520,1543],[425,426,427],"h2",{"id":427},"配置文件位置",[429,430,431],"p",{},"设备清单默认位于：",[433,434,440],"pre",{"className":435,"code":437,"language":438,"meta":439},[436],"language-text","config\u002Fdevices.yaml\n","text","",[441,442,437],"code",{"__ignoreMap":439},[429,444,445,446,449],{},"仓库提供 ",[441,447,448],{},"config\u002Fdevices.example.yaml"," 作为模板。真实文件包含登录凭据，默认不会被 Git 跟踪。",[425,451,452],{"id":452},"完整示例",[433,454,459],{"className":455,"code":456,"filename":457,"language":458,"meta":439,"style":439},"language-yaml shiki shiki-themes github-light github-light github-dark vitesse-light vitesse-dark catppuccin-latte catppuccin-mocha one-light one-dark-pro material-theme-lighter material-theme-palenight min-light min-dark","devices:\n  - name: \"核心交换机-S12704-3F-01\"\n    host: \"192.168.1.1\"\n    port: 22\n    vendor: \"huawei\"\n    model: \"S12704\"\n    device_type: \"huawei\"\n    username: \"inspect_user\"\n    password: \"请替换为真实密码\"\n    secret: \"\"\n    need_super: false\n    role: \"core\"\n    location: \"三楼机房\"\n    enabled: true\n    watch_interfaces:\n      - \"GigabitEthernet2\u002F0\u002F7\"\n      - \"GigabitEthernet2\u002F0\u002F8\"\n\n  - name: \"接入交换机-S5720-01\"\n    host: \"192.168.1.2\"\n    port: 22\n    vendor: \"huawei\"\n    model: \"S5720-52P-SI\"\n    device_type: \"huawei\"\n    username: \"inspect_user\"\n    password: \"请替换为真实密码\"\n    secret: \"请按实际情况填写\"\n    need_super: true\n    role: \"access\"\n    location: \"一楼弱电间\"\n    enabled: true\n\n  - name: \"汇聚交换机-H3C-S5130S-01\"\n    host: \"192.168.1.3\"\n    port: 22\n    vendor: \"h3c\"\n    model: \"S5130S-52S-HI\"\n    device_type: \"hp_comware\"\n    username: \"inspect_user\"\n    password: \"请替换为真实密码\"\n    secret: \"\"\n    need_super: false\n    role: \"aggregation\"\n    location: \"二楼弱电间\"\n    enabled: true\n","config\u002Fdevices.yaml","yaml",[441,460,461,474,498,513,525,540,555,569,584,599,610,622,637,652,663,671,684,696,703,719,733,742,755,769,782,795,808,822,831,845,859,868,873,889,903,912,926,940,954,967,980,989,998,1012,1026],{"__ignoreMap":439},[462,463,466,470],"span",{"class":464,"line":465},"line",1,[462,467,469],{"class":468},"sBSHF","devices",[462,471,473],{"class":472},"stNAY",":\n",[462,475,477,481,484,487,491,495],{"class":464,"line":476},2,[462,478,480],{"class":479},"sIQTy","  -",[462,482,483],{"class":468}," name",[462,485,486],{"class":472},":",[462,488,490],{"class":489},"sLXf0"," \"",[462,492,494],{"class":493},"sCtJb","核心交换机-S12704-3F-01",[462,496,497],{"class":489},"\"\n",[462,499,501,504,506,508,511],{"class":464,"line":500},3,[462,502,503],{"class":468},"    host",[462,505,486],{"class":472},[462,507,490],{"class":489},[462,509,510],{"class":493},"192.168.1.1",[462,512,497],{"class":489},[462,514,516,519,521],{"class":464,"line":515},4,[462,517,518],{"class":468},"    port",[462,520,486],{"class":472},[462,522,524],{"class":523},"s_Zq6"," 22\n",[462,526,528,531,533,535,538],{"class":464,"line":527},5,[462,529,530],{"class":468},"    vendor",[462,532,486],{"class":472},[462,534,490],{"class":489},[462,536,537],{"class":493},"huawei",[462,539,497],{"class":489},[462,541,543,546,548,550,553],{"class":464,"line":542},6,[462,544,545],{"class":468},"    model",[462,547,486],{"class":472},[462,549,490],{"class":489},[462,551,552],{"class":493},"S12704",[462,554,497],{"class":489},[462,556,558,561,563,565,567],{"class":464,"line":557},7,[462,559,560],{"class":468},"    device_type",[462,562,486],{"class":472},[462,564,490],{"class":489},[462,566,537],{"class":493},[462,568,497],{"class":489},[462,570,572,575,577,579,582],{"class":464,"line":571},8,[462,573,574],{"class":468},"    username",[462,576,486],{"class":472},[462,578,490],{"class":489},[462,580,581],{"class":493},"inspect_user",[462,583,497],{"class":489},[462,585,587,590,592,594,597],{"class":464,"line":586},9,[462,588,589],{"class":468},"    password",[462,591,486],{"class":472},[462,593,490],{"class":489},[462,595,596],{"class":493},"请替换为真实密码",[462,598,497],{"class":489},[462,600,602,605,607],{"class":464,"line":601},10,[462,603,604],{"class":468},"    secret",[462,606,486],{"class":472},[462,608,609],{"class":489}," \"\"\n",[462,611,613,616,618],{"class":464,"line":612},11,[462,614,615],{"class":468},"    need_super",[462,617,486],{"class":472},[462,619,621],{"class":620},"sle2E"," false\n",[462,623,625,628,630,632,635],{"class":464,"line":624},12,[462,626,627],{"class":468},"    role",[462,629,486],{"class":472},[462,631,490],{"class":489},[462,633,634],{"class":493},"core",[462,636,497],{"class":489},[462,638,640,643,645,647,650],{"class":464,"line":639},13,[462,641,642],{"class":468},"    location",[462,644,486],{"class":472},[462,646,490],{"class":489},[462,648,649],{"class":493},"三楼机房",[462,651,497],{"class":489},[462,653,655,658,660],{"class":464,"line":654},14,[462,656,657],{"class":468},"    enabled",[462,659,486],{"class":472},[462,661,662],{"class":620}," true\n",[462,664,666,669],{"class":464,"line":665},15,[462,667,668],{"class":468},"    watch_interfaces",[462,670,473],{"class":472},[462,672,674,677,679,682],{"class":464,"line":673},16,[462,675,676],{"class":479},"      -",[462,678,490],{"class":489},[462,680,681],{"class":493},"GigabitEthernet2\u002F0\u002F7",[462,683,497],{"class":489},[462,685,687,689,691,694],{"class":464,"line":686},17,[462,688,676],{"class":479},[462,690,490],{"class":489},[462,692,693],{"class":493},"GigabitEthernet2\u002F0\u002F8",[462,695,497],{"class":489},[462,697,699],{"class":464,"line":698},18,[462,700,702],{"emptyLinePlaceholder":701},true,"\n",[462,704,706,708,710,712,714,717],{"class":464,"line":705},19,[462,707,480],{"class":479},[462,709,483],{"class":468},[462,711,486],{"class":472},[462,713,490],{"class":489},[462,715,716],{"class":493},"接入交换机-S5720-01",[462,718,497],{"class":489},[462,720,722,724,726,728,731],{"class":464,"line":721},20,[462,723,503],{"class":468},[462,725,486],{"class":472},[462,727,490],{"class":489},[462,729,730],{"class":493},"192.168.1.2",[462,732,497],{"class":489},[462,734,736,738,740],{"class":464,"line":735},21,[462,737,518],{"class":468},[462,739,486],{"class":472},[462,741,524],{"class":523},[462,743,745,747,749,751,753],{"class":464,"line":744},22,[462,746,530],{"class":468},[462,748,486],{"class":472},[462,750,490],{"class":489},[462,752,537],{"class":493},[462,754,497],{"class":489},[462,756,758,760,762,764,767],{"class":464,"line":757},23,[462,759,545],{"class":468},[462,761,486],{"class":472},[462,763,490],{"class":489},[462,765,766],{"class":493},"S5720-52P-SI",[462,768,497],{"class":489},[462,770,772,774,776,778,780],{"class":464,"line":771},24,[462,773,560],{"class":468},[462,775,486],{"class":472},[462,777,490],{"class":489},[462,779,537],{"class":493},[462,781,497],{"class":489},[462,783,785,787,789,791,793],{"class":464,"line":784},25,[462,786,574],{"class":468},[462,788,486],{"class":472},[462,790,490],{"class":489},[462,792,581],{"class":493},[462,794,497],{"class":489},[462,796,798,800,802,804,806],{"class":464,"line":797},26,[462,799,589],{"class":468},[462,801,486],{"class":472},[462,803,490],{"class":489},[462,805,596],{"class":493},[462,807,497],{"class":489},[462,809,811,813,815,817,820],{"class":464,"line":810},27,[462,812,604],{"class":468},[462,814,486],{"class":472},[462,816,490],{"class":489},[462,818,819],{"class":493},"请按实际情况填写",[462,821,497],{"class":489},[462,823,825,827,829],{"class":464,"line":824},28,[462,826,615],{"class":468},[462,828,486],{"class":472},[462,830,662],{"class":620},[462,832,834,836,838,840,843],{"class":464,"line":833},29,[462,835,627],{"class":468},[462,837,486],{"class":472},[462,839,490],{"class":489},[462,841,842],{"class":493},"access",[462,844,497],{"class":489},[462,846,848,850,852,854,857],{"class":464,"line":847},30,[462,849,642],{"class":468},[462,851,486],{"class":472},[462,853,490],{"class":489},[462,855,856],{"class":493},"一楼弱电间",[462,858,497],{"class":489},[462,860,862,864,866],{"class":464,"line":861},31,[462,863,657],{"class":468},[462,865,486],{"class":472},[462,867,662],{"class":620},[462,869,871],{"class":464,"line":870},32,[462,872,702],{"emptyLinePlaceholder":701},[462,874,876,878,880,882,884,887],{"class":464,"line":875},33,[462,877,480],{"class":479},[462,879,483],{"class":468},[462,881,486],{"class":472},[462,883,490],{"class":489},[462,885,886],{"class":493},"汇聚交换机-H3C-S5130S-01",[462,888,497],{"class":489},[462,890,892,894,896,898,901],{"class":464,"line":891},34,[462,893,503],{"class":468},[462,895,486],{"class":472},[462,897,490],{"class":489},[462,899,900],{"class":493},"192.168.1.3",[462,902,497],{"class":489},[462,904,906,908,910],{"class":464,"line":905},35,[462,907,518],{"class":468},[462,909,486],{"class":472},[462,911,524],{"class":523},[462,913,915,917,919,921,924],{"class":464,"line":914},36,[462,916,530],{"class":468},[462,918,486],{"class":472},[462,920,490],{"class":489},[462,922,923],{"class":493},"h3c",[462,925,497],{"class":489},[462,927,929,931,933,935,938],{"class":464,"line":928},37,[462,930,545],{"class":468},[462,932,486],{"class":472},[462,934,490],{"class":489},[462,936,937],{"class":493},"S5130S-52S-HI",[462,939,497],{"class":489},[462,941,943,945,947,949,952],{"class":464,"line":942},38,[462,944,560],{"class":468},[462,946,486],{"class":472},[462,948,490],{"class":489},[462,950,951],{"class":493},"hp_comware",[462,953,497],{"class":489},[462,955,957,959,961,963,965],{"class":464,"line":956},39,[462,958,574],{"class":468},[462,960,486],{"class":472},[462,962,490],{"class":489},[462,964,581],{"class":493},[462,966,497],{"class":489},[462,968,970,972,974,976,978],{"class":464,"line":969},40,[462,971,589],{"class":468},[462,973,486],{"class":472},[462,975,490],{"class":489},[462,977,596],{"class":493},[462,979,497],{"class":489},[462,981,983,985,987],{"class":464,"line":982},41,[462,984,604],{"class":468},[462,986,486],{"class":472},[462,988,609],{"class":489},[462,990,992,994,996],{"class":464,"line":991},42,[462,993,615],{"class":468},[462,995,486],{"class":472},[462,997,621],{"class":620},[462,999,1001,1003,1005,1007,1010],{"class":464,"line":1000},43,[462,1002,627],{"class":468},[462,1004,486],{"class":472},[462,1006,490],{"class":489},[462,1008,1009],{"class":493},"aggregation",[462,1011,497],{"class":489},[462,1013,1015,1017,1019,1021,1024],{"class":464,"line":1014},44,[462,1016,642],{"class":468},[462,1018,486],{"class":472},[462,1020,490],{"class":489},[462,1022,1023],{"class":493},"二楼弱电间",[462,1025,497],{"class":489},[462,1027,1029,1031,1033],{"class":464,"line":1028},45,[462,1030,657],{"class":468},[462,1032,486],{"class":472},[462,1034,662],{"class":620},[429,1036,1037],{},"YAML 只能使用空格缩进，不要使用 Tab。",[425,1039,1040],{"id":1040},"字段说明",[1042,1043,1044,1063],"table",{},[1045,1046,1047],"thead",{},[1048,1049,1050,1054,1057,1060],"tr",{},[1051,1052,1053],"th",{},"字段",[1051,1055,1056],{},"必填",[1051,1058,1059],{},"默认值",[1051,1061,1062],{},"说明",[1064,1065,1066,1087,1101,1120,1134,1148,1166,1181,1195,1209,1226,1247,1261,1278],"tbody",{},[1048,1067,1068,1074,1077,1080],{},[1069,1070,1071],"td",{},[441,1072,1073],{},"name",[1069,1075,1076],{},"是",[1069,1078,1079],{},"无",[1069,1081,1082,1083,1086],{},"设备显示名称，也可以作为 CLI 的 ",[441,1084,1085],{},"--target","。",[1048,1088,1089,1094,1096,1098],{},[1069,1090,1091],{},[441,1092,1093],{},"host",[1069,1095,1076],{},[1069,1097,1079],{},[1069,1099,1100],{},"交换机管理 IP 或可解析的主机名。",[1048,1102,1103,1108,1110,1112],{},[1069,1104,1105],{},[441,1106,1107],{},"device_type",[1069,1109,1076],{},[1069,1111,1079],{},[1069,1113,1114,1115,1117,1118,1086],{},"Netmiko 平台类型；华为使用 ",[441,1116,537],{},"，华三使用 ",[441,1119,951],{},[1048,1121,1122,1127,1129,1131],{},[1069,1123,1124],{},[441,1125,1126],{},"username",[1069,1128,1076],{},[1069,1130,1079],{},[1069,1132,1133],{},"SSH 登录用户名。",[1048,1135,1136,1141,1143,1145],{},[1069,1137,1138],{},[441,1139,1140],{},"password",[1069,1142,1076],{},[1069,1144,1079],{},[1069,1146,1147],{},"SSH 登录密码。",[1048,1149,1150,1155,1158,1163],{},[1069,1151,1152],{},[441,1153,1154],{},"port",[1069,1156,1157],{},"否",[1069,1159,1160],{},[441,1161,1162],{},"22",[1069,1164,1165],{},"SSH 端口。",[1048,1167,1168,1173,1175,1178],{},[1069,1169,1170],{},[441,1171,1172],{},"vendor",[1069,1174,1157],{},[1069,1176,1177],{},"空",[1069,1179,1180],{},"厂商标识，也是选择命令模板的首选键。建议填写。",[1048,1182,1183,1188,1190,1192],{},[1069,1184,1185],{},[441,1186,1187],{},"model",[1069,1189,1157],{},[1069,1191,1177],{},[1069,1193,1194],{},"设备型号，用于界面和报告展示。",[1048,1196,1197,1202,1204,1206],{},[1069,1198,1199],{},[441,1200,1201],{},"secret",[1069,1203,1157],{},[1069,1205,1177],{},[1069,1207,1208],{},"进入特权模式时使用的密码。",[1048,1210,1211,1216,1218,1223],{},[1069,1212,1213],{},[441,1214,1215],{},"need_super",[1069,1217,1157],{},[1069,1219,1220],{},[441,1221,1222],{},"false",[1069,1224,1225],{},"是否在连接后尝试进入特权模式。",[1048,1227,1228,1233,1235,1237],{},[1069,1229,1230],{},[441,1231,1232],{},"role",[1069,1234,1157],{},[1069,1236,1177],{},[1069,1238,1239,1240,1242,1243,1242,1245,1086],{},"设备角色，例如 ",[441,1241,634],{},"、",[441,1244,1009],{},[441,1246,842],{},[1048,1248,1249,1254,1256,1258],{},[1069,1250,1251],{},[441,1252,1253],{},"location",[1069,1255,1157],{},[1069,1257,1177],{},[1069,1259,1260],{},"机房、楼层或弱电间位置。",[1048,1262,1263,1268,1270,1275],{},[1069,1264,1265],{},[441,1266,1267],{},"enabled",[1069,1269,1157],{},[1069,1271,1272],{},[441,1273,1274],{},"true",[1069,1276,1277],{},"是否参与全量巡检和查询。",[1048,1279,1280,1285,1287,1290],{},[1069,1281,1282],{},[441,1283,1284],{},"watch_interfaces",[1069,1286,1157],{},[1069,1288,1289],{},"空列表",[1069,1291,1292],{},"需要额外检查的重点接口名称。",[429,1294,1295,1296,1242,1298,1242,1300,1242,1302,1304,1305,1307],{},"程序加载配置时会检查 ",[441,1297,1073],{},[441,1299,1093],{},[441,1301,1107],{},[441,1303,1126],{}," 和 ",[441,1306,1140],{},"。其中任意字段缺失，整个设备清单都会加载失败并显示对应序号。",[425,1309,1310],{"id":1310},"厂商与设备类型",[1312,1313,1315],"h3",{"id":1314},"华为-vrp","华为 VRP",[433,1317,1319],{"className":455,"code":1318,"language":458,"meta":439,"style":439},"vendor: \"huawei\"\ndevice_type: \"huawei\"\n",[441,1320,1321,1333],{"__ignoreMap":439},[462,1322,1323,1325,1327,1329,1331],{"class":464,"line":465},[462,1324,1172],{"class":468},[462,1326,486],{"class":472},[462,1328,490],{"class":489},[462,1330,537],{"class":493},[462,1332,497],{"class":489},[462,1334,1335,1337,1339,1341,1343],{"class":464,"line":476},[462,1336,1107],{"class":468},[462,1338,486],{"class":472},[462,1340,490],{"class":489},[462,1342,537],{"class":493},[462,1344,497],{"class":489},[1312,1346,1348],{"id":1347},"华三-comware","华三 Comware",[433,1350,1352],{"className":455,"code":1351,"language":458,"meta":439,"style":439},"vendor: \"h3c\"\ndevice_type: \"hp_comware\"\n",[441,1353,1354,1366],{"__ignoreMap":439},[462,1355,1356,1358,1360,1362,1364],{"class":464,"line":465},[462,1357,1172],{"class":468},[462,1359,486],{"class":472},[462,1361,490],{"class":489},[462,1363,923],{"class":493},[462,1365,497],{"class":489},[462,1367,1368,1370,1372,1374,1376],{"class":464,"line":476},[462,1369,1107],{"class":468},[462,1371,486],{"class":472},[462,1373,490],{"class":489},[462,1375,951],{"class":493},[462,1377,497],{"class":489},[429,1379,1380,1382],{},[441,1381,1107],{}," 直接传给 Netmiko。设备能 ping 通但 SSH 登录后命令提示符识别失败时，应优先核对这个字段。",[429,1384,1385],{},"命令模板的选择顺序为：",[1387,1388,1389,1395,1399,1408],"ol",{},[1390,1391,1392,1393,1086],"li",{},"尝试匹配 ",[441,1394,1172],{},[1390,1396,1392,1397,1086],{},[441,1398,1107],{},[1390,1400,1401,1402,1404,1405,1086],{},"将 ",[441,1403,951],{}," 映射到 ",[441,1406,1407],{},"h3c_comware",[1390,1409,1410,1411,1413,1414,1086],{},"包含 ",[441,1412,537],{}," 的设备类型映射到 ",[441,1415,537],{},[425,1417,1418],{"id":1418},"启用与停用设备",[429,1420,1421],{},"临时不需要巡检某台设备时，不必删除配置，改为：",[433,1423,1425],{"className":455,"code":1424,"language":458,"meta":439,"style":439},"enabled: false\n",[441,1426,1427],{"__ignoreMap":439},[462,1428,1429,1431,1433],{"class":464,"line":465},[462,1430,1267],{"class":468},[462,1432,486],{"class":472},[462,1434,621],{"class":620},[429,1436,1437],{},"禁用设备仍会显示在 GUI 设备表中，但不会出现在查询下拉列表中，也不会参加全量或选中巡检。",[425,1439,1440],{"id":1440},"配置重点接口",[429,1442,1443,1445],{},[441,1444,1284],{}," 适合监控：",[1447,1448,1449,1452,1455,1458],"ul",{},[1390,1450,1451],{},"核心交换机上联口；",[1390,1453,1454],{},"防火墙、路由器互联口；",[1390,1456,1457],{},"服务器、存储或虚拟化平台接口；",[1390,1459,1460],{},"关键科室或重点业务链路接口。",[433,1462,1464],{"className":455,"code":1463,"language":458,"meta":439,"style":439},"watch_interfaces:\n  - \"GigabitEthernet2\u002F0\u002F7\"\n  - \"XGigabitEthernet1\u002F0\u002F48\"\n",[441,1465,1466,1472,1482],{"__ignoreMap":439},[462,1467,1468,1470],{"class":464,"line":465},[462,1469,1284],{"class":468},[462,1471,473],{"class":472},[462,1473,1474,1476,1478,1480],{"class":464,"line":476},[462,1475,480],{"class":479},[462,1477,490],{"class":489},[462,1479,681],{"class":493},[462,1481,497],{"class":489},[462,1483,1484,1486,1488,1491],{"class":464,"line":500},[462,1485,480],{"class":479},[462,1487,490],{"class":489},[462,1489,1490],{"class":493},"XGigabitEthernet1\u002F0\u002F48",[462,1492,497],{"class":489},[429,1494,1495],{},"巡检时程序会为每个重点接口额外执行一次接口查询命令：",[1447,1497,1498,1505,1511],{},[1390,1499,1500,1501,1504],{},"状态为 ",[441,1502,1503],{},"UP","：保留状态，不改变原巡检结论。",[1390,1506,1500,1507,1510],{},[441,1508,1509],{},"DOWN","：巡检结论调整为“异常”。",[1390,1512,1513],{},"无法识别状态：巡检结论至少为“关注”。",[429,1515,1516],{},"接口名称必须使用设备 CLI 能识别的完整名称。如果名称错误，查询回显仍会写入原始文件，报告中会标记为未知或关注。",[425,1518,1519],{"id":1519},"账号配置建议",[1447,1521,1522,1525,1528,1531,1537,1540],{},[1390,1523,1524],{},"单独创建只读巡检账号，不与网络管理员个人账号共用。",[1390,1526,1527],{},"仅授予查看版本、设备状态、接口、VLAN、ARP 和 MAC 表的权限。",[1390,1529,1530],{},"对源 IP、登录时间和并发会话数设置合理限制。",[1390,1532,1533,1534,1086],{},"定期更换密码，并同步更新受控环境中的 ",[441,1535,1536],{},"devices.yaml",[1390,1538,1539],{},"限制配置文件的本地读取权限，避免通过共享目录扩散。",[1390,1541,1542],{},"不要在设备名称、位置或其他展示字段中填写密码和敏感信息。",[1544,1545,1546],"style",{},"html pre.shiki code .sBSHF, html code.shiki .sBSHF{--shiki-light:#22863A;--shiki-default:#22863A;--shiki-dark:#85E89D;--shiki-code-theme-vitesse-light:#998418;--shiki-code-theme-vitesse-dark:#B8A965;--shiki-code-theme-catppuccin-light:#1E66F5;--shiki-code-theme-catppuccin-dark:#89B4FA;--shiki-code-theme-one-light:#E45649;--shiki-code-theme-one-dark:#E06C75;--shiki-code-theme-material-light:#E53935;--shiki-code-theme-material-dark:#F07178;--shiki-code-theme-min-light:#D32F2F;--shiki-code-theme-min-dark:#F8F8F8}html pre.shiki code .stNAY, html code.shiki .stNAY{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-code-theme-vitesse-light:#999999;--shiki-code-theme-vitesse-dark:#666666;--shiki-code-theme-catppuccin-light:#179299;--shiki-code-theme-catppuccin-dark:#94E2D5;--shiki-code-theme-one-light:#383A42;--shiki-code-theme-one-dark:#ABB2BF;--shiki-code-theme-material-light:#39ADB5;--shiki-code-theme-material-dark:#89DDFF;--shiki-code-theme-min-light:#D32F2F;--shiki-code-theme-min-dark:#F97583}html pre.shiki code .sIQTy, html code.shiki .sIQTy{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-code-theme-vitesse-light:#999999;--shiki-code-theme-vitesse-dark:#666666;--shiki-code-theme-catppuccin-light:#7C7F93;--shiki-code-theme-catppuccin-dark:#9399B2;--shiki-code-theme-one-light:#383A42;--shiki-code-theme-one-dark:#ABB2BF;--shiki-code-theme-material-light:#39ADB5;--shiki-code-theme-material-dark:#89DDFF;--shiki-code-theme-min-light:#24292EFF;--shiki-code-theme-min-dark:#B392F0}html pre.shiki code .sLXf0, html code.shiki .sLXf0{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-code-theme-vitesse-light:#B5695977;--shiki-code-theme-vitesse-dark:#C98A7D77;--shiki-code-theme-catppuccin-light:#40A02B;--shiki-code-theme-catppuccin-dark:#A6E3A1;--shiki-code-theme-one-light:#50A14F;--shiki-code-theme-one-dark:#98C379;--shiki-code-theme-material-light:#39ADB5;--shiki-code-theme-material-dark:#89DDFF;--shiki-code-theme-min-light:#22863A;--shiki-code-theme-min-dark:#FFAB70}html pre.shiki code .sCtJb, html code.shiki .sCtJb{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-code-theme-vitesse-light:#B56959;--shiki-code-theme-vitesse-dark:#C98A7D;--shiki-code-theme-catppuccin-light:#40A02B;--shiki-code-theme-catppuccin-dark:#A6E3A1;--shiki-code-theme-one-light:#50A14F;--shiki-code-theme-one-dark:#98C379;--shiki-code-theme-material-light:#91B859;--shiki-code-theme-material-dark:#C3E88D;--shiki-code-theme-min-light:#22863A;--shiki-code-theme-min-dark:#FFAB70}html pre.shiki code .s_Zq6, html code.shiki .s_Zq6{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-code-theme-vitesse-light:#2F798A;--shiki-code-theme-vitesse-dark:#4C9A91;--shiki-code-theme-catppuccin-light:#FE640B;--shiki-code-theme-catppuccin-dark:#FAB387;--shiki-code-theme-one-light:#986801;--shiki-code-theme-one-dark:#D19A66;--shiki-code-theme-material-light:#F76D47;--shiki-code-theme-material-dark:#F78C6C;--shiki-code-theme-min-light:#1976D2;--shiki-code-theme-min-dark:#F8F8F8}html pre.shiki code .sle2E, html code.shiki .sle2E{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-code-theme-vitesse-light:#1E754F;--shiki-code-theme-vitesse-dark:#4D9375;--shiki-code-theme-catppuccin-light:#FE640B;--shiki-code-theme-catppuccin-dark:#FAB387;--shiki-code-theme-one-light:#986801;--shiki-code-theme-one-dark:#D19A66;--shiki-code-theme-material-light:#FF5370;--shiki-code-theme-material-dark:#FF9CAC;--shiki-code-theme-min-light:#1976D2;--shiki-code-theme-min-dark:#79B8FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .code-theme-vitesse-light .shiki span {color: var(--shiki-code-theme-vitesse-light);background: var(--shiki-code-theme-vitesse-light-bg);font-style: var(--shiki-code-theme-vitesse-light-font-style);font-weight: var(--shiki-code-theme-vitesse-light-font-weight);text-decoration: var(--shiki-code-theme-vitesse-light-text-decoration);}html.code-theme-vitesse-light .shiki span {color: var(--shiki-code-theme-vitesse-light);background: var(--shiki-code-theme-vitesse-light-bg);font-style: var(--shiki-code-theme-vitesse-light-font-style);font-weight: var(--shiki-code-theme-vitesse-light-font-weight);text-decoration: var(--shiki-code-theme-vitesse-light-text-decoration);}html .code-theme-vitesse-dark .shiki span {color: var(--shiki-code-theme-vitesse-dark);background: var(--shiki-code-theme-vitesse-dark-bg);font-style: var(--shiki-code-theme-vitesse-dark-font-style);font-weight: var(--shiki-code-theme-vitesse-dark-font-weight);text-decoration: var(--shiki-code-theme-vitesse-dark-text-decoration);}html.code-theme-vitesse-dark .shiki span {color: var(--shiki-code-theme-vitesse-dark);background: var(--shiki-code-theme-vitesse-dark-bg);font-style: var(--shiki-code-theme-vitesse-dark-font-style);font-weight: var(--shiki-code-theme-vitesse-dark-font-weight);text-decoration: var(--shiki-code-theme-vitesse-dark-text-decoration);}html .code-theme-catppuccin-light .shiki span {color: var(--shiki-code-theme-catppuccin-light);background: var(--shiki-code-theme-catppuccin-light-bg);font-style: var(--shiki-code-theme-catppuccin-light-font-style);font-weight: var(--shiki-code-theme-catppuccin-light-font-weight);text-decoration: var(--shiki-code-theme-catppuccin-light-text-decoration);}html.code-theme-catppuccin-light .shiki span {color: var(--shiki-code-theme-catppuccin-light);background: var(--shiki-code-theme-catppuccin-light-bg);font-style: var(--shiki-code-theme-catppuccin-light-font-style);font-weight: var(--shiki-code-theme-catppuccin-light-font-weight);text-decoration: var(--shiki-code-theme-catppuccin-light-text-decoration);}html .code-theme-catppuccin-dark .shiki span {color: var(--shiki-code-theme-catppuccin-dark);background: var(--shiki-code-theme-catppuccin-dark-bg);font-style: var(--shiki-code-theme-catppuccin-dark-font-style);font-weight: var(--shiki-code-theme-catppuccin-dark-font-weight);text-decoration: var(--shiki-code-theme-catppuccin-dark-text-decoration);}html.code-theme-catppuccin-dark .shiki span {color: var(--shiki-code-theme-catppuccin-dark);background: var(--shiki-code-theme-catppuccin-dark-bg);font-style: var(--shiki-code-theme-catppuccin-dark-font-style);font-weight: var(--shiki-code-theme-catppuccin-dark-font-weight);text-decoration: var(--shiki-code-theme-catppuccin-dark-text-decoration);}html .code-theme-one-light .shiki span {color: var(--shiki-code-theme-one-light);background: var(--shiki-code-theme-one-light-bg);font-style: var(--shiki-code-theme-one-light-font-style);font-weight: var(--shiki-code-theme-one-light-font-weight);text-decoration: var(--shiki-code-theme-one-light-text-decoration);}html.code-theme-one-light .shiki span {color: var(--shiki-code-theme-one-light);background: var(--shiki-code-theme-one-light-bg);font-style: var(--shiki-code-theme-one-light-font-style);font-weight: var(--shiki-code-theme-one-light-font-weight);text-decoration: var(--shiki-code-theme-one-light-text-decoration);}html .code-theme-one-dark .shiki span {color: var(--shiki-code-theme-one-dark);background: var(--shiki-code-theme-one-dark-bg);font-style: var(--shiki-code-theme-one-dark-font-style);font-weight: var(--shiki-code-theme-one-dark-font-weight);text-decoration: var(--shiki-code-theme-one-dark-text-decoration);}html.code-theme-one-dark .shiki span {color: var(--shiki-code-theme-one-dark);background: var(--shiki-code-theme-one-dark-bg);font-style: var(--shiki-code-theme-one-dark-font-style);font-weight: var(--shiki-code-theme-one-dark-font-weight);text-decoration: var(--shiki-code-theme-one-dark-text-decoration);}html .code-theme-material-light .shiki span {color: var(--shiki-code-theme-material-light);background: var(--shiki-code-theme-material-light-bg);font-style: var(--shiki-code-theme-material-light-font-style);font-weight: var(--shiki-code-theme-material-light-font-weight);text-decoration: var(--shiki-code-theme-material-light-text-decoration);}html.code-theme-material-light .shiki span {color: var(--shiki-code-theme-material-light);background: var(--shiki-code-theme-material-light-bg);font-style: var(--shiki-code-theme-material-light-font-style);font-weight: var(--shiki-code-theme-material-light-font-weight);text-decoration: var(--shiki-code-theme-material-light-text-decoration);}html .code-theme-material-dark .shiki span {color: var(--shiki-code-theme-material-dark);background: var(--shiki-code-theme-material-dark-bg);font-style: var(--shiki-code-theme-material-dark-font-style);font-weight: var(--shiki-code-theme-material-dark-font-weight);text-decoration: var(--shiki-code-theme-material-dark-text-decoration);}html.code-theme-material-dark .shiki span {color: var(--shiki-code-theme-material-dark);background: var(--shiki-code-theme-material-dark-bg);font-style: var(--shiki-code-theme-material-dark-font-style);font-weight: var(--shiki-code-theme-material-dark-font-weight);text-decoration: var(--shiki-code-theme-material-dark-text-decoration);}html .code-theme-min-light .shiki span {color: var(--shiki-code-theme-min-light);background: var(--shiki-code-theme-min-light-bg);font-style: var(--shiki-code-theme-min-light-font-style);font-weight: var(--shiki-code-theme-min-light-font-weight);text-decoration: var(--shiki-code-theme-min-light-text-decoration);}html.code-theme-min-light .shiki span {color: var(--shiki-code-theme-min-light);background: var(--shiki-code-theme-min-light-bg);font-style: var(--shiki-code-theme-min-light-font-style);font-weight: var(--shiki-code-theme-min-light-font-weight);text-decoration: var(--shiki-code-theme-min-light-text-decoration);}html .code-theme-min-dark .shiki span {color: var(--shiki-code-theme-min-dark);background: var(--shiki-code-theme-min-dark-bg);font-style: var(--shiki-code-theme-min-dark-font-style);font-weight: var(--shiki-code-theme-min-dark-font-weight);text-decoration: var(--shiki-code-theme-min-dark-text-decoration);}html.code-theme-min-dark .shiki span {color: var(--shiki-code-theme-min-dark);background: var(--shiki-code-theme-min-dark-bg);font-style: var(--shiki-code-theme-min-dark-font-style);font-weight: var(--shiki-code-theme-min-dark-font-weight);text-decoration: var(--shiki-code-theme-min-dark-text-decoration);}",{"title":439,"searchDepth":476,"depth":476,"links":1548},[1549,1550,1551,1552,1556,1557,1558],{"id":427,"depth":476,"text":427},{"id":452,"depth":476,"text":452},{"id":1040,"depth":476,"text":1040},{"id":1310,"depth":476,"text":1310,"children":1553},[1554,1555],{"id":1314,"depth":500,"text":1315},{"id":1347,"depth":500,"text":1348},{"id":1418,"depth":476,"text":1418},{"id":1440,"depth":476,"text":1440},{"id":1519,"depth":476,"text":1519},"配置 devices.yaml 中的交换机连接信息、设备类型、启停状态和重点接口。","md",{},{"icon":201},"---\ntitle: 设备清单配置\ndescription: 配置 devices.yaml 中的交换机连接信息、设备类型、启停状态和重点接口。\nupdated: 2026-09-04\nnavigation:\n  icon: lucide:list-tree\n---\n\n## 配置文件位置\n\n设备清单默认位于：\n\n```text\nconfig\u002Fdevices.yaml\n```\n\n仓库提供 `config\u002Fdevices.example.yaml` 作为模板。真实文件包含登录凭据，默认不会被 Git 跟踪。\n\n## 完整示例\n\n```yaml [config\u002Fdevices.yaml]\ndevices:\n  - name: \"核心交换机-S12704-3F-01\"\n    host: \"192.168.1.1\"\n    port: 22\n    vendor: \"huawei\"\n    model: \"S12704\"\n    device_type: \"huawei\"\n    username: \"inspect_user\"\n    password: \"请替换为真实密码\"\n    secret: \"\"\n    need_super: false\n    role: \"core\"\n    location: \"三楼机房\"\n    enabled: true\n    watch_interfaces:\n      - \"GigabitEthernet2\u002F0\u002F7\"\n      - \"GigabitEthernet2\u002F0\u002F8\"\n\n  - name: \"接入交换机-S5720-01\"\n    host: \"192.168.1.2\"\n    port: 22\n    vendor: \"huawei\"\n    model: \"S5720-52P-SI\"\n    device_type: \"huawei\"\n    username: \"inspect_user\"\n    password: \"请替换为真实密码\"\n    secret: \"请按实际情况填写\"\n    need_super: true\n    role: \"access\"\n    location: \"一楼弱电间\"\n    enabled: true\n\n  - name: \"汇聚交换机-H3C-S5130S-01\"\n    host: \"192.168.1.3\"\n    port: 22\n    vendor: \"h3c\"\n    model: \"S5130S-52S-HI\"\n    device_type: \"hp_comware\"\n    username: \"inspect_user\"\n    password: \"请替换为真实密码\"\n    secret: \"\"\n    need_super: false\n    role: \"aggregation\"\n    location: \"二楼弱电间\"\n    enabled: true\n```\n\nYAML 只能使用空格缩进，不要使用 Tab。\n\n## 字段说明\n\n| 字段 | 必填 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `name` | 是 | 无 | 设备显示名称，也可以作为 CLI 的 `--target`。 |\n| `host` | 是 | 无 | 交换机管理 IP 或可解析的主机名。 |\n| `device_type` | 是 | 无 | Netmiko 平台类型；华为使用 `huawei`，华三使用 `hp_comware`。 |\n| `username` | 是 | 无 | SSH 登录用户名。 |\n| `password` | 是 | 无 | SSH 登录密码。 |\n| `port` | 否 | `22` | SSH 端口。 |\n| `vendor` | 否 | 空 | 厂商标识，也是选择命令模板的首选键。建议填写。 |\n| `model` | 否 | 空 | 设备型号，用于界面和报告展示。 |\n| `secret` | 否 | 空 | 进入特权模式时使用的密码。 |\n| `need_super` | 否 | `false` | 是否在连接后尝试进入特权模式。 |\n| `role` | 否 | 空 | 设备角色，例如 `core`、`aggregation`、`access`。 |\n| `location` | 否 | 空 | 机房、楼层或弱电间位置。 |\n| `enabled` | 否 | `true` | 是否参与全量巡检和查询。 |\n| `watch_interfaces` | 否 | 空列表 | 需要额外检查的重点接口名称。 |\n\n程序加载配置时会检查 `name`、`host`、`device_type`、`username` 和 `password`。其中任意字段缺失，整个设备清单都会加载失败并显示对应序号。\n\n## 厂商与设备类型\n\n### 华为 VRP\n\n```yaml\nvendor: \"huawei\"\ndevice_type: \"huawei\"\n```\n\n### 华三 Comware\n\n```yaml\nvendor: \"h3c\"\ndevice_type: \"hp_comware\"\n```\n\n`device_type` 直接传给 Netmiko。设备能 ping 通但 SSH 登录后命令提示符识别失败时，应优先核对这个字段。\n\n命令模板的选择顺序为：\n\n1. 尝试匹配 `vendor`。\n2. 尝试匹配 `device_type`。\n3. 将 `hp_comware` 映射到 `h3c_comware`。\n4. 包含 `huawei` 的设备类型映射到 `huawei`。\n\n## 启用与停用设备\n\n临时不需要巡检某台设备时，不必删除配置，改为：\n\n```yaml\nenabled: false\n```\n\n禁用设备仍会显示在 GUI 设备表中，但不会出现在查询下拉列表中，也不会参加全量或选中巡检。\n\n## 配置重点接口\n\n`watch_interfaces` 适合监控：\n\n- 核心交换机上联口；\n- 防火墙、路由器互联口；\n- 服务器、存储或虚拟化平台接口；\n- 关键科室或重点业务链路接口。\n\n```yaml\nwatch_interfaces:\n  - \"GigabitEthernet2\u002F0\u002F7\"\n  - \"XGigabitEthernet1\u002F0\u002F48\"\n```\n\n巡检时程序会为每个重点接口额外执行一次接口查询命令：\n\n- 状态为 `UP`：保留状态，不改变原巡检结论。\n- 状态为 `DOWN`：巡检结论调整为“异常”。\n- 无法识别状态：巡检结论至少为“关注”。\n\n接口名称必须使用设备 CLI 能识别的完整名称。如果名称错误，查询回显仍会写入原始文件，报告中会标记为未知或关注。\n\n## 账号配置建议\n\n- 单独创建只读巡检账号，不与网络管理员个人账号共用。\n- 仅授予查看版本、设备状态、接口、VLAN、ARP 和 MAC 表的权限。\n- 对源 IP、登录时间和并发会话数设置合理限制。\n- 定期更换密码，并同步更新受控环境中的 `devices.yaml`。\n- 限制配置文件的本地读取权限，避免通过共享目录扩散。\n- 不要在设备名称、位置或其他展示字段中填写密码和敏感信息。\n",{"title":198,"description":1559},"2026-09-04","ni6c69rXwId4LREoOcEquI2tracF0Y8L6UGqJcErzSw",[1568,1570],{"title":193,"path":194,"stem":195,"description":1569,"icon":196,"children":-1},"从获取源码、安装 Python 依赖到完成第一次交换机巡检。",{"title":203,"path":204,"stem":205,"description":1571,"icon":206,"children":-1},"使用 SwitchOps GUI 加载设备、批量巡检、查询 ARP\u002FMAC\u002F端口并查看输出。",1791307033709]