(Veja abaixo para atualizações ...)
Eu escrevi um script de método de entrada de dados para o Cacti (em Ruby, para coletar estatísticas do beanstalkd) e funciona na linha de comando (retornando um único inteiro simples, conforme documentado aqui ) quando executado como a conta de usuário do cacti, mas a ferramenta Cacti por si só não está coletando nenhum dado e não há nada nos logs.
Aqui está a configuração dos Métodos de entrada de dados: Método de entrada de dados do Cacti http://img.skitch.com/20091009-gh7g1kukn9yradj6y2iqrd5qm1.jpg
E aqui está o gráfico resultante (depois de ter sido adicionado ao modelo de gráfico de um host e deixado para ser executado o tempo suficiente para coletar dados): Gráfico de Cactos http://img.skitch.com/20091009-xq1kn3qxkteb5hb11wtx6tbs8m.jpg
Atualização # 1 : Parece que o Cacti pode estar removendo o ambiente:
sudo su - cacti -c 'env -i / script / beanstat --host 10.11.12.13 --port 11300 --stat current-waiting' / script / beanstat: 4: em `require ': nenhum arquivo para carregar - rubygems (LoadError) from / script / beanstat: 4
Se for esse o caso, como posso resolver isso?
Atualização 2 : esta resposta no stackoverflow.com parece ter resolvido o problema do ambiente, mas ainda não há dados no gráfico.
Atualização # 3 : Graças à sugestão de @ Heath, subi no nível de registro de pesquisas e peguei o seguinte:
AVISO: O resultado do CMD não é válido. Resultado parcial: U
Não tive sorte pesquisando no Google o que "Resultado Parcial: U" significa. O script apenas imprime um único valor inteiro.
Atualização # 4 : Finalmente consegui fazer isso funcionar. O principal problema foi a falta de ambiente quando o shell script é executado. Eu tive que resolver isso prefixando meu script Ruby com as seguintes linhas:
#! / bin / sh PATH = / usr / local / bin: $ PATH exec ruby -x "/ completo / caminho / para / script / diretório" $ 0 "$ @" #! / usr / bin / env ruby
E a questão secundária era a configuração adequada dos métodos de entrada de dados (um para cada métrica separada que eu queria coletar, embora todos usassem o mesmo script) que alimenta as fontes de dados que alimentam os modelos de dados (ou vice-versa, eu ' (ainda não estou claro sobre isso), que alimenta os modelos de gráfico que precisam ser atribuídos aos dispositivos e depois adicionados às árvores de gráfico. Em resumo, é uma grande falha na documentação e espero nunca ter que fazê-lo novamente.
Atualização # 5 : compartilhei meu script no GitHub http://github.com/trak3r/cacti-beanstalkd-script