This is the documentation page for an unsupported version of Zabbix.
Is this not what you were looking for? Switch to the current version or choose one from the drop-down menu.

4 ユーザーパラメータ

概要

Zabbixで事前に定義されていないエージェントチェックを実行するのが必要となります。ユーザーパラメータは、その際に役立ちます。

希望のデータの検索を行うコマンドを書き、エージェント設定ファイルのユーザーパラメータ(「UserParameter」設定パラメータ)に含めることができます。

ユーザーパラメータの構文は以下のとおりです。

UserParameter=<key>,<command>

ユーザーパラメータにはキーも含まれます。アイテムを設定する時にキーが必要になります。参照が容易なキーを決めて(ホスト内で一意である必要があります)入力します。エージェントを再起動します。

次に、 アイテムを設定する時に実行したいコマンドをユーザーパラメータから参照するキーを入力します。

ユーザーパラメータは、Zabbixエージェントが実行するコマンドです。データは512KBまで返すことができます。** /bin/sh**がUNIXオペレーティングシステムでコマンドラインインタープリターとして使用されます。このようにして、Zabbixエージェントの機能を強化することができます。

ユーザーパラメータの使用方法については、ステップ式チュートリアルを参照してください。

単純なユーザーパラメータの例

単純なコマンドの一例

UserParameter=ping,echo 1

エージェントは、「ping」キーを持つアイテムに対して、常に「1」を返します。

より複雑な例:

UserParameter=mysql.ping,mysqladmin -uroot ping|grep -c alive

MySQLサーバが動作中の場合には、「1」を返します。それ以外は「0」を返します。

柔軟なユーザーパラメータ

柔軟なユーザーパラメータは、キー付きのパラメータを受け取ります。柔軟なユーザーパラメータは、複数のアイテムを作成する際の基礎となります。

柔軟なユーザーパラメータの構文は以下のとおりです。

UserParameter=key[*],command
パラメータ 説明
キー なアイテムキーを設定します。
[*] は、当該キーが括弧内のパラメータを受け入れることを定義します。
アイテムを設定する時にパラメータが指定されます。
コマンド キーの を評価するために実行するコマンド。
アイテムキー内の各パラメータを参照するには、位置参照として$1~$9を使用します。
Zabbixは、アイテムキーの[ ] 内に記載されているパラメータを解析し、コマンドの $1,…,$9を置換します。
$0 は元のコマンドに置換され($0,…,$9の展開前)実行されます。

位置基準を変更せずに使用するには、awk '{print $$2}'というように、ドル記号を入れてください。この場合、実際には$$2はコマンドを実行した時に$2に変わります。

$記号内の位置基準は、ダブル(”) またはシングル (') クォートに囲まれているなしに関係なく、Zabbixエージェントによって解釈されます。

UnsafeUserParametersエージェントデーモン設定オプションが無効に設定されている場合、当該記号を含む柔軟なパラメータの受渡しが許可されません。 \ ' ” ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @

テキストを返すユーザーパラメータ(文字、ログ、テキスト型の情報)は、空白のみを返すことができるようになりました。その場合、戻り値は空白文字列に設定されます(2.0以降でサポート)。無効値が返された場合には、エージェントからZBX_NOTSUPPORTEDが返されます。

例 1

非常にシンプルな例:

UserParameter=ping[*],echo $1

フォーマットping[任意文字列]を有するすべてを監視するために、数に制限無くアイテムを定義することができます。

  • ping[0] - 常に「0」が返されます。
  • ping[aaa] - 常に「aaa」が返されます。
例 2

より具体的な例:

UserParameter=mysql.ping[*],mysqladmin -u$1 -p$2 ping | grep -c alive

このパラメータは、MySQLデータベースの稼働率を監視するために使用することができます。ユーザー名およびパスワードを渡すことができます。

mysql.ping[zabbix,our_password]
例 3

1つのファイル内で、正規表現に一致する行数を求めるパラメータの例

UserParameter=wc[*],grep -c "$2" $1

このパラメータは、1ファイル内の行数を算出するために使用されます。

wc[/etc/passwd,root]
       wc[/etc/services,zabbix]

本ページは2014/08/05時点の原文を基にしておりますので、内容は必ずしも最新のものとは限りません。
最新の情報は、英語版のZabbix2.2マニュアルを参照してください。