Introduzione
In questo documento viene descritto come configurare i server syslog per Network Services Orchestrator (NSO) 5.x.
Prerequisiti
Requisiti
Nessun requisito specifico previsto per questo documento.
Componenti usati
Il documento può essere consultato per tutte le versioni software o hardware.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Premesse
Requisiti di configurazione
Al termine dell'installazione, sono necessari i seguenti file:
- Il file di configurazione
/etc/rsyslog.conf
.
- La directory definita con i file di configurazione specifici è
/etc/rsyslog.d/
.
Per questa configurazione, utilizzare il servizio rsyslog, disponibile per impostazione predefinita in diverse distribuzioni Linux. Se non è disponibile sul server, scaricarlo come segue (RHEL/CentOS):
yum install rsyslog
Con NSO 5.1, gli elementi syslog-server che facevano parte ncs.conf
file reso obsoleto.
Nota: il supporto per il syslog tramite UDP è stato rimosso per conformità ai requisiti di sicurezza di Cisco. Il valore predefinito syslog
tramite libc syslog(3)
è ancora disponibile.
Per reindirizzare i registri NSO su un server remoto, fare riferimento al file Readme di Syslog Relay NSO e utilizzare la configurazione del relay del daemon syslog.
Configurazione
Per la configurazione sono necessari due set di file di configurazione. Una si trova sul server in cui viene eseguito NSO, in questo caso il mittente e l'altra si trova sul ricevitore (server remoto) che memorizza tutti i registri.
Passaggio 1: verificare che il ncs.conf
Il file contiene la seguente sezione:
<logs>
<syslog-config>
<facility>daemon</facility>
</syslog-config>
...
</logs>
Passaggio 2: configurare /etc/rsyslog.conf
come segue:
- Inferiore
#### RULES ####
; sezione aggiungi:
*.* @remote_ip
Ad esempio:
*.* @10.127.200.61
Questa riga indica al servizio rsyslog di reindirizzare anche i log del daemon 'all' sull'host remoto all'indirizzo IP specificato.
Passaggio 3: Aggiungere un nuovo file nella /etc/rsyslog.d/
come illustrato nell'esempio seguente.
- Il nuovo file è un file di configurazione da comunicare al
syslog daemon
dettagli sui file da inviare in rete al server remoto.
Ad esempio:
$ModLoad imfile
$InputFileName /var/log/ncs/devel.log
$InputFileTag devel:
$InputFileStateFile stat-devel
$InputFileSeverity info
$InputFileFacility local6
$InputRunFileMonitor
...
- Dopo aver definito tutti i file e averne fornito i dettagli, è possibile specificare dove inviare i file tramite il protocollo:
# Send over UDP
local6.* @remote_ip:port
Ad esempio:
local6.* @10.127.200.61:514
Passaggio 4: riavviare rsyslog
servizio:
service rsyslog restart
Nota: i passaggi da 2 a 4 devono essere eseguiti sul mittente, ovvero sul server in cui è attivo il servizio NSO.
Passaggio 5: rimuovere il commento dalla sezione per UDP/TCP in base ai requisiti indicati nel /etc/rsyslog.conf
file:
$ModLoad imudp
$UDPServerRun 514
Nota: la porta utilizzata per questo trasferimento è la 514.
Passaggio 6: Modificare la /etc/rsyslog.conf
file. Aggiungere le righe in ###MODULES###
sezione:
$template FileTemplate,"/var/log/ncs-server/%programname%.log"
if $programname startswith 'devel' then -?FileTemplate
if $programname startswith 'audit' then -?FileTemplate
if $programname startswith 'ncs' then -?FileTemplate
if $programname startswith 'ncs-java-vm' then -?FileTemplate
if $programname startswith 'ncserr' then -?FileTemplate
Nota: è possibile utilizzare il nome ncs-server per la directory.
In questo passaggio vengono definite le regole per archiviare i registri in modo specifico nell'NSO nel percorso designato.
Passaggio 7: Riavviare rsyslog
servizio:
service rsyslog restart
Nota: i punti da 5 a 7 devono essere eseguiti sul ricevitore, il server remoto, in cui si desidera archiviare i log.
Configurazioni aggiuntive
La funzionalità di inoltro del daemon syslog deve essere configurata eseguendo i seguenti passaggi. Tuttavia, in un ambiente di produzione il servizio Firewall e SELinux sono generalmente attivati. Se attivati, i registri non vengono archiviati in remoto. Per evitare problemi, aggiungere le seguenti configurazioni su entrambi i server:
semanage port -a -t syslogd_port_t -p udp 514
firewall-cmd --add-port=514/udp --permanent
firewall-cmd --reload
Verifica
Se i passaggi sono stati seguiti correttamente, il syslog
il server è configurato in modalità remota. Per verificarlo:
Sul server remoto:
nc -l -u -p 514
Dal mittente:
logger "Message from client"
Il server remoto deve aver ricevuto questo messaggio:
May 11 22:12:10 nso-recreate root: Message from client
Risoluzione dei problemi
Se l'inoltro non ha esito positivo, controllare nuovamente i file di configurazione.
È inoltre utile confermare lo stato di NSO e rsyslog
:
systemctl status ncs.service
Expected output: [root@nso-recreate ncs]# systemctl status ncs.service ● ncs.service - LSB: NCS Loaded: loaded (/etc/rc.d/init.d/ncs; bad; vendor preset: disabled) Active: active (runnin) since Tue 2022-05-10 21:55:59 EDT; 24h ago ... No other lines in red in the status output.
service rsyslog status
Expected output: [root@nso-recreate ncs]# service rsyslog status Redirectin to /bin/systemctl status rsyslog.service ● rsyslog.service - System Loggin Service Loaded: loaded (/usr/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled) Active: active (runnin) since Wed 2022-05-11 01:12:08 EDT; 21h ago ... No other lines in red in the status output.
È possibile controllare le regole firewall o le configurazioni SELinux. che possono bloccare il trasferimento del log alla destinazione remota.
systemctl status firewalld.service
sestatus