私は次のような形式でデータを出力するサボテンのphpスクリプトを作成しました:<variable>:<value>
スクリプトの出力:temperature:20 humidity:15
次に、入力文字列がphp <path_cacti>/scripts/getTempHumData.php <Host>
のデータ入力メソッドを作成しました。スクリプトは、cactiフォルダー/スクリプトに配置されます。
入力フィールドはホスト名です-スクリプトでは$ ARGV [0]変数として使用しています。
出力フィールドは2つです-温度と湿度。
次に、そのスクリプトをデバイスに割り当て、必要なすべてを追加して、デバイスのSNMP使用をオフにしました。デバイスのステータスは「アップ」です。
次に、グラフテンプレートとグラフを作成し、グラフツリーに割り当てました。しかし、グラフは見えません-それは画像が見つからないことを示しているだけです(ブラウザの小さな赤いx)。
定数を同じ形式で渡すようにスクリプトを編集しました。cacti/ log/cacti.logを調べましたが、ホストIPのエントリがありません。
また、グラフに必要なrrdファイルはありません-デバッグモードでは作成しようとしますが、rrdファイルは作成されません。また、データソースパスにポイントされているrrdファイルが存在しません。
どうすればこのエラーを解決できますか?
前もって感謝します。
スクリプトコード:
<?php
/*$content = file_get_contents("http://".$ARGV[0]);
$air_temperature = null;
$air_humidity = null;
$xml = simplexml_load_string($content);
$air_temperature = $xml->Item[1]->Value;
$air_humidity = $xml->Item[2]->Value;
echo "temperature:".$air_temperature." humidity:".$air_humidity;*/
echo "temperature:20 humidity:15";
?>
RRDファイルは自動的に作成されません。もちろん、デバッグをオンにしたときに指定されるコマンドを実行した後、RRDファイルを取得しました。ただし、NaN値は必要な値ごとに表示されます。
サボテングラフでNaNを引き起こす可能性があるさまざまな問題があります。
最善の方法は、 Cactiドキュメントのデバッグチェックリスト を実行することです。