2011年8月27日土曜日

zabbix-agentでapachectlからデータを取得するUserParameterを設定したらコケた

ちょっとはまったのでメモ。

apacheには
apachectl status
 とコマンドを打つとapache(httpd)の情報を出力してくれるスクリプトが付属しているのですが、Zabbixでこの情報を整形して取得しようとするとエラーが起きることがあります。

zabbix-agentのログに
ERROR at home.c:149: Unable to find or create ELinks config directory. Please check if you have $HOME variable set correctly and if you have write permission to your home directory.
などと出力されていた場合、apachectlが呼び出しているlinksコマンドが指定されたホームディレクトリに書きこもうとしたときにコケて出るエラーです。

この場合の対処法としては、apachectlを別名でコピーして、linksコマンドを呼び出している部分にオプションを追加すればOKです。

cp /usr/sbin/apachectl /usr/sbin/apachectl2
vi apachectl2 
- LYNX="/usr/bin/links -dump"
+ LYNX="/usr/bin/links -dump -no-home"
あとはUserParameterのapachectlと呼び出している部分をapachectl2に書き換えればOK。

0 件のコメント:

コメントを投稿