Communitygithub.com

saúde-de-interface-de-rede

Diagnostique erros, quedas, CRCs, incompatibilidades de duplex, flapping, problemas de negociação de velocidade e tendências de contadores em roteadores, switches e hosts Linux. Use quando uma interface apresentar erros, quedas, CRCs, flapping ou incompatibilidade de duplex ou velocidade.

O que é saúde-de-interface-de-rede?

Esta skill especializada em saúde de interface de rede foi projetada para diagnosticar e solucionar problemas físicos e de configuração em dispositivos de rede, incluindo roteadores, switches e hosts Linux. Ela é particularmente útil ao lidar com sintomas como perda de pacotes, picos de latência, problemas de conectividade intermitente e contadores de interface crescentes (como CRCs, erros de entrada/saída, quedas). A skill orienta o usuário na coleta e análise de contadores de interface, enfatizando a importância das tendências ao longo do tempo em vez de valores absolutos. Ela fornece um fluxo de diagnóstico estruturado para cenários comuns: CRCs e erros de entrada (verificar cabos, fibra e duplex em ambas as extremidades), quedas (diferenciar entrada vs. saída, verificar congestionamento e QoS) e problemas de duplex/velocidade (preferir auto-negociação; nunca misturar configurações fixas de um lado com auto do outro). A skill também inclui um exemplo de código Python para análise segura de blocos de interface em saídas de comando show interfaces, um guia de referência de contadores com significados e causas comuns, e anti-padrões a evitar, como limpar contadores sem salvar uma linha de base ou olhar apenas para um lado de um link. Compatível com plataformas Cisco, Juniper, Arista e Linux.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/everything-claude-code/tree/main/skills/network-interface-health

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Saúde de Interface de Rede

Use esta habilidade quando um sintoma de rede pode ser causado por um link físico, porta de switch, cabo, transceptor, configuração de duplex ou interface congestionada.

Quando Usar

  • Um host ou VLAN apresenta perda de pacotes, picos de latência ou conectividade intermitente.
  • A interface de um switch ou roteador mostra CRCs, runts, giants, quedas, resets ou flapping.
  • Você precisa comparar ambas as extremidades de um link antes de substituir hardware.
  • Uma janela de mudança precisa de evidências de contadores de interface antes/depois.
  • O monitoramento relata aumento em ifInErrors, ifOutErrors ou ifOutDiscards.

Como Funciona

Os contadores de interface são uma evidência, mas a tendência importa mais do que o número absoluto. Capture uma linha de base, aguarde um intervalo de medição, capture novamente e compare os incrementos.

show interfaces <interface>
show interfaces <interface> status
show logging | include <interface>|changed state|line protocol

Em hosts Linux:

ip -s link show <interface>
ethtool <interface>
ethtool -S <interface>

Referência de Contadores

ContadorSignificadoCausa comum
CRCFalha na soma de verificação do quadro recebidoCabo ruim, fibra suja, óptica ruim, incompatibilidade de duplex
input errorsErros agregados do lado da recepçãoVerifique os subcontadores antes de concluir
runtsQuadros abaixo do tamanho mínimo EthernetIncompatibilidade de duplex, domínio de colisão, NIC defeituosa
giantsQuadros maiores que o MTU esperadoIncompatibilidade de MTU ou limite de jumbo-frame
input dropsDispositivo não pôde aceitar pacotes recebidosRajada, superassinatura, caminho de CPU, pressão de fila
output dropsFila de saída descartou pacotesCongestionamento, política de QoS, uplink subdimensionado
resetsReinicialização de hardware da interfaceFlapping, keepalive, driver, óptica, energia
collisionsContador de colisão EthernetHalf duplex ou incompatibilidade de negociação

Fluxo de Diagnóstico

CRCs Ou Erros de Entrada

  1. Confirme que os contadores estão incrementando, não são apenas históricos.
  2. Verifique ambas as extremidades do link. Erros no lado da recepção geralmente apontam para o sinal que chega naquele lado, não necessariamente para a porta que relata o erro.
  3. Substitua o cabo de conexão ou limpe/substitua fibra e ópticas.
  4. Confirme se as configurações de velocidade/duplex correspondem em ambos os lados.
  5. Verifique os logs em busca de eventos de flapping ao redor do mesmo timestamp.

Quedas

  1. Separe quedas de entrada de quedas de saída.
  2. Compare a taxa da interface com a capacidade.
  3. Verifique a política de QoS, contadores de fila e se o link é um uplink superassinado.
  4. Trate o ajuste de fila como secundário. Primeiro, prove se o link está congestionado.

Duplex E Velocidade

Prefira auto-negociação em links Ethernet modernos quando ambos os lados a suportam. Se um lado precisar ser fixo, configure ambos os lados explicitamente e documente o motivo. Nunca misture velocidade/duplex fixo de um lado com auto do outro.

show interfaces <interface> | include duplex|speed

Exemplo de Parser Seguro

Divida cada bloco de interface de um cabeçalho ao próximo. Não use uma janela de caracteres arbitrária; blocos grandes de interface podem fazer com que contadores sejam perdidos ou atribuídos à porta errada.

import re
from typing import Any

HEADER_RE = re.compile(
    r"^(?P<nome>\S+) is (?P<status>(?:administratively )?down|up), "
    r"line protocol is (?P<protocolo>up|down)",
    re.I | re.M,
)
ERROR_RE = re.compile(r"(?P<entrada>\d+) input errors, (?P<crc>\d+) CRC", re.I)
DROP_RE = re.compile(r"(?P<saida>\d+) output errors", re.I)
DUPLEX_RE = re.compile(r"(?P<duplex>Full|Half|Auto)-duplex,\s+(?P<velocidade>[^,]+)", re.I)

def parse_show_interfaces(raw: str) -> list[dict[str, Any]]:
    headers = list(HEADER_RE.finditer(raw))
    interfaces = []
    for index, header in enumerate(headers):
        end = headers[index + 1].start() if index + 1 < len(headers) else len(raw)
        block = raw[header.start():end]
        errors = ERROR_RE.search(block)
        drops = DROP_RE.search(block)
        duplex = DUPLEX_RE.search(block)
        interfaces.append({
            "nome": header.group("nome"),
            "status": header.group("status"),
            "protocolo": header.group("protocolo"),
            "duplex": duplex.group("duplex") if duplex else "desconhecido",
            "velocidade": duplex.group("velocidade").strip() if duplex else "desconhecido",
            "erros_entrada": int(errors.group("entrada")) if errors else 0,
            "erros_crc": int(errors.group("crc")) if errors else 0,
            "erros_saida": int(drops.group("saida")) if drops else 0,
        })
    return interfaces

Exemplos

CRCs Em Uma Porta de Switch

  1. Capture contadores na porta local.
  2. Capture contadores na porta remota conectada.
  3. Substitua o cabo ou a óptica antes de alterar regras de roteamento ou firewall.
  4. Limpe contadores apenas após registrar a linha de base.
  5. Verifique novamente após um intervalo fixo.

Internet Lenta Mas LAN Está OK

  1. Verifique quedas/erros da interface WAN.
  2. Verifique utilização do uplink LAN e quedas de saída.
  3. Verifique CPU do gateway se o link WAN estiver limpo mas a taxa de transferência ainda estiver baixa.
  4. Compare testes com e sem fio antes de culpar o serviço upstream.

Anti-Padrões

  • Limpar contadores antes de salvar uma linha de base.
  • Olhar apenas para um lado de um link.
  • Assumir que todos os CRCs históricos são problemas ativos sem uma janela de tempo.
  • Misturar auto-negociação de um lado com velocidade/duplex fixo do outro.
  • Tratar quedas de saída como um problema de cabo antes de verificar congestionamento.

Veja Também

  • Agente: network-troubleshooter
  • Skill: network-config-validation
  • Skill: homelab-network-setup

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/claude-api

Anthropic Claude API patterns for Python and TypeScript. Covers Messages API, streaming, tool use, vision, extended thinking, batches, prompt caching, and Claude Agent SDK. Use when building applications with the Claude API or Anthropic SDKs.

affaan-m/everything-claude-code

End-to-end marketing campaign planning and execution. Covers audience research, positioning, campaign angle definition, landing page copy, email sequences, social posts, ad copy, short-form video scripts, and content calendars. Use as the orchestration layer for multi-channel product launches. Use when planning or executing a multi-channel product launch, or producing landing page, email, social, or ad copy.

affaan-m/everything-claude-code

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/everything-claude-code-conventions

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use when the user asks to build web components, pages, or applications and the visual direction matters as much as the code quality.

affaan-m/gget

gget CLI and Python workflow for quick genomic database queries, sequence lookup, BLAST-style searches, enrichment checks, and reproducible bioinformatics evidence logs.

affaan-m/literature-review

Systematic literature-review workflow for academic, biomedical, technical, and scientific topics, including search planning, source screening, synthesis, citation checks, and evidence logging.

affaan-m/motion-ui

Production-ready UI motion system for React/Next.js. Use when implementing animations, transitions, or motion patterns.

affaan-m/project-guidelines-example

Example project-specific skill template based on a real production application.

affaan-m/pubmed-database

Direct PubMed and NCBI E-utilities search workflows for biomedical literature, MeSH queries, PMID lookup, citation retrieval, and API-backed literature monitoring.

affaan-m/scholar-evaluation

Structured scholarly-work evaluation for papers, proposals, literature reviews, methods sections, evidence quality, citation support, and research-writing feedback.

affaan-m/uspto-database

USPTO patent and trademark data workflow for official record lookup, PatentSearch queries, TSDR checks, assignment data, and reproducible IP research logs.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

Habilidades Relacionadas