Token导航 LogoToken导航TokenDH.com
前端设计external-servicegithub未标认证来源可访问许可证需确认审计通过

pyats-health-check皮亚茨健康检查

Agent Skill

pyats-health-check 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

396

周安装

17

GitHub Stars

462

下载量

139
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:pyats-health-check(皮亚茨健康检查)
来源仓库:https://github.com/automateyournetwork/netclaw
仓库路径:skills/pyats-health-check
安装命令:
npx skills add https://github.com/automateyournetwork/netclaw --skill pyats-health-check
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/automateyournetwork/netclaw --skill pyats-health-check

简介

用于处理 GitHub 仓库、Issue、Pull Request 等协作信息。

  • 适合围绕代码变更或仓库状态进行整理与分析。pyats-health-check 属于前端设计类 Skill,可作为该场景下的辅助能力补充。
  • 可结合来源仓库与原始 README 进一步核验具体用法。
  • 安装前需确认权限范围及是否会触发联网或文件读写操作。
  • 建议检查维护状态,避免使用不稳定或已弃用的技能。

SKILL.md

Device Health Check

When to Use

  • Proactive daily/weekly health monitoring
  • Pre-change and post-change validation
  • Incident response — first thing you run when alerted
  • Capacity planning and trending
  • Compliance checks for operational readiness

Health Check Procedure

Always run health checks in this exact order. Each section builds on the previous one.

Step 1: Device Identity & Uptime

Run show version to establish baseline identity.

PYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "python3 -u $PYATS_MCP_SCRIPT" pyats_run_show_command '{"device_name":"R1","command":"show version"}'

Extract and report:

  • Hostname, model, serial number
  • IOS-XE version and image filename
  • Uptime (flag if < 24 hours — indicates recent reload)
  • Last reload reason (flag if unexpected: crash, power failure)
  • Total/available memory
  • License status

Thresholds:

  • Uptime < 24h → WARNING: Recent reload
  • Uptime < 1h → CRITICAL: Very recent reload, check for crash
  • Last reload reason contains "crash" or "error" → CRITICAL

Step 2: CPU Utilization

PYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "python3 -u $PYATS_MCP_SCRIPT" pyats_run_show_command '{"device_name":"R1","command":"show processes cpu sorted"}'

Thresholds (5-second / 1-minute / 5-minute averages):

  • < 50% → HEALTHY
  • 50-75% → WARNING: Elevated CPU
  • 75-90% → HIGH: Investigate top processes
  • 90% → CRITICAL: Immediate investigation required

Top processes to watch:

  • IP Input — high traffic volume or routing loops
  • BGP Router / BGP I/O — large BGP table or instability
  • OSPF-1 Hello — OSPF adjacency issues
  • Crypto IKMP / Crypto Engine — IPsec overhead
  • SNMP ENGINE — polling storm
  • ARP Input — ARP storm or L2 loop

Step 3: Memory Utilization

PYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "python3 -u $PYATS_MCP_SCRIPT" pyats_run_show_command '{"device_name":"R1","command":"show processes memory sorted"}'

Also run:

PYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "python3 -u $PYATS_MCP_SCRIPT" pyats_run_show_command '{"device_name":"R1","command":"show platform resources"}'

Thresholds:

  • Used < 70% → HEALTHY
  • 70-85% → WARNING: Memory pressure
  • 85-95% → HIGH: May impact routing table updates
  • 95% → CRITICAL: Risk of process crashes or OOM

Memory consumers to watch:

  • BGP Router — large BGP table (full internet table = ~1M routes)
  • CEF process — large FIB
  • OSPF Router — large OSPF LSDB
  • HTTP CORE — web server / RESTCONF overhead
  • IOSD iomem — I/O memory for packet buffers

Step 4: Interface Status

PYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "python3 -u $PYATS_MCP_SCRIPT" pyats_run_show_command '{"device_name":"R1","command":"show ip interface brief"}'

Then for each active interface, get detailed counters:

PYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "python3 -u $PYATS_MCP_SCRIPT" pyats_run_show_command '{"device_name":"R1","command":"show interfaces"}'

Report for each interface:

  • Admin status (up/down) and protocol status (up/down)
  • IP address and subnet
  • Speed, duplex, MTU
  • Input/output rate (bps and pps)
  • Error counters: CRC, input errors, output errors, drops, overruns
  • Resets counter (flag if incrementing — indicates flapping)
  • Last input/output timestamps

Flags:

  • Interface up/down → WARNING: Check physical or protocol
  • CRC errors > 0 → WARNING: Physical layer issue (cabling, optics, duplex mismatch)
  • Input errors incrementing → WARNING: Packet corruption
  • Output drops > 0 → WARNING: Congestion or QoS issue
  • Resets incrementing → CRITICAL: Interface flapping
  • Line protocol down on configured interface → CRITICAL

Step 5: Hardware & Environment

PYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "python3 -u $PYATS_MCP_SCRIPT" pyats_run_show_command '{"device_name":"R1","command":"show inventory"}'
PYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "python3 -u $PYATS_MCP_SCRIPT" pyats_run_show_command '{"device_name":"R1","command":"show platform"}'

Report: Module status (ok/fail), serial numbers, PID, transceiver types and DOM readings.

Step 6: NTP Synchronization

PYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "python3 -u $PYATS_MCP_SCRIPT" pyats_run_show_command '{"device_name":"R1","command":"show ntp associations"}'
PYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "python3 -u $PYATS_MCP_SCRIPT" pyats_run_show_command '{"device_name":"R1","command":"show clock"}'

Flags:

  • No NTP peer synchronized (no * in associations) → CRITICAL for logging/forensics
  • Clock offset > 100ms → WARNING
  • Clock offset > 1s → CRITICAL
  • No NTP configured at all → CRITICAL

Step 7: System Logs

PYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "python3 -u $PYATS_MCP_SCRIPT" pyats_show_logging '{"device_name":"R1"}'

Scan for these patterns:

  • %SYS-*-RELOAD — reload events
  • %LINEPROTO-5-UPDOWN — interface flaps
  • %OSPF-*-ADJCHG — OSPF adjacency changes
  • %BGP-*-ADJCHANGE — BGP peer state changes
  • %DUAL-*-NBRCHANGE — EIGRP neighbor changes
  • %SYS-2-MALLOCFAIL — memory allocation failure (CRITICAL)
  • %SYS-3-CPUHOG — process monopolizing CPU (HIGH)
  • %TRACKING-* — IP SLA or object tracking changes
  • %SEC-* / %AUTHMGR-* — security events
  • %PLATFORM-*-CRASH — crash events (CRITICAL)
  • Traceback — software bug (CRITICAL — open TAC case)

Step 8: Connectivity Validation

Test reachability to critical infrastructure:

PYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "python3 -u $PYATS_MCP_SCRIPT" pyats_ping_from_network_device '{"device_name":"R1","command":"ping 8.8.8.8 repeat 5"}'

Thresholds:

  • 100% success, RTT < 50ms → HEALTHY
  • 100% success, RTT > 100ms → WARNING: High latency
  • 80-99% success → WARNING: Packet loss
  • < 80% success → CRITICAL: Significant packet loss
  • 0% success → CRITICAL: No reachability

Health Report Format

Always produce a summary table:

Device: R1 (devnetsandboxiosxec8k.cisco.com)
Model: C8000V | IOS-XE: 17.x.x | Uptime: XXd XXh

┌──────────────────┬──────────┬─────────────────────────┐
│ Check            │ Status   │ Details                 │
├──────────────────┼──────────┼─────────────────────────┤
│ CPU (5min avg)   │ HEALTHY  │ 12%                     │
│ Memory           │ HEALTHY  │ 45% used (1.2G/2.6G)   │
│ Interfaces       │ WARNING  │ Gi2 down/down           │
│ Hardware         │ HEALTHY  │ All modules OK          │
│ NTP              │ HEALTHY  │ Synced, offset 2ms      │
│ Logs             │ WARNING  │ 3 OSPF adjacency flaps  │
│ Connectivity     │ HEALTHY  │ 100% to 8.8.8.8, 23ms  │
└──────────────────┴──────────┴─────────────────────────┘

Overall: WARNING — 2 items need attention

Severity order: CRITICAL > HIGH > WARNING > HEALTHY. Overall status = worst individual status.

NetBox Cross-Reference (MISSION02 Enhancement)

When NetBox is available ($NETBOX_MCP_SCRIPT is set), cross-reference device state against the source of truth after Steps 1 and 4:

Interface State Validation

Query NetBox for expected interface states:

python3 $MCP_CALL "python3 -u $NETBOX_MCP_SCRIPT" netbox_get_objects '{"object_type":"dcim.interfaces","filters":{"device":"R1"},"brief":true}'

Compare NetBox intent vs device reality:

  • NetBox shows interface enabled but device shows down → CRITICAL: Unexpected outage
  • NetBox shows interface disabled but device shows up → WARNING: Undocumented activation
  • Interface exists on device but not in NetBox → WARNING: Undocumented interface
  • Interface in NetBox but not on device → WARNING: NetBox stale data

IP Address Validation

Query NetBox for expected IP assignments:

python3 $MCP_CALL "python3 -u $NETBOX_MCP_SCRIPT" netbox_get_objects '{"object_type":"ipam.ip-addresses","filters":{"device":"R1"}}'

Compare: Flag any IP_DRIFT where the device IP differs from NetBox.

Fleet-Wide Health (pCall)

To run health checks across ALL devices simultaneously, first list all devices:

PYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "python3 -u $PYATS_MCP_SCRIPT" pyats_list_devices

Then run Steps 1-8 on each device concurrently using multiple exec commands. Collect all results and produce a fleet summary:

┌──────────┬──────────┬──────┬────────┬──────────┬─────────────┐
│ Device   │ CPU      │ Mem  │ Intf   │ NTP      │ Overall     │
├──────────┼──────────┼──────┼────────┼──────────┼─────────────┤
│ R1       │ HEALTHY  │ WARN │ HEALTHY│ HEALTHY  │ WARNING     │
│ R2       │ HEALTHY  │ OK   │ CRIT   │ HEALTHY  │ CRITICAL    │
│ SW1      │ HIGH     │ OK   │ HEALTHY│ CRIT     │ CRITICAL    │
└──────────┴──────────┴──────┴────────┴──────────┴─────────────┘

Sort devices by severity (CRITICAL first) for triage prioritization.

GAIT Audit Trail

After completing a health check, record the session in GAIT:

python3 $MCP_CALL "python3 -u $GAIT_MCP_SCRIPT" gait_record_turn '{"input":{"role":"assistant","content":"Health check completed on R1: CPU HEALTHY (12%), Memory WARNING (78%), Interfaces HEALTHY, NTP HEALTHY. Overall: WARNING.","artifacts":[]}}'

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35%
按下载量换算49

Claude

28.78%
按下载量换算40

Cursor

19.19%
按下载量换算27

Gemini CLI

9.33%
按下载量换算13

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills