Pular para o conteúdo
Skillpedia
Deploy e nuvem (DevOps)280 mil · #241

network-interface-health

Ajuda seu agente a diagnosticar problemas em interfaces de rede. É útil quando uma conexão de rede está apresentando erros ou lentidão.

O que ela faz

Esta ferramenta ajuda a identificar problemas em conexões de rede, como cabos, portas de equipamentos ou configurações incorretas. Ela analisa erros e o desempenho das interfaces de rede para encontrar a causa de lentidão ou falhas.

Quando usar

  • ✓Quando a internet está lenta ou caindo.
  • ✓Se um equipamento de rede (roteador, switch) mostra muitos erros.
  • ✓Antes de trocar um cabo ou peça, para ter certeza que é o problema.

Exemplo do que pedir para a IA

“Minha conexão está com problemas, pode verificar a saúde da interface de rede?”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/affaan-m/ECC/blob/main/skills/network-interface-health/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/affaan-m/ECC/blob/main/skills/network-interface-health/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta coleta informações sobre o tráfego de rede e compara os números de erros ao longo do tempo. Ela também verifica configurações como velocidade e duplex para encontrar inconsistências.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add affaan-m/ECC --skill network-interface-health

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/skills/network-interface-health/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Saúde da Interface de Rede

Use esta habilidade quando um sintoma de rede puder 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 tem perda de pacotes, picos de latência ou alcançabilidade intermitente.
  • Uma interface de switch ou roteador mostra CRCs, runts, giants, drops, resets ou flaps.
  • 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 e depois.
  • O monitoramento relata aumento de ifInErrors, ifOutErrors ou ifOutDiscards.

Como Funciona

Contadores de interface são evidências, mas a tendência importa mais do que o número absoluto. Capture uma linha de base, espere um intervalo de medição, capture novamente e, em seguida, 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

Contador Significado Causa Comum
CRC Falha na soma de verificação do quadro recebido Cabo ruim, fibra suja, óptica ruim, incompatibilidade de duplex
input errors Erros agregados no lado de recebimento Verifique subcontadores antes de concluir
runts Quadros abaixo do tamanho mínimo do Ethernet Incompatibilidade de duplex, domínio de colisão, NIC defeituosa
giants Quadros maiores que o MTU esperado Incompatibilidade de MTU ou limite de jumbo-frame
input drops Dispositivo não pôde aceitar pacotes de entrada Rajada, supersubscrição, caminho da CPU, pressão da fila
output drops Pacotes descartados da fila de saída Congestionamento, política de QoS, uplink subdimensionado
resets Reinicialização do hardware da interface Flapping, keepalive, driver, óptica, energia
collisions Contador de colisão Ethernet Half duplex ou incompatibilidade de negociação

Fluxo de Diagnóstico

CRCs ou Erros de Entrada

  1. Confirme se os contadores estão incrementando, não apenas históricos.
  2. Verifique ambas as extremidades do link. Erros no lado de recebimento geralmente apontam para o sinal chegando nesse lado, não necessariamente para a porta que relata o erro.
  3. Substitua o cabo de remendo ou limpe/substitua a fibra e as ópticas.
  4. Confirme se as configurações de velocidade/duplex correspondem em ambos os lados.
  5. Verifique os logs em busca de eventos de flap na mesma marcação de tempo.

Drops

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

Duplex e Velocidade

Prefira a negociação automática em links Ethernet modernos quando ambos os lados a suportam. Se um lado precisar ser corrigido, configure ambos os lados explicitamente e documente o motivo. Nunca misture velocidade/duplex fixos em um lado com auto no outro.

show interfaces <interface> | include duplex|speed

Exemplo de Analisador Seguro

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

import re
from typing import Any

HEADER_RE = re.compile(
    r"^(?P<name>\S+) is (?P<status>(?:administratively )?down|up), "
    r"line protocol is (?P<protocol>up|down)",
    re.I | re.M,
)
ERROR_RE = re.compile(r"(?P<input>\d+) input errors, (?P<crc>\d+) CRC", re.I)
DROP_RE = re.compile(r"(?P<output>\d+) output errors", re.I)
DUPLEX_RE = re.compile(r"(?P<duplex>Full|Half|Auto)-duplex,\s+(?P<speed>[^,]+)", 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({
            "name": header.group("name"),
            "status": header.group("status"),
            "protocol": header.group("protocol"),
            "duplex": duplex.group("duplex") if duplex else "unknown",
            "speed": duplex.group("speed").strip() if duplex else "unknown",
            "input_errors": int(errors.group("input")) if errors else 0,
            "crc_errors": int(errors.group("crc")) if errors else 0,
            "output_errors": int(drops.group("output")) if drops else 0,
        })
    return interfaces

Exemplos

CRCs em uma Porta de Switch

…

Perguntas frequentes

O que são 'erros CRC'?

São erros na verificação de integridade dos dados recebidos, geralmente causados por cabos ruins, sujeira em conexões de fibra óptica ou problemas no equipamento.

O que significa 'flapping'?

É quando uma conexão de rede fica caindo e voltando rapidamente, indicando um problema instável.

Devo limpar os contadores de erro?

Só limpe os contadores depois de anotar os valores atuais como referência. Limpar sem registrar pode fazer você perder informações importantes para o diagnóstico.

Detalhes

Descrição original do autor

Diagnose interface errors, drops, CRCs, duplex mismatches, flapping, speed negotiation issues, and counter trends on routers, switches, and Linux hosts. Use when an interface shows errors, drops, CRCs, flapping, or a duplex or speed mismatch.

repo: affaan-m/ECC

Popularidade

Estrelas no GitHub
280 mil
Posição no ranking
#241
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas