Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Monitoratge remot amb la TUI

El mode remot de la TUI (lc watch remote) es connecta als processadors i mostra dades de paquets en directe dels Hunters distribuïts. Us ofereix una vista centralitzada de diversos segments de xarxa sense executar cap captura local.

flowchart LR
    subgraph Edge["Network Edge"]
        H1[Hunter 1]
        H2[Hunter 2]
        H3[Hunter 3]
    end

    subgraph Central["Processor"]
        P[Aggregation]
    end

    H1 -->|gRPC| P
    H2 -->|gRPC| P
    H3 -->|gRPC| P
    TUI["lc watch remote"] <-->|gRPC/TLS| P

Inici ràpid

Connecteu-vos directament a un processador:

lc watch remote -P processor.example.com:55555 --tls-ca ca.crt

Connecteu-vos mitjançant un fitxer de nodes:

lc watch remote --nodes-file nodes.yaml

Alternativament, utilitzeu la ubicació per defecte ~/.config/lippycat/nodes.yaml:

lc watch remote

Connecteu-vos amb TLS:

lc watch remote -P processor.example.com:55555 --tls-ca ca.crt

Connecteu-vos amb TLS mutu:

lc watch remote -P processor.example.com:55555 --tls-ca ca.crt --tls-cert client.crt --tls-key client.key

Per a proves locals:

lc watch remote -P localhost:55555 --insecure

Configuració del fitxer de nodes

Utilitzeu --processor (-P) per connectar-vos directament a un sol processador o node Tap. Utilitzeu --nodes-file si voleu que la TUI carregui un o diversos processadors d’un YAML en iniciar-se. Podeu proporcionar totes dues opcions; la TUI posarà a la cua les connexions de totes dues fonts.

El fitxer de nodes indica a la TUI a quins processadors i Hunters s’ha de connectar.

Ubicació del fitxer

La TUI cerca nodes.yaml en aquest ordre:

  1. Camí indicat amb --nodes-file
  2. ~/.config/lippycat/nodes.yaml
  3. ./nodes.yaml (directori actual)

Format

processors:
  - name: main-processor
    address: processor.example.com:55555
    tls:
      enabled: true
      ca_file: /etc/lippycat/certs/ca.crt
      cert_file: /etc/lippycat/certs/client.crt
      key_file: /etc/lippycat/certs/client.key
      skip_verify: false

  - name: backup-processor
    address: 192.168.1.101:55555

Camps de configuració

CampObligatoriDescripció
nameSíNom del node que es mostra
addressSíAdreça en format host:port
tls.enabledNoActiva TLS per a aquest node
tls.ca_fileNoCamí del certificat de la CA
tls.cert_fileNoCamí del certificat del client (mTLS)
tls.key_fileNoCamí de la clau privada del client (mTLS)
tls.skip_verifyNoOmet la verificació del certificat (només per a proves)
subscribed_huntersNoLlista dels IDs de Hunter als quals subscriure’s

Cada node pot tenir la seva pròpia configuració TLS, cosa que permet entorns mixtos (p. ex., producció amb mTLS i desenvolupament sense xifratge).

Navegació per la TUI

Tecles globals

TeclaAcció
TabCanvia de pestanya
De Alt+1 a Alt+5Salta a una pestanya (1=Capture, 2=Nodes, 3=Statistics, 4=Settings, 5=Help)
SpacePausa/reprèn la visualització de paquets
q / Ctrl+CSortir
?Help

Vista de paquets

La llista de paquets i el panell de detalls inclouen metadades RADIUS descodificades, amb les credencials ocultades, rebudes dels Hunters i nodes Tap; RADIUS no requereix una subordre watch específica.

TeclaAcció
j / k / ↑ / ↓Navega pels paquets
g / HomeAnar al primer paquet
G / EndAnar a l’últim paquet
EnterMostra els detalls del paquet
Ctrl+SDesa els paquets en un fitxer PCAP

Vista Nodes

TeclaAcció
↑ / ↓ o j / kNavega per la llista de nodes
EnterConnecta al processador / edita l’entrada
sObre el selector de subscripcions a Hunters
dCancel·la la subscripció al Hunter o elimina el processador
EscTanca el diàleg / surt de l’entrada

Vista de trucades (VoIP)

TeclaAcció
j / kNavega per les trucades
EnterMostra els detalls de la trucada

Pestanya Nodes

La pestanya Nodes mostra els processadors connectats i els seus Hunters en una vista d’arbre:

┌─ Nodes ────────────────────────────────────────────┐
│                                                    │
│  Processor: main-processor (192.168.1.100:55555)   │
│  ├─ edge-hunter-01 (10.0.1.10)                     │
│  │  Status: ACTIVE | Packets: 1,234 | Dropped: 0   │
│  │  Interfaces: eth0                               │
│  │                                                 │
│  └─ edge-hunter-02 (10.0.1.11)                     │
│     Status: ACTIVE | Packets: 5,678 | Dropped: 2   │
│     Interfaces: eth1, wlan0                        │
│                                                    │
│  [Enter node address to add...]                    │
└────────────────────────────────────────────────────┘

Cada Hunter mostra:

  • Estat: ACTIVE, IDLE o DISCONNECTED
  • Paquets: capturats, coincidents, reenviats, descartats
  • Filtres actius: nombre de filtres aplicats
  • Interfícies: interfícies de xarxa supervisades
  • Últim senyal de vida: temps des de l’última comprovació de l’estat

Indicadors de canvi

La CPU i la RAM utilitzen colors de text persistents segons la utilització: el color de primer pla normal del tema per sota del 70%, taronja Solarized (#cb4b16) a partir del 70% i vermell Solarized (#dc322f) a partir del 90%. L’augment de nivell requereix tres mostres reals diferents de mètriques; les instantànies repetides i els redibuixats no compten. El color de nivell elevat desapareix per sota del 65% i el de nivell alt per sota del 85%. Aquests llindars de presentació no modifiquen l’estat del node. Els valors de CPU/RAM ja no parpellegen ni mostren fletxes de canvi.

El percentatge de CPU mostrat continua sent l’ús brut del procés: el 100% representa un nucli, de manera que els valors poden superar el 100%. La classificació del color divideix aquest percentatge per la capacitat efectiva de CPU indicada en nuclis, incloses les quotes fraccionàries. La capacitat reflecteix l’afinitat de CPU visible i les restriccions de quota dels cgroups, inclosos els avantpassats restrictius; no és una reserva garantida de CPU. El color de la RAM compara el RSS del procés amb el límit de memòria indicat del cgroup. És una relació aproximada entre procés i límit: exclou altra memòria imputada al cgroup.

Totes dues mètriques comparteixen els llindars percentuals validats watch.nodes_resources.elevated (per defecte 70) i watch.nodes_resources.high (per defecte 90). Els valors han de ser finits i complir 0 < elevated < high <= 100; els parells no vàlids es registren i se substitueixen pels dos valors per defecte. El marge de retorn per defecte és de cinc punts percentuals. Amb llindars personalitzats baixos o molt propers, el marge es redueix a la meitat del llindar elevat o a la meitat de la distància entre els llindars, el que sigui més petit. Si falten dades de capacitat o límits de memòria, les mètriques no són vàlides o els nodes estan desconnectats, el text és neutre. Els camps addicionals de telemetria de capacitat i marca temporal de les mostres mantenen la compatibilitat: els clients antics els ignoren, mentre que els nodes o intermediaris antics els poden ometre. Sense una marca temporal d’una mostra real de mètriques, els colors dels recursos es mantenen neutres encara que es puguin mostrar els valors.

Els totals de paquets comparteixen un indicador d’activitat discret per node. Els totals de paquets capturats o reenviats que augmenten utilitzen breument un fons verd (#859900) només quan canvia el total arrodonit mostrat; els reinicis dels comptadors estableixen una nova referència sense ressaltat. Els canvis de filtres utilitzen un fons blau neutre (#268bd2) amb una diferència amb signe. Aquestes cel·les temporals utilitzen text Solarized base3 (#fdf6e3). NEW i RECOVERED marquen transicions observades del cicle de vida. Les instantànies inicials i els canvis de subscripció estableixen una referència sense avisos d’incorporació. Els comptadors sense activitat no impliquen que els nodes siguin obsolets o estiguin desconnectats.

La taula i el graf comparteixen els mateixos indicadors. Una línia fixa d’esdeveniments recents mostra l’última transició de cicle de vida o d’estat, la seva antiguitat i qualsevol altre esdeveniment dels 30 segons anteriors. Desapareix al cap de 30 segons i s’omet en terminals molt baixos. Els indicadors de comptadors i filtres duren aproximadament un segon i els de cicle de vida uns cinc segons; expiren en el següent tic de la interfície encara que la captura estigui en pausa.

A Settings en mode remot, seleccioneu Nodes highlighting i premeu Enter per alternar entre normal (per defecte) i quiet. El mode silenciós conserva els colors persistents del text de CPU/RAM, les etiquetes, l’estat i els esdeveniments recents, però suprimeix els fons temporals de comptadors, filtres i cicle de vida i els ressalts de les vores. El canvi té efecte immediat sense reiniciar la captura i es desa com a watch.nodes_highlighting al fitxer de configuració.

Afegir nodes de manera interactiva

Podeu afegir nodes sense editar el fitxer de nodes:

  1. Aneu a la pestanya Nodes (Alt+2)
  2. Seleccioneu el camp d’entrada i premeu Enter
  3. Escriviu l’adreça del processador (p. ex., 192.168.1.100:55555)
  4. Feu clic a Confirm o premeu Enter per connectar-vos; Cancel tanca el diàleg per afegir un node. Feu clic al camp d’adreça per donar-li el focus.

Gestió de subscripcions a Hunters

Per defecte, en connectar-vos a un processador es transmeten els paquets de tots els seus Hunters. Les subscripcions a Hunters us permeten centrar-vos en segments de xarxa concrets.

Subscripció a Hunters

Seleccioneu un processador a la pestanya Nodes i premeu s. Feu clic a les caselles dels Hunters o a les seves etiquetes per alternar les subscripcions, o navegueu amb ↑ / ↓ i alterneu-les amb Space. All i None modifiquen tota la llista. Trieu Confirm (o premeu Enter mentre la llista tingui el focus) per aplicar els canvis; Cancel o Esc els descarta. Confirmar una selecció buida no subscriu a cap Hunter.

Cancel·lació de la subscripció

  • Un sol Hunter: aneu al Hunter i premeu d
  • Tots els Hunters: obriu el selector (s), desmarqueu-los tots i confirmeu

Avantatges

  • Redueix l’amplada de banda: només els Hunters als quals esteu subscrits transmeten paquets a la vostra TUI
  • Permet centrar-vos en segments concrets sense soroll dels altres
  • Diversos clients TUI poden tenir subscripcions independents al mateix processador

Gestió de filtres

La TUI ofereix gestió interactiva de filtres per als processadors connectats i els seus Hunters. Els filtres controlen quin trànsit capturen i reenvien els Hunters: són el mecanisme principal per seleccionar trucades, dominis o amfitrions concrets en un desplegament distribuït. Els filtres es poden aplicar globalment (a tots els Hunters) o a Hunters concrets.

Gestió de filtres des de la TUI

A la pestanya Nodes, premeu f per obrir la vista de gestió de filtres. Això us permet:

  • Veure els filtres actius del processador connectat
  • Crear filtres nous amb tipus i patró
  • Activar/desactivar filtres sense eliminar-los
  • Eliminar els filtres que ja no necessiteu

Feu clic en una fila de filtre per seleccionar-la i després utilitzeu Edit o Delete; fer clic a la casella alterna l’estat d’activació sense obrir l’editor. New crea un filtre i Close tanca el gestor. Search, Type i Status es poden clicar; Clear search elimina el text de cerca. L’eliminació requereix confirmació.

A l’editor, feu clic als camps de text, les opcions de tipus, la casella d’activació o els Hunters de destinació. Save valida i envia l’esborrany; Cancel el descarta. El selector de destinataris només ofereix Hunters compatibles, amb els controls All, None, Confirm i Cancel. Cancel·lar la selecció de destinataris conserva l’esborrany pare. Una llista buida de destinataris del filtre significa tots els Hunters compatibles; això és diferent d’una subscripció de paquets buida, que no rep res.

Els canvis de filtre tenen efecte immediat: el processador envia els filtres actualitzats a tots els Hunters connectats.

L’editor interactiu gestiona els tipus de filtre simples de VoIP, DNS, TLS, HTTP, correu electrònic i universals. Pot mostrar i eliminar filtres RADIUS existents, però per crear-los, editar-los, activar-los, desactivar-los o revisar-los cal lc set filter, per conservar les dades estructurades d’àmbit i revisió.

Tipus de filtre

L’editor de la TUI admet filtres de VoIP, DNS, TLS, HTTP, correu electrònic i universals. La creació i modificació de filtres RADIUS continuen restringides a CLI/YAML. Consulteu l’Apèndix E: Referència dels tipus de filtre per veure la llista completa de tipus gestionats des de la CLI.

Alternativa CLI

Per a operacions amb filtres mitjançant scripts o per lots, utilitzeu les ordres CLI (vegeu Administració amb la CLI):

Llisteu els filtres actuals:

lc list filters -P processor:55555 --tls-ca ca.crt

Creeu un filtre:

lc set filter -P processor:55555 --tls-ca ca.crt \
  --type sip_user --pattern "alicent@example.com"

Mostreu els detalls del filtre:

lc show filter --id myfilter -P processor:55555 --tls-ca ca.crt

Elimineu un filtre:

lc rm filter --id myfilter -P processor:55555 --tls-ca ca.crt

Configuració TLS

Opcions de la línia d’ordres

Utilitzeu TLS de servidor per verificar el certificat del processador:

lc watch remote -P processor.example.com:55555 --tls-ca ca.crt

Utilitzeu TLS mutu perquè totes dues parts s’autentiquin:

lc watch remote -P processor.example.com:55555 --tls-ca ca.crt --tls-cert client.crt --tls-key client.key

Ometeu la verificació per tenir una connexió xifrada sense comprovació d’identitat (només per a proves):

lc watch remote -P processor.example.com:55555 --tls-skip-verify

Desactiveu completament TLS per a proves. El mode de producció bloqueja aquesta opció:

lc watch remote -P localhost:55555 --insecure

TLS per node al fitxer de nodes

Quan us connecteu a diversos processadors amb autoritats de certificació diferents:

processors:
  - name: production
    address: prod-processor.internal:55555
    tls:
      enabled: true
      ca_file: /etc/lippycat/certs/prod-ca.crt
      cert_file: /etc/lippycat/certs/prod-client.crt
      key_file: /etc/lippycat/certs/prod-client.key

  - name: staging
    address: staging-processor.internal:55555
    tls:
      enabled: true
      ca_file: /etc/lippycat/certs/staging-ca.crt

Fitxer de configuració

Els valors per defecte de TLS es poden definir al fitxer de configuració:

watch:
  tls:
    enabled: true
    ca_file: "/etc/lippycat/certs/ca.crt"
    cert_file: ""
    key_file: ""

La configuració TLS per node de nodes.yaml substitueix aquests valors per defecte.

Supervisió de diversos nodes

Desplegament en diversos centres

processors:
  - name: nyc-processor
    address: nyc-monitor.company.com:55555
    tls:
      enabled: true
      ca_file: /etc/lippycat/certs/ca.crt

  - name: london-processor
    address: lon-monitor.company.com:55555
    tls:
      enabled: true
      ca_file: /etc/lippycat/certs/ca.crt

Segmentació de xarxa

Superviseu diferents zones des d’una sola TUI:

processors:
  - name: dmz-processor
    address: 192.168.1.10:55555

  - name: internal-processor
    address: 10.0.0.50:55555

  - name: guest-wifi-processor
    address: 172.16.0.20:55555

Subscripcions a Hunters preseleccionades

Limiteu de quins Hunters rebeu dades en iniciar:

processors:
  - name: main-processor
    address: processor.example.com:55555
    subscribed_hunters:
      - "edge-hunter-01"
      - "edge-hunter-03"

Resolució de problemes

“Failed to connect to node”

Comproveu que el processador està en execució i escoltant:

ss -tlnp | grep 55555

Proveu la connectivitat de xarxa:

nc -zv processor-host 55555

Comproveu les regles del tallafoc:

sudo iptables -L -n | grep 55555

No es mostren paquets

  • Comproveu que els Hunters estan realment connectats al processador: lc list hunters -P processor:55555 --tls-ca ca.crt
  • Comproveu que hi ha trànsit a la interfície del Hunter: sudo tcpdump -i eth0 -c 10
  • Comproveu si esteu subscrits a algun Hunter (premeu s a la pestanya Nodes)
  • Proveu-ho sense filtres BPF per descartar un filtratge excessiu

Desconnexions freqüents

  • Comproveu l’estabilitat de la xarxa: ping -c 100 processor-host
  • Superviseu l’ús de recursos del processador: top -p $(pgrep lippycat)
  • Augmenteu els límits de connexió del sistema: ulimit -n 4096
  • Reviseu si hi ha errors als registres del processador

Notes sobre el rendiment

La TUI remota és lleugera: només mostra dades, no captura paquets:

RecursÚs habitual
CPU~1-5% (renderització de la visualització)
Memòria~50-100MB (depèn de la mida del búfer)
XarxaMínim (rep dades processades)

Ajusteu --buffer-size per controlar l’ús de memòria (per defecte: 10.000 paquets).

  • Processadors per TUI: 5-10 per a una interfície àgil
  • Total de Hunters visibles: 50-100 segons la latència de xarxa