Zabbix Documentation 2.2

2.23.04.04.2 (current)In development:4.4 (devel)Unsupported:1.82.02.43.23.4

User Tools

Site Tools

This translation is older than the original page and might be outdated. See what has changed.

Sidebar

jp:manual:config:items:userparameters

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マニュアルを参照してください。