Monitoraggio dei file di log linux in System Center Operations Manager
Nota
System Center Operations Manager non supporterà il monitoraggio dei file di log basati su FluentD al ritiro dell'agente OMS pianificato per agosto 2024.
System Center Operations Manager ha ora funzionalità avanzate di monitoraggio dei file di log per i server Linux usando la versione più recente dell'agente che usa Fluentd. Questo aggiornamento offre i miglioramenti seguenti rispetto al monitoraggio dei file di log precedente:
- Caratteri jolly nel nome e nel percorso del file di log.
- Nuovi modelli di corrispondenza per la ricerca log personalizzabile, ad esempio corrispondenza semplice, corrispondenza esclusiva, corrispondenza correlata, correlazione ripetuta ed esclusiva correlazione.
- Supporto per i plug-in Fluentd generici pubblicati dalla community fluentd.
Operazione di base
Il funzionamento di base del monitoraggio dei file di log in Linux include i passaggi seguenti:
- Il record viene scritto in un log in un agente Linux.
- Fluentd raccoglie il record e crea un evento in base alla corrispondenza del criterio.
- L'evento viene inviato al servizio OMED nel server di gestione e registrato nel registro eventi del servizio OMED di System Center nel server di gestione. (L'oggetto Il registro eventi del servizio OMED di System Center viene creato solo quando un evento è stato inviato correttamente da un agente Fluentd)
- Regole e monitoraggi in un Management Pack personalizzato raccolgono eventi e creano avvisi in Operations Manager.
Panoramica della configurazione
Il monitoraggio dei file di log richiede la procedura seguente. Le informazioni dettagliate sono disponibili nelle sezioni seguenti:
- Importare il Management Pack di System Center Operations Manager 2019 Linux più recente.
- Installare la versione più recente dell'agente Linux in ogni computer Linux da monitorare.
- Installare omsAgent più recente in ogni computer Linux da monitorare.
- Creare un file di configurazione Fluentd per raccogliere i log.
- Copiare il file di configurazione in agenti Linux.
- Creare regole e monitoraggi usando il Management Pack di esempio per raccogliere gli eventi dal log e creare avvisi.
- Importare l'ultimo Management Pack linux di System Center Operations Manager 2022.
- Installare la versione più recente dell'agente Linux in ogni computer Linux da monitorare.
- Installare omsAgent più recente in ogni computer Linux da monitorare.
- Creare un file di configurazione Fluentd per raccogliere i log.
- Copiare il file di configurazione in agenti Linux.
- Creare regole e monitoraggi usando il Management Pack di esempio per raccogliere gli eventi dal log e creare avvisi.
Installare il Management Pack di monitoraggio dei log
Installare il Management Pack Microsoft.Linux.Log.Monitoring per abilitare il monitoraggio dei file di log linux.
Nota
Se l'agente OMS è configurato e si tenta di disinstallare l'agente UNIX e LINUX dalla console, il componente OMS non verrà disinstallato dall'agente.
Configurare il monitoraggio dei file di log linux
Per configurare il monitoraggio dei file di log linux, seguire questa procedura:
Importare il Management Pack di System Center Operations Manager 2019 Linux più recente usando il processo standard per l'installazione di un Management Pack.
Installare il nuovo agente Linux nei server Linux manualmente o tramite [using Discovery wizard](/system-center/System Center Operations Manager/manage-deploy-crossplat-agent-console).
Installare l'agente OMS più recente in ogni computer Linux da monitorare. Usare i comandi seguenti:
# Download latest OMS Agent from GitHub wget https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/master/installer/scripts/onboard_agent.sh # Run onboarding script sh onboard_agent.sh
Eseguire la procedura seguente nell'agente Linux:
Importare il Management Pack di System Center Operations Manager 2022 Linux più recente usando il processo standard per l'installazione di un Management Pack.
Installare il nuovo agente Linux nei server Linux manualmente o tramite [using Discovery wizard](/system-center/System Center Operations Manager/manage-deploy-crossplat-agent-console).
Installare l'agente OMS più recente in ogni computer Linux da monitorare. Usare i comandi seguenti:
# Download latest OMS Agent from GitHub wget https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/master/installer/scripts/onboard_agent.sh # Run onboarding script sh onboard_agent.sh
Eseguire la procedura seguente nell'agente Linux:
Creare le cartelle nei percorsi seguenti con i comandi seguenti:
# Create omsagent.d folder mkdir -p /etc/opt/microsoft/omsagent/scom/conf/omsagent.d # Create certs folder mkdir /etc/opt/microsoft/omsagent/scom/certs # Create log folder mkdir -p /var/opt/microsoft/omsagent/scom/log # Create run folder mkdir /var/opt/microsoft/omsagent/scom/run # Create state folder mkdir /var/opt/microsoft/omsagent/scom/state # Create tmp folder mkdir /var/opt/microsoft/omsagent/scom/tmp # Create fluent-logging folder (used for log file position file, this location is flexible) mkdir -p /home/omsagent/fluent-logging
Impostare la proprietà su ognuna delle cartelle precedenti su
omsagent:omiusers
:# Change owner of System Center Operations Manager folder chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom # Change owner of log folder chown omsagent:omiusers /var/opt/microsoft/omsagent/scom/log # Change owner of run folder chown omsagent:omiusers /var/opt/microsoft/omsagent/scom/run # Change owner of state folder chown omsagent:omiusers /var/opt/microsoft/omsagent/scom/state # Change owner of tmp folder chown omsagent:omiusers /var/opt/microsoft/omsagent/scom/tmp # Change owner of fluent-logging folder (used for log file position file, this location is flexible) chown omsagent:omiusers /home/omsagent/fluent-logging
Creare file omsagent e omsconfig:
# Create omsadmin.conf file touch /etc/opt/microsoft/omsagent/scom/conf/omsadmin.conf # Create omsagent.conf file touch /etc/opt/microsoft/omsagent/scom/conf/omsagent.conf
Impostare la proprietà su ognuno dei file precedenti su
omsagent:omiusers
:# Change owner of omsadmin.conf file chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom/conf/omsadmin.conf # Change owner of omsagent.conf file chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom/conf/omsagent.conf
Modificare il file
/etc/opt/microsoft/omsagent/scom/conf/omsadmin.conf
e aggiungere le informazioni seguenti dopo aver modificato le informazioni evidenziate.WORKSPACE_ID=scom System Center Operations Manager_ENDPOINT=https://<mark>\<MSFQDN\></mark>:8886 MONITORING_ID={274F8D7B-DBCA-8FC3-1451-8DCD55092156}
Riavviare OMSAgent:
/opt/microsoft/omsagent/bin/service_control restart
Verificare lo stato nel log omsagent:
tail -100 /var/opt/microsoft/omsagent/scom/log/omsagent.log
Abilitare il servizio OMED
Abilitare il servizio OMED in ogni server di gestione nel pool di risorse, gestendo gli agenti Linux.
Il servizio OMED raccoglie gli eventi da Fluentd e li converte in eventi di Operations Manager. Si importa un Management Pack personalizzato, che può generare avvisi in base agli eventi ricevuti dai server Linux.
È possibile abilitare il servizio OMED dalla Console operatore o manualmente nel server di gestione o nel server gateway.
- Dalla Console operatore passare a Monitoraggio dello>stato dei server di gestione del server>di gestione di Operations Manager.>
- Selezionare il server di gestione nello stato Server di gestione.
- In Attività selezionare Servizio integrità Attività>Abilita server System Center OMED.
Aggiungere una regola del firewall OMED
Per abilitare la regola del firewall OMED sono disponibili due opzioni, aggiungere automaticamente la porta (TCP/8886) tramite PowerShell o manualmente.
- Aggiungere automaticamente una regola con PowerShell
- Aggiungere manualmente una regola con Windows Firewall
Seguire questa procedura per aggiungere automaticamente una regola con PowerShell:
Il comando seguente consente di aggiungere automaticamente la regola del firewall:
Set-NetFirewallRule -DisplayName "System Center Operations Manager External DataSource Service" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 8886
Assegnare un certificato client per OMSAgent
Sono disponibili due opzioni per l'assegnazione del certificato client per OMSAgent.
- Collegamento al certificato firmato dall'agente OMI.
- Generare manualmente un certificato client per l'agente OMS.
Selezionare la scheda richiesta per i passaggi da collegare al certificato firmato dall'agente OMI o generare manualmente un certificato client dall'agente OMS:
- Collegare il certificato dell'agente OMI all'agente OMS
- Generare un certificato client per l'agente OMS
Impostare la proprietà sul
omi.pem
file eomikey.pem
suomsagent:omiusers
:# Change owner of System Center Operations Manager-cert.pem file chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom/certs/scom-cert.pem # Change owner of System Center Operations Manager-key.pem file chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom/certs/scom-key.pem
Eseguire il comando seguente nel computer Linux per impostare il certificato client dell'agente OMS sul certificato OMI (certificato agente Linux di Operations Manager):
# Link file omi.pem to System Center Operations Manager-cert.pem ln -s /etc/opt/omi/ssl/omi.pem /etc/opt/microsoft/omsagent/scom/certs/scom-cert.pem # Link file omikey.pem to System Center Operations Manager-key.pem ln -s /etc/opt/omi/ssl/omikey.pem /etc/opt/microsoft/omsagent/scom/certs/scom-key.pem
Creare un file di configurazione fluentd
L'operazione Fluentd viene configurata usando un file di configurazione. Per usare il monitoraggio dei log, è necessario creare un file di configurazione. Il file di configurazione include informazioni quali il nome del file di log di origine, il percorso e i filtri per definire i dati da raccogliere.
Il file di configurazione master Fluentd omsagent.conf si trova in /etc/opt/microsoft/omsagent/scom/conf/
. È possibile aggiungere la configurazione di monitoraggio dei file di log direttamente a questo file, ma creare un file di configurazione separato per gestire meglio le diverse impostazioni. Usare quindi una @include direttiva nel file master per includere il file personalizzato.
Ad esempio, se è stato creato logmonitoring.conf in /etc/opt/microsoft/omsagent/scom/conf/omsagent.d
, aggiungere una delle righe seguenti al file omsagent.d:
# Include all configuration files
@include omsagent.d/*.conf
or
# Include single configuration file
@include omsagent.d/logmonitoring.conf
Per altre informazioni sui file di configurazione fluentd, vedere sintassi dei file di configurazione Fluentd.
Le sezioni seguenti descrivono le impostazioni in direttive diverse del file di configurazione univoche per il monitoraggio dei file di log. Ognuna include impostazioni di esempio che è possibile incollare in un file di configurazione e modificare per i requisiti.
È disponibile un file di configurazione di esempio completo per il monitoraggio dei log per esaminare e valutare prima di crearne uno personalizzato.
Origine
La direttiva Source definisce l'origine dei dati raccolti, in cui si definiscono i dettagli del file di log. Fluentd preleva ogni record scritto nell'origine e invia un evento nel motore di routing di Fluentd. Specificare un tag qui in questa direttiva. Il tag è una stringa usata come indicazioni per il motore di routing interno di Fluentd per correlare direttive diverse.
L'esempio seguente mostra i record syslog raccolti e contrassegnati per l'elaborazione da Parte di Operations Manager.
<source>
# Specifies input plugin. Tail is a fluentd input plugin - http://docs.fluentd.org/v0.12/articles/in\_tail
type tail
# Specify the log file path. Supports wild cards.
path /var/log/syslog
# Recommended so that Fluentd will record the position it last read into this file.
pos_file /home/user1/fluent-test/demo_syslog.log.pos
# Used to correlate the directives.
tag System Center Operations Manager.log.syslog
format /(?<message>.*)/
</source>
Filtro
La direttiva filter ha la stessa sintassi di Match , ma consente un filtro più complesso dei dati da elaborare. Gli eventi raccolti devono corrispondere ai criteri di tutti i filtri da aggiungere all'output.
Esistono sei plug-in di filtro per il monitoraggio dei file di log descritto qui. Usare uno o più di questi filtri per definire gli eventi che si desidera raccogliere dal file di log.
- Corrispondenza semplice: filter_System Center Operations Manager_simple_match
- Corrispondenza esclusiva: filter_System Center Operations Manager_excl_match
- Correlazione ripetuta: filter_System Center Operations Manager_repeated_cor
- Corrispondenza correlata: filter_System Center Operations Manager_cor_match
- Correlazione esclusiva: filter_System Center Operations Manager_excl_correlation
- Convertitore di Operations Manager: filter_System Center Operations Manager_converter
Selezionare la scheda necessaria per copiare il codice per il rispettivo plug-in di filtro:
- Corrispondenza semplice
- Corrispondenza esclusiva
- Correlazione ripetuta
- Corrispondenza correlata
- Correlazione esclusiva
- Convertitore di Operations Manager
Accetta fino a 20 modelli di input. Invia un evento a Operations Manager ogni volta che viene trovata una corrispondenza con qualsiasi criterio.
<filter tag>
type filter_System Center Operations Manager_simple_match
regexp1 <key> <pattern>
event_id1 <event ID>
regexp2 <key> <pattern>
event_id2 <event ID>
.
.
.
regexp20 <key> <pattern>
event_id20 <event ID>
</filter>
Match
La direttiva match definisce come elaborare gli eventi raccolti dall'origine con tag corrispondenti. Solo gli eventi con un tag corrispondente al modello vengono inviati alla destinazione di output. Quando più modelli sono elencati all'interno di un tag di corrispondenza , gli eventi possono corrispondere a uno qualsiasi dei modelli elencati. Il parametro di tipo specifica il tipo di plug-in da usare per questi eventi.
Questo esempio elabora gli eventi con tag corrispondenti a System Center Operations Manager.log. ** e System Center Operations Manager.alert (** corrisponde a zero o più parti di tag). Specifica il plug-in out_System Center Operations Manager , che consente di raccogliere gli eventi dal Management Pack di Operations Manager.
<match System Center Operations Manager.log.** System Center Operations Manager.event>
# Output plugin to use
type out_System Center Operations Manager
log_level trace
num_threads 5
# Size of the buffer chunk. If the top chunk exceeds this limit or the time limit flush_interval, a new empty chunk is pushed to the top of the
queue and bottom chunk is written out.
buffer_chunk_limit 5m
flush_interval 15s
# Specifies the buffer plugin to use.
buffer_type file
# Specifies the file path for buffer. Fluentd must have write access to this directory.
buffer_path /var/opt/microsoft/omsagent/scom/state/out_System Center Operations Manager_common*.buffer
# If queue length exceeds the specified limit, events are rejected.
buffer_queue_limit 10
# Control the buffer behavior when the queue becomes full: exception, block, drop_oldest_chunk
buffer_queue_full_action drop_oldest_chunk
# Number of times Fluentd will attempt to write the chunk if it fails.
retry_limit 10
# If the bottom chunk fails to be written out, it will remain in the queue and Fluentd will retry after waiting retry_wait seconds
retry_wait 30s
# The retry wait time doubles each time until max_retry_wait.
max_retry_wait 9m
</match>
Nota
Per disabilitare l'autenticazione server nei computer Linux che usano la comunicazione Fluentd, aggiungere un parametro enable_server_auth false al plug-in Operations Manager per Fluentd, ad esempio quanto segue:
<match System Center Operations Manager.log.** System Center Operations Manager.event>
type out_System Center Operations Manager
max_retry_wait 9m
enable_server_auth false
</match>
Copiare il file di configurazione nell'agente
Il file di configurazione fluentd deve essere copiato in /etc/opt/microsoft/omsagent/scom/conf/omsagent.d in tutti i computer Linux da monitorare. È anche necessario aggiungere una @include direttiva nel file di configurazione master, come descritto in precedenza.
Riavviare omsagent
È possibile eseguire il comando seguente per riavviare omsagent:
/opt/microsoft/omsagent/bin/service_control restart
Controllare lo stato dell'area di lavoro di System Center Operations Manager
Eseguire il comando seguente per controllare l'area di lavoro di System Center Operations Manager in OMSAgent:
sh /opt/microsoft/omsagent/bin/omsadmin.sh -l
Nota
Nel server di gestione che esegue il servizio OMED verificare che il firewall sulla porta 8886 sia aperto e che l'archivio certificati delle autorità di certificazione intermedie contenga solo autorità di certificazione intermedie.
Registro eventi per System Center Operations Manager External DataSource Service
Il registro eventi di System Center OMED Service viene creato solo quando è presente un evento inviato correttamente al servizio OMED (External DataSource Service) di System Center Operations Manager.
Creare regole e monitoraggi
Il Management Pack di Linux non fornisce moduli per raccogliere eventi da FluentD, il Management Pack di Linux viene incluso nell'agente Linux. Si tratta del modulo fluentd nell'agente Linux e nel servizio OMED nel server di gestione e gateway che offre le funzionalità per il monitoraggio avanzato dei file di log.
È necessario creare un Management Pack personalizzato con regole e monitoraggi personalizzati che usano il modulo Microsoft.Linux.OMED.EventDataSource per raccogliere gli eventi da Fluentd. Tenere presente che il nome del computer nell'evento inviato tramite il registro eventi del servizio OMED di System Center deve corrispondere al nome del computer nella visualizzazione Computer UNIX/Linux. Se il nome del computer non corrisponde, non si riceverà alcun avviso.
Nella tabella seguente sono elencati i parametri di Microsoft.Linux.OMED.EventDataSource.
Parametro | Tipo | Descrizione |
---|---|---|
ComputerName | Stringa | Obbligatorio. Specifica il nome del computer Linux per cui devono essere letti gli eventi. Il parametro ComputerName viene in genere passato al modulo usando la notazione $Target, anche se può essere specificata come qualsiasi stringa. Questo modulo tenta di leggere gli eventi generati dal computer Linux specificato. |
ManagedEntityId | Stringa | Obbligatorio. Specifica l'ID entità gestita dell'entità monitorata. Il parametro ManagedEntityId viene in genere passato al modulo usando $Target\Id$. |
EventNumber | Intero | Facoltativo. Indica il numero di evento dell'evento da recuperare. Se questa opzione viene omessa, il modulo restituisce tutti gli eventi generati per il computer e l'entità gestita |
Passaggi successivi
Per creare una visualizzazione personalizzata per esaminare i dati di monitoraggio dal Management Pack di file di log personalizzato, vedere Uso delle visualizzazioni in Operations Manager.
Per informazioni su come analizzare i problemi identificati dal Management Pack di file di log personalizzato, vedere Visualizzazione di avvisi e dettagli attivi.