Splunk è molto più di un motore di ricerca altamente efficiente. Questa soluzione multipiattaforma acquisisce, indicizza e correla dati in tempo reale provenienti da fonti diverse, li archivia in un repository ricercabile e crea visualizzazioni. Come qualsiasi altro servizio nel tuo ambiente, Splunk può e deve essere monitorato, idealmente con uno strumento esterno e su un'altra macchina.

Dopo una breve introduzione a Splunk, questo articolo descrive i componenti di Splunk che possono essere osservati. Nell'ultima sezione mostreremo come sia facile integrare il monitoraggio di Splunk in Checkmk: in questo modo non dovrai più accedere alla GUI di Splunk, ma avrai tutto in un unico posto.

Che cos'è Splunk?

In poche parole: Splunk rende leggibili i dati delle macchine e offre accesso a tutti i tipi di dati che di solito sono in formato non strutturato e piuttosto difficili da comprendere. Splunk identifica schemi, fornisce metriche e genera grafici, report, avvisi, dashboard e altre visualizzazioni. Splunk può indicizzare quasi tutti i tipi di dati, come flussi, dati macchina e storici, ad esempio file di log, feed di rete, ecc.

In pratica, si punta il software verso la fonte di dati di propria scelta, che diventa un input di dati. Per ottenere dati remoti, Splunk può leggere feed di rete o ricevere dati dai cosiddetti forwarder, installati sui diversi host da cui provengono i dati. Inoltre, esistono applicazioni e componenti aggiuntivi con input preconfigurati per fonti di dati specifiche, ad esempio da host Linux o Windows, dati di Cisco Security o Symantec Blue Coat e così via.

Poiché Splunk elabora ed estrae i dati rilevanti, aiuta gli amministratori a identificare e localizzare i problemi nella loro infrastruttura IT. Ma che dire di Splunk stesso? Se utilizzi Splunk nella tua organizzazione, molto probabilmente svolge un ruolo chiave ed è quindi importante tenerlo sotto controllo. Diamo prima un'occhiata alle basi.

Monitoraggio di Splunk: le basi

Un buon inizio è l'esame dei file di log. Splunk genera molti di questi, ad esempio i log interni (attività degli utenti, volume indicizzato in byte, snapshot periodici delle prestazioni di Splunk e dei dati di sistema, log per il server Splunk splunkd e altro ancora), i log di introspezione (dati sull'impatto del software Splunk sul sistema host) e i log di ricerca (dati su una ricerca, compreso il tempo di esecuzione e altre metriche di prestazione).

Inoltre, è importante controllare lo stato generale di Splunk, cioè la sua topologia e le sue prestazioni. Ciò include le prestazioni di ricerca e indicizzazione, l'utilizzo delle risorse e delle licenze, ecc. Ecco una panoramica delle cose da controllare:

  • Avvisi Splunk
  • Stato di salute di Splunk
  • Lavori di Splunk
  • Licenza Splunk
  • Utilizzo della licenza Splunk
  • Messaggi di sistema di Splunk

Se hai già familiarità con tutti questi aspetti, puoi passare direttamente alla sezione "Come monitorare Splunk con Checkmk". In caso contrario, leggi la sezione successiva per informazioni più dettagliate sui componenti di Splunk.

Avvisi, salute, lavori e licenze

Come probabilmente sai, è possibile configurare gli avvisi in Splunk, in modo che possa rispondere a determinati eventi e attivare un'azione quando un risultato di ricerca soddisfa una condizione specifica. Un'azione di avviso può essere una notifica via e-mail, un'azione webhook per visualizzare messaggi in una chat room, ecc. Una volta configurati gli avvisi in Splunk, è bene tenere traccia del numero di allarmi attivati: un numero eccessivo o insufficiente di avvisi può essere un'indicazione di un servizio Splunk mal configurato.

Il Rapporto sullo stato di salute di Splunk offre informazioni dettagliate sul servizio splunkd. Fornisce informazioni sullo stato generale e mostra indicatori per particolari funzioni, come il File Monitor Input, l'Index Processor, il Search Scheduler, ecc. Il rapporto sullo stato di salute utilizza diversi colori: il verde indica che la funzione funziona correttamente, il giallo indica che la funzione presenta dei problemi e il rosso indica che il problema è grave. Un modo per accedere al rapporto sullo stato di salute è l'interfaccia web di Splunk, ma è anche possibile controllare le funzioni tramite l'API REST di Splunk, come fa l'agente speciale Checkmk.

In linea di principio, ogni query di ricerca in Splunk è un lavoro e se ci sono troppi lavori o troppi lavori non completati/falliti, il sistema può diventare instabile. Tieni quindi sotto controllo il conteggio dei lavori, i lavori falliti e i lavori zombie (che non hanno mai raggiunto lo stato "terminato").

Se si supera il volume massimo di indicizzazione giornaliera consentito dalla licenza Splunk, viene emesso un avviso e il superamento del limite di avviso della licenza causa una violazione della licenza. Durante questo periodo di violazione, Splunk continuerà a indicizzare i dati, ma la ricerca (non per l'indice interno), i report programmati e gli avvisi saranno bloccati. Per questo motivo è necessario monitorare le licenze stesse e l'utilizzo delle licenze.

Qual è la differenza? Quando si monitora la licenza, si ricevono informazioni sul suo stato (valida/scaduta), sul tempo di scadenza, sulle violazioni massime (fino al blocco della ricerca) e sulla quota consentita (volume di dati che può essere indicizzato al giorno). Per verificare se si è vicini a raggiungere il limite della quota, è necessario un altro controllo: l'utilizzo della licenza. Questo ti dirà quanti dati sono stati indicizzati (e questo include il volume di dati sugli slave).

Infine, ma non meno importante, è necessario controllare i messaggi di sistema di Splunk. Normalmente è possibile accedere ai messaggi tramite l'interfaccia web di Splunk, ma è possibile accedere a queste notifiche anche tramite l'API REST, quindi perché non inviarle alla soluzione di monitoraggio esterna?

Come monitorare Splunk con Checkmk

Come ho già detto, Checkmk ha un agente speciale per Splunk che utilizza l'API REST di Splunk per accedere alle informazioni su avvisi, lavori, stato di salute e licenze di Splunk. L'impostazione del monitoraggio in Checkmk è semplice: Creare un nuovo host(WATO ➳ Hosts, Create new host), selezionare la casella di controllo IP Address Family e scegliere No IP dal menu a discesa. Aprire la sezione FONTI DI DATI, attivare la casella di controllo Agente Check_MK e selezionare Nessun agente Checkmk, tutti gli agenti speciali configurati dal menu a discesa o Agente Checkmk normale, tutti gli agenti speciali configurati se l'agente Checkmk è installato.

Quindi, creare una nuova regola. Nel nostro esempio, è necessaria la regola Controlla stato di Splunk, che si può trovare tramite la casella di ricerca in WATO ➳ Parametri host e servizi. Dovrebbe essere elencata sotto Programmi sorgente dati. Nella finestra di configurazione inserire il nome dell'istanza di Splunk (FQDN o indirizzo IP) che si desidera osservare, il nome utente e la password di Splunk. Se si utilizza Splunk ≥8.0, assicurarsi di scegliere HTTPS nel menu a discesa Protocollo , anche se la GUI di Splunk è ancora accessibile via HTTP. È possibile selezionare varie caselle di controllo per decidere cosa monitorare: Stato della licenza, Utilizzo della licenza, Messaggi di sistema, Lavori, Salute e Avvisi.

05_configura_fonte_di_dati

Osservare l'osservatore

I sistemi IT che non funzionano possono costare all'azienda più del denaro: possono danneggiare la reputazione, costare ai clienti o addirittura il posto di lavoro. Il monitoraggio e la misurazione delle prestazioni dei server e dei servizi dell'infrastruttura sono quindi fondamentali. È facile tenere sotto controllo Splunk e i suoi componenti, poiché il software offre un'API REST che consente di accedere facilmente alle informazioni essenziali. Se stai già utilizzando Checkmk per monitorare la tua infrastruttura e i tuoi servizi, ti basteranno pochi clic per includere Splunk.

Se hai domande o vuoi condividere i tuoi suggerimenti e trucchi, lascia un commento o discuti di questo argomento nel nostro Forum Checkmk!