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:
- Camí indicat amb
--nodes-file ~/.config/lippycat/nodes.yaml./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ó
| Camp | Obligatori | Descripció |
|---|---|---|
name | Sí | Nom del node que es mostra |
address | Sí | Adreça en format host:port |
tls.enabled | No | Activa TLS per a aquest node |
tls.ca_file | No | Camí del certificat de la CA |
tls.cert_file | No | Camí del certificat del client (mTLS) |
tls.key_file | No | Camí de la clau privada del client (mTLS) |
tls.skip_verify | No | Omet la verificació del certificat (només per a proves) |
subscribed_hunters | No | Llista 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
| Tecla | Acció |
|---|---|
Tab | Canvia de pestanya |
De Alt+1 a Alt+5 | Salta a una pestanya (1=Capture, 2=Nodes, 3=Statistics, 4=Settings, 5=Help) |
Space | Pausa/reprèn la visualització de paquets |
q / Ctrl+C | Sortir |
? | 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.
| Tecla | Acció |
|---|---|
j / k / ↑ / ↓ | Navega pels paquets |
g / Home | Anar al primer paquet |
G / End | Anar a l’últim paquet |
Enter | Mostra els detalls del paquet |
Ctrl+S | Desa els paquets en un fitxer PCAP |
Vista Nodes
| Tecla | Acció |
|---|---|
↑ / ↓ o j / k | Navega per la llista de nodes |
Enter | Connecta al processador / edita l’entrada |
s | Obre el selector de subscripcions a Hunters |
d | Cancel·la la subscripció al Hunter o elimina el processador |
Esc | Tanca el diàleg / surt de l’entrada |
Vista de trucades (VoIP)
| Tecla | Acció |
|---|---|
j / k | Navega per les trucades |
Enter | Mostra 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:
- Aneu a la pestanya Nodes (
Alt+2) - Seleccioneu el camp d’entrada i premeu
Enter - Escriviu l’adreça del processador (p. ex.,
192.168.1.100:55555) - Feu clic a Confirm o premeu
Enterper 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
sa 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) |
| Xarxa | Mínim (rep dades processades) |
Ajusteu --buffer-size per controlar l’ús de memòria (per defecte: 10.000 paquets).
Límits recomanats
- Processadors per TUI: 5-10 per a una interfície àgil
- Total de Hunters visibles: 50-100 segons la latència de xarxa