読者です 読者をやめる 読者になる 読者になる

spineで独自スクリプトのデータが取得できない

cactiにspineを導入してみたところ、独自に作成していた "Data Input Methods" が "Script/Command" なスクリプトでデータが取得できなくなりました。


原因はスクリプトの出力が、下記のように行の終端に半角スペースが含まれているためでした(配列を foreach で "$key:$val " のように出力していたため)。

"Data1:$Data1 Data2:$Data2 "

下記のように終端の半角スペースが付かないようにすると正常に動作するようになりました。めでたしめでたし。

"Data1:$Data1 Data2:$Data2"

cmd.php の場合は終端の半角スペースは無視されるようですが、spain だとダメなようです。

確認時に使用した直接spineを実行する方法

sudo -u cactiuser /usr/local/spine/bin/spine -R -V=5

ただし、まだ↓のような警告が出ています。

WARNING: Spine NOT running asroot.  This is require if using ICMP.  Please run "chmod +s;chown root:root spine" to resolve

ping で Raw Socket を使うために spain を setuid しておいた方が良い。という警告だと思います。