Devo sostituire munin con qualcosa di più scalabile

Ho usato munin su più server per molti anni con grande successo, tuttavia con più di 100 munin-nodes e quando c'è carico sui client, l'elaborazione sta timing out.

Ho effettuato alcune modifiche di scalabilità al lavoro cron e numero di processi client, e ho ridotto il numero di plugin in esecuzione ecc. Ma ho deciso di cercare un'alternativa che abbia un'architettura più scalabile.

Eventuali suggerimenti o esperienze sarebbero benvenuti. Sono fondamentalmente interessato alle metriche del server che la cabina viene utilizzata per la pianificazione della capacità e la diagnosi di utilizzo delle risorse. (abbiamo nagios per avvisare)

  • Quali sono le buone risorse per l'apprendimento di PowerShell scripting?
  • Quali grandi riviste di amministratore di sistema sono là fuori?
  • Qual è un buon modo per determinare l'utilizzo del collegamento di un server?
  • Imansible passare, ssh a utente specifico: su: Imansible impostare id utente: Resource temporaneamente non disponibile?
  • Qualcosa mangia tutta la memory (sospetto perdita di memory su qualche app). Come rilevare cosa?
  • Codici di errore BSOD
  • L'etichetta VPS e le modalità di utilizzo delle risorse del server
  • Come si può eseguire uno script prologo come root in gridengine?
  • 5 Solutions collect form web for “Devo sostituire munin con qualcosa di più scalabile”

    Sembra che tu possa avere due problemi

    1. Sul server di monitoraggio, la logging delle metriche per un sacco di server richiede più I / O random che la tua memory può fornire. Anche se tutte le metriche vengono scritte su disco, il server potrebbe essere troppo sovraccaricato per generare grafici da loro.
    2. Nei tuoi clienti monitorati, i plugin che raccolgono le metriche sono troppo CPU e memory intensiva e non finiscono di raccogliere i dati in tempo quando i clienti stanno vivendo un carico pesante.

    Ho usato Munin in passato, ma sto attualmente utilizzando il collectd . Gli autori di collectd hanno messo un sacco di pensieri e sforzi per risolvere questi problemi. Hanno un sistema ben progettato per la scrittura dei dati in file RRD che garantisce di non perdere dati e di generare grafici aggiornati. C'è anche il supporto per RRDCacheD . Il demone ei plugin ufficiali sono scritti in C, quindi utilizzano poco tempo di memory o CPU. Nei miei sisthemes client utilizza less di 2 MB di RAM e circa un quarto di secondo di CPU each minuto. Sul mio server di monitoraggio utilizza 20 MB di RAM e due terzi di un secondo di CPU each minuto. Tieni presente che tutte le mie metriche vengono raccolte e inviate al mio server di monitoraggio each dieci secondi, piuttosto che a intervalli di minuti come munin.

    Anche se sono grandi strumenti, Munin e altri frontendori RRDTool (come Cacti o Ganglia) hanno conosciuto problemi di I / o e sono dificcult a scala quando si monitorano i nodes di nodes.

    Ci sono alcune tecniche per affrontare questo bottleneck di i / o però. Una di queste tecniche è quella di diffondere le scritture su un gran numero di dischi per ridurre i / o in ciascun disco. D'altra parte, molti sysadmin utilizzano i filesystem tmpfs per affrontare questo problema. RRDCached è anche una recente e buona opzione per affrontare questo problema e ti consiglio di dare un'occhiata a queste diapositive .

    Non ho familiarità con Munin, ma Cacti ha un plugin Boost . Questo plugin memorizza i dati in memory e esegue aggiornamenti di massa e su richiesta sul disco, anziché da singole scritture, riducendo così l'i / o. Sono abbastanza sicuro che Munin abbia anche qualcosa di simile.

    Se li puoi permettere, i dischi SSD sono anche buone opzioni.

    Ultimo ma non less importnte, puoi anche dare un'occhiata a Reconnoiter . Recconoiter è un nuovo riconoscimento di guasto e strumento di grafica / tendenza. A differenza di molti strumenti di Trending, Reconnoiter non è basato su RRDTool e cerca di risolvere questo problema specifico. Non sto usando Reconnoiter nella produzione, ma ho fatto delle prove, e nonostante sia ancora un po 'verde ", sembra davvero promettente, soprattutto per quanto riguarda la sua scalabilità.

    Spero che questo ti aiuti!

    Scopri Zabbix . È uno dei migliori strumenti di monitoraggio delle performance di Open Source là fuori. Si scala bene e è stato utilizzato in ambienti con migliaia di computer.

    Marco Ramos dà qualche consiglio solido. Voglio aggiungere qualche chiarimento, comunque: il grosso problema con munin è fissato un programma di raccolta di 5 minuti. Se tutti i nodes non restituiscono i risultati entro la window di 5 minuti, cominciate a ricevere i dropout. Questo è il problema più grande con munin.

    Altri strumenti basati su rrdtool come Ganglia non sono bloccati in questa stessa window di aggiornamento di 5 minuti perché non sondano tutte le origini dati nello stesso modo sequenziale che munin fa.

    Ti consiglio di guardare Ganglia perché generalmente sembra scalare bene (anche se devi distriggersre la raccolta dati multicast per un'installazione di grandi gangli). Sospetto che tu possa andare molto a lungo con i gangli prima di cominciare a preoccuparsi del fatto che il rrdtool è il punto di strozzamento. A quel punto si possono fare i tipi di cose che Marco suggerisce, come l'utilizzo di unità SSD.

    Sto sostituendo Munin w / Ganglia, Munin uccide il mio server in modo da dare a Ganglia una prova e vedere come scala.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.