Condividi tramite


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:

  1. Il record viene scritto in un log in un agente Linux.
  2. Fluentd raccoglie il record e crea un evento in base alla corrispondenza del criterio.
  3. 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)
  4. 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:

  1. Importare il Management Pack di System Center Operations Manager 2019 Linux più recente.
  2. Installare la versione più recente dell'agente Linux in ogni computer Linux da monitorare.
  3. Installare omsAgent più recente in ogni computer Linux da monitorare.
  4. Creare un file di configurazione Fluentd per raccogliere i log.
  5. Copiare il file di configurazione in agenti Linux.
  6. Creare regole e monitoraggi usando il Management Pack di esempio per raccogliere gli eventi dal log e creare avvisi.
  1. Importare l'ultimo Management Pack linux di System Center Operations Manager 2022.
  2. Installare la versione più recente dell'agente Linux in ogni computer Linux da monitorare.
  3. Installare omsAgent più recente in ogni computer Linux da monitorare.
  4. Creare un file di configurazione Fluentd per raccogliere i log.
  5. Copiare il file di configurazione in agenti Linux.
  6. 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:

  1. Importare il Management Pack di System Center Operations Manager 2019 Linux più recente usando il processo standard per l'installazione di un Management Pack.

  2. 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).

  3. 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:

  1. Importare il Management Pack di System Center Operations Manager 2022 Linux più recente usando il processo standard per l'installazione di un Management Pack.

  2. 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).

  3. 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:

  1. 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
    
  2. 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
    

    Screenshot del monitoraggio dei file di log.

  3. 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
    
  4. 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
    
  5. Modificare il file /etc/opt/microsoft/omsagent/scom/conf/omsadmin.confe 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}
    
  6. Riavviare OMSAgent:

    /opt/microsoft/omsagent/bin/service_control restart
    
  7. 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.

  1. Dalla Console operatore passare a Monitoraggio dello>stato dei server di gestione del server>di gestione di Operations Manager.>
  2. Selezionare il server di gestione nello stato Server di gestione.
  3. 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.

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.

  1. Collegamento al certificato firmato dall'agente OMI.
  2. 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:

  1. Impostare la proprietà sul omi.pem file e omikey.pem su omsagent: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
    
  2. 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:

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