(Vedi in basso per gli aggiornamenti ...)
Ho scritto uno script del metodo di immissione dei dati per Cacti (in Ruby, per raccogliere statistiche da beanstalkd) e funziona dalla riga di comando (restituendo un singolo intero semplice, come documentato qui ) quando eseguito come account utente di cactus ma lo strumento Cacti di per sé non sta raccogliendo dati e non c'è nulla nei registri.
Ecco l'impostazione dei metodi di immissione dei dati: Metodo di immissione dei dati di cactus http://img.skitch.com/20091009-gh7g1kukn9yradj6y2iqrd5qm1.jpg
Ed ecco il grafico risultante (dopo che è stato aggiunto al modello di grafico di un host e lasciato funzionare abbastanza a lungo per raccogliere dati): Grafico cactus http://img.skitch.com/20091009-xq1kn3qxkteb5hb11wtx6tbs8m.jpg
Aggiornamento n. 1 : sembra che i cactus potrebbero spogliare l'ambiente:
sudo su - cactus -c 'env -i / script / beanstat --host 10.11.12.13 --port 11300 --stat current-waiting' / script / beanstat: 4: in `require ': nessun file da caricare - rubygems (LoadError) da / script / beanstat: 4
In tal caso, come potrei aggirarlo?
Aggiornamento n. 2 : questa risposta su stackoverflow.com sembra aver risolto il problema ambientale, ma non ci sono ancora dati nel grafico.
Aggiornamento n. 3 : grazie al suggerimento di @ Heath ho aumentato il livello di registrazione del poller e ho riscontrato questo:
ATTENZIONE: risultato da CMD non valido. Risultato parziale: U
Non ho avuto fortuna Cercare su Google cosa significa "Risultato parziale: U". Lo script stampa solo un singolo valore intero.
Aggiornamento n. 4 : finalmente l'ho fatto funzionare. Il problema principale era la mancanza di ambiente durante l'esecuzione dello script della shell. Ho dovuto risolvere questo prefisso il mio script Ruby con le seguenti righe:
#! / Bin / sh PATH = / usr / local / bin: $ PATH exec ruby -x "/ full / path / to / script / directory" $ 0 "$ @" #! / usr / bin / env ruby
E il problema secondario era la corretta configurazione dei metodi di immissione dei dati (uno per ciascuna metrica separata che volevo raccogliere, anche se tutti usavano lo stesso script) che alimenta le origini dati che alimentano i modelli di dati (o viceversa, I ' Non sono ancora chiaro su quello) che alimenta i modelli di grafici che devono essere assegnati ai dispositivi, quindi aggiunti agli alberi dei grafici. In sintesi, è una grande debacle con merda per la documentazione e spero di non doverlo mai più fare.
Aggiornamento n. 5 : ho condiviso il mio script su GitHub http://github.com/trak3r/cacti-beanstalkd-script